]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
[grub2.git] / ChangeLog
CommitLineData
e343549c
VS
12013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4
45fbd9a2
VS
52013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Add missing video ids to coreboot and ieee1275 video.
8
ab1440bd
VS
92013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * util/grub-mkrescue.in: Add mips-arc support.
12
cdeb8324
VS
132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
16
8528c879
VS
172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Move mips-arc link address. Previous link address was chosen
20 in belief that RAM on SGI platforms grows down while in fact it
21 grows up from an unusual base.
22
17fca573
VS
232013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
26 Fix a type which prevented CD-ROM and floppy boot.
27
d178788e
VS
282013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Support coreboot framebuffer.
31
32 * grub-core/video/i386/coreboot/cbfb.c: New file.
33
fe4c3e7e
VS
342013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
37 detecting too small regions.
38
ec2dd179
VS
392013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
42
872dac83
VS
432013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
46 Remove dprintf.
47 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
48
90ec4b7f
VS
492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
52 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
53 * grub-core/loader/powerpc/ieee1275/linux.c
54 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
55
f32555dd
VS
562013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
59 Look for /boot-rom as well as /rom/boot-rom.
60
38649799
VS
612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
64 handling when creating text_layer failed.
65 * grub-core/video/video.c (grub_video_create_render_target):
66 Set result to 0 on error.
67 (grub_video_delete_render_target): Do not dereference NULL.
68
aeace7f7
VS
692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
72 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
73 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
74 (grub_linux_load64): Mask out 2 high bits.
75
4eafa175
AB
762013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
77
78 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
79 more place.
80
daaa64bd
VS
812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Add support for pseries and other bootinfo machines to grub-mkrescue.
84
85 Tested by: Paulo Flabiano Smorigo.
86
d0d2daa6
VS
872013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * util/grub-mkrescue.in: Add GPT for EFI boot.
90
b193e100
VS
912013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
94 It improves performance in qemu.
95
a0f8f3ac
VS
962013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * build-aux/snippet: Add missing gnulib files.
99
284df0e2
AB
1002013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
101
102 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
103
740201f3
AB
1042013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
105
106 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
107
a7e03923
PJ
1082013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1092013-04-15 Peter Jones <pjones@redhat.com>
110
111 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
112 sectors.
113 Based on patch by Peter Jones.
114
25fc51a8
VS
1152013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
116
117 Fix DMRAID partition handling.
118
88017d47
VS
1192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * tests/grub_cmd_date.in: Skip on sparc64.
122
fa7d914e
VS
1232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
126 firmware error messages.
127
cbe57a48
VS
1282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
131 source and destination differ.
132
21aecce0
VS
1332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
136 detection.
137
25092d29
VS
1382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
141 match config-util.h to avoid warnings and increase compatibility.
142
79451522 1432013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 1442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
145
146 Add option to compress files on install/image creation.
147
78b7d77b
VS
1482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * docs/grub-dev.texi: Rearrange menu to match the section order.
151 Reported by: Bryan Hundven.
152
cc2fa5ec
VS
1532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
156
b49fe879
VS
1572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Move GRUB out of system area when using xorriso 1.2.9 or later.
160
5351da81
VS
1612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * tests/grub_cmd_date.in: Add missing exit 1.
164
c9d586ea
VS
1652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * tests/partmap_test.in: Skip on sparc64.
168
3f729741
VS
1692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
170
171 Support grub-shell on sparc64.
172
8ca86b3a
VS
1732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Support mkrescue on sparc64.
176
aa1af9bb
VS
1772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Allow IEEE1275 ports on path even if it wasn't detected automatically.
180 Needed on OpenBIOS due to incomplete device tree.
181
ac4fea79
VS
1822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
185 would be otherwise excluded.
186
1872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
188
189 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
190 Inline name defines used only once.
191
fe22b071
VS
1922013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Fix memory leaks in ofnet.
195 Reported by: Francesco Lavra.
196
9d21381b
VS
1972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * docs/man/grub-glue-efi.h2m: Add missing file.
200
07aec23c
VS
2012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
204
67ab8353
VS
2052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Better support Apple Intel Macs on CD.
208
ba44ca6d
VS
2092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
210
211 Replace stpcpy with grub_stpcpy in tools.
212
bbdd6305
VS
2132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
214
215 Handle Japanese special keys.
216 Reported by: Hiroyuki YAMAMORI.
217 Codes supplied by: Hiroyuki YAMAMORI.
218
8573d302
VS
2192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * util/grub-mkimage.c: Document memdisk implying --prefix.
222
d70dbab7
VS
2232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
226 much we can do about it anyway.
227
51a4c3e3
AN
2282013-04-12 Aleš Nesrsta <starous@volny.cz>
229
230 Fix handling of split transfers.
231
92c8f58d
VS
2322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/net/http.c: Fix bad free.
235
b7d17a49
VS
2362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
239 than buffer size.
240
a3d566d4
VS
2412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
242
243 Disable partmap check on i386-ieee1275 due to openfirmware issues.
244
a936af56
VS
2452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * tests/util/grub-shell.in: Fix it on powerpc.
248
51212234
VS
2492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Turn off QEMU ACPI-way since new releases don't have shutdown port
252 anymore.
253
a21eec9e
VS
2542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * docs/grub.texi: Update coreboot status info.
257
e3734b84
VS
2582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * tests/grub_cmd_date.in: New test for datetime.
261
f9d40055
VS
2622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * tests/partmap_test.in: Fix missing qemudisk setting.
265
dbc56d8f
VS
2662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
267
268 Support i386-ieee1275 grub-mkrescue and make check on it.
269
a79b8a15
VS
2702013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
271
272 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
273 feature for it.
274
48f39bb4
VS
2752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
278 GRUB_CMDLINE_XEN_DEFAULT.
279 Reported by: Marc Warne (GigaTux) <gigatux>
280
053cfcdd
VS
2812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Import new gnulib.
284
93cd84df
VS
2852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Use ACPI shutdown intests as traditional port was removed.
288
f4b1fa4f
AB
2892013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
290
291 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
292 distinction.
293
49818a59
VS
2942013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
297 Fix few warining messages and leaks while on it.
298
9277a306
AB
2992013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
300
301 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
302 links under grub-core/lib/libgcrypt-grub/mpi.
303
d5e2a158
VS
3042013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
305
306 Fix ia64-efi image generation on big-endian machines. Deduplicate
307 some code while on it.
308 Reported by: Leif Lindholm.
309
18866643
AB
3102013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
311
312 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
313 as extra_dist.
314
ca53deb8
AB
3152013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
316
317 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
318
d4c4b8e1
BH
3192013-04-08 Bryan Hundven <bryanhundven@gmail.com>
320
321 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
322 texinfo-5.1.
323
47043f95
VS
3242013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/normal/term.c: Few more fixes for menu entry editor
327 rendering.
328 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
329
a3216068
VS
3302013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * grub-core/normal/term.c: Few more fixes for menu entry editor
333 rendering.
334 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
335
21026747
AB
3362013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
337
338 * conf/Makefile.extra-dist (EXTRA_DIST): Add
339 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
340
59624ca8
AB
3412013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
342
343 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
344 instead of hardcoding grub.mo.
345
1f44478c
FN
3462013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
347
348 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
349
eeada7b1
VS
3502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
351
352 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
353 grub-core/disk/geli.c.
354
132867de
VS
3552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * util/grub-mkfont.c: Prefer enum to #define.
358
de73de17
VS
3592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
362
1865baa7
VS
3632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
366
ce7d92a9
VS
3672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
370
52eab656
VS
3712013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
374
98b23b95
VS
3752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * include/grub/bsdlabel.h: Use enums.
378
0467a5dd
VS
3792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Move GRUB_CHAR_BIT to types.h.
382
16cc9f03
AB
3832013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
384
385 * docs/grub.texi: Document more user commands.
386
3152aecb
AB
3872013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
388
389 * docs/grub.texi: Document menuentry --id option.
390
c506fc30
FL
3912013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
392
393 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
394
aa428238
VS
3952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Unify file copying setup across different install scripts. Add
398 options for performing partial install.
399
efe0cdda
PJ
4002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4012013-04-04 Peter Jones <pjones@redhat.com>
402
403 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
404
f75835bd
VS
4052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Use TSC as a possible time source on i386-ieee1275.
408
2cd5ce6c
VS
4092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
412 Init err.
413
c9625630
VS
4142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * util/grub-setup.c (setup): Handle some corner cases.
417
be008941
VS
4182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
421
1a78d573
VS
4222013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/commands/verify.c: Save verified file to avoid it being
425 tampered with after verification was done.
426
db8ff59f
VS
4272013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
430 reported width by one to compensate for curesor algorithm problem.
431
91bf46b1
VS
4322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
433
434 Fix screen corruption in menu entry editor and simplify the code
435 flow while on it.
436
a7b1d693
AB
4372013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
438
439 * util/grub-mount.c (fuse_init): Return error if fuse_main
440 failed.
441
31df9ad8
FL
4422013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
443
444 * include/grub/elf.h: Add missing ARM relocation codes and fix
445 existing ones.
446
07f392eb
VT
4472013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
448
449 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
450
9efd73ec 4512013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
4522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
455 into account when calculating radius.
456
4572013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
458
459 * grub-core/gfxmenu/view.c: Fix off-by-one error.
460
4985ddaa
VT
4612013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
462
463 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
464
8c3635ff
RS
4652013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
466
467 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
468 missing closing bracket.
469
74a35e69
RS
4702013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
471
472 * INSTALL: Mention xorriso requirement.
473
40f1c000
AB
4742013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
475
476 * grub-core/commands/verify.c: Fix hash algorithms values for
477 the first three hashes - they start with 1, not with 0.
478
e75fdee4
VS
4792013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
482 Try terminating EFI services several times due to quirks in some
483 implementations.
484
33028f4c
CW
4852013-03-26 Colin Watson <cjwatson@ubuntu.com>
486
487 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
488 skipping Event, Device, Processor, PowerRes, ThermalZone, and
489 BankField extended opcodes.
490 (get_sleep_type): Add minimal scope handling (just enough to
491 handle setting the scope to the root path).
492 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
493 * include/grub/acpi.h: Add enumeration values for Event, Device,
494 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
495
33871a10
VT
4962013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
497
498 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
499 memory leak.
500
8990963a
VS
5012013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/disk/ahci.c: Give more time for AHCI request.
504
daae8f9e
VS
5052013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
508 command.
509
6a7fb94b
VS
5102013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Replace the region at 0 from coreboot tables to available in BSD
513 memory map.
514
ff99babd
VS
5152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
518 non-BIOS platforms.
519
30d6b1b2
VS
5202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
523 platforms.
524
6ccd0b31
VS
5252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
528 handling of multi-device filesystems.
529
23c9cc04
VS
5302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
533 platforms.
534
ce50dbd7
VS
5352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Add new 'proc' filesystem framework and put luks_script into it.
538
d975e8d5
VS
5392013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
542 and qemu.
543
e73ba5e8
VS
5442013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
547
92750e4c
VS
5482013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Add ability to generate newc additions on runtime.
551
0ec45a68
VS
5522013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
555 description.
556
320abd43
VS
5572013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * po/POTFILES.in: Regenerate.
560
d7a6506e
VS
5612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/commands/verify.c (hashes): Add several hashes
564 from the spec.
565
8fe05def
VS
5662013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Slight improve in USB-related boot-time checkpoints.
569
524e2766
VS
5702013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/commands/boottime.c: Fix copyright header.
573
cc19857a
VS
5742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
575
576 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
577 coreboot tables content. Support for cbmemc.
578
ef8810e9
VS
5792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Fix a conflict between ports structures with 2 controllers of
582 same kind.
583
e9dabdfa
VS
5842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * include/grub/boottime.h: Add missing file.
587
f6df57d2
VS
5882013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
589
590 Initialize USB ports in parallel to speed-up boot.
591
d745dda7
VS
5922013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Fix USB devices not being detected when requested
595 due to delayed attach.
596
e5a2dd7b
VS
5972013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
598
e744219b
VS
599 Implement boot time analysis framework.
600
6012013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
604 descriptor to just receive it as argument rather than endpoint
605 address.
606
5dd6f587
VS
6072013-03-19 Aleš Nesrsta <starous@volny.cz>
608
609 Better estimate the maximum USB transfer size.
610
2f1071d5
VS
6112013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
612
613 Resend a packet if we got the wrong buffer in status.
614
46ecfc49
VS
6152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
618 multiplication rather than division.
619
ea811130
VS
6202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
623 than divisions.
624
d2789cf0
VS
6252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
628 operations to have intended shifts and not divisions.
629
a9c94590
VS
6302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
633 intended shifts rather than division.
634
84cfe81b
VS
6352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
638 computation for some years before epoch. Avode confusing division
639 while on it.
640
21344ef6
VS
6412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/video/i386/pc/vbe.c
644 (grub_video_vbe_print_adapter_specific_info): Replace division by
645 shifts.
646
3f2b4d1a
VS
6472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Adjust types in gdb module to have intended unsigned shifts rather than
650 signed divisions.
651
3dac5878
VS
6522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
655 maximum size is 4G - 1 on hfs
656
5341c0fb
VS
6572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
660
fc3ff2a2
VS
6612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
664 function.
665
81455e8e
AB
6662013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
667
668 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
669 causing gcc error with gcc 4.7.1.
670
efd4f117
NZ
6712013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
672
673 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
674 dereference null pointer. While the code is technically correct, gcc
675 may eliminate a null check if pointer is already dereferenced.
676
e11645f4
NZ
6772013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
678
679 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
680 OOM check.
681 * grub-core/normal/term.c (read_terminal_list): Likewise.
682
77468368
VS
6832013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Lift up core size limits on some platforms. Fix potential memory
686 corruption with big core on small memory systems. Document remaining
687 limits.
688
f6b58fe5
VS
6892013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
692 gotoxy to 0,0.
693
19ce697d
VS
6942013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
695
696 Remove all trampoline support. Add -Wtrampolines when
697 present. Remove symbols used for trampolines to make
698 link fail if trampolines are present.
699
73b5d90f
VS
7002013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
703 append out of its parent.
704
cb758e96
VS
7052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
708 parent.
709
3188131f
VS
7102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
713 all vars to a macro. All users updated.
714
e42b2514
VS
7152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/disk/ieee1275/nand.c: Fix compilation on
718 i386-ieee1275.
719
83e1a1a1
VS
7202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
723
1d5a880f
VS
7242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
727
6e4146c4
VS
7282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
729
730 Move to more hookless approach in IEEE1275 devices handling.
731
99fcda8a
VS
7322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/kern/term.c (grub_term_normal_color),
735 (grub_term_highlight_color): Add back lost defaults.
736
73bf57e2
VS
7372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
738
739 Make elfload not use hooks. Opt for flags and iterators instead.
740
7f8c105f
VS
7412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
744 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
745
396d4091
VS
7462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/script/execute.c (gettext_append): Remove nested functions.
749
7502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
753 hook pass-through parameter. All users updated and unnested.
754
74a27421
VS
7552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
758 out of its parent.
759
b46d4213
VS
7602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/fs/hfs.c: Remove nested functions.
763
e114c3cc
VS
7642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
767 the context through.
768 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
769
f9b7d780
VS
7702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * util/grub-editenv.c (list_variables): Move print_var out of its
773 parent.
774
ca9c2608
VS
7752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
778 function.
779
5d983f5f
VS
7802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/gentrigtables.c: Make tables const.
783
3056d3e7
VS
7842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Remove nested functions from videoinfo iterators.
787
e2303774
VS
7882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
791 for 64-bit platforms.
792
f42e3a2f
VS
7932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
796 a FOR_CHILDREN macro.
797
be174e5e
VS
7982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
801 platform from firmware path.
802
0789b672
VS
8032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Enable linux16 on non-BIOS systems for i.a. memtest.
806
807 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
808 correctly.
809 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
810
005a9c32
VS
8112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
814 Fix end of table condition.
815
ff2b3cd9
VS
8162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
819 out of its parent.
820
4fc40ff8
VS
8212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/fs/jfs.c: Remove nested functions.
824
be42d97a
VS
8252013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/fs/minix.c: Remove nested functions.
828
99373ce4
VS
8292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/fs/iso9660.c: Remove nested functions.
832
5aec2afe
VS
8332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
836 of parent function.
837
6c69e691
VS
8382013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * util/grub-fstest.c: Remove nested functions.
841
43c91882
VS
8422013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/loader/machoXX.c: Remove nested functions.
845
4eb8b756
CW
8462013-02-27 Colin Watson <cjwatson@ubuntu.com>
847
848 Remove nested functions from disk and file read hooks.
849
850 * include/grub/disk.h (grub_disk_read_hook_t): New type.
851 (struct grub_disk): Add read_hook_data member.
852 * include/grub/file.h (struct grub_file): Likewise.
853 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
854 argument.
855
856 Update all callers.
857
df6da5a5
AB
8582012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
859
860 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
861 Fix off by one error in enumerating extended partitions.
862
21aecde5
AB
8632013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
864
865 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
866 memory leak if device name is not found.
867
f1a19118
AB
8682013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
869
870 * grub-core/normal/menu_entry.c (update_screen): remove
871 unused variable `off' which caused scroll down arrow to be always shown.
872
958bfd20
AB
8732013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
874
875 * grub-core/normal/menu_entry.c (insert_string): fix off by one
876 access to unallocated memory.
877
b7b78edb
AB
8782013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
879
880 * Makefile.util.def: Add partmap/msdos.c to common library.
881 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
882 * grub-core/disk/ldm.c: Check for existence of
883 GRUB_PC_PARTITION_TYPE_LDM.
884
28d468d6
VS
8852013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
888 sizes and display sector size.
889
d55ffb02
VS
8902013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Implement new command cmosdump.
893
b5ea6ce0
VS
8942013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
895
896 Support Openfirmware disks with non-512B sectors.
897
898 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
899 size of the disk.
900 * (grub_ofdisk_get_block_size): New function.
901 * (grub_ofdisk_prepare): Use the correct block size.
902 * (grub_ofdisk_read): Likewise.
903 * (grub_ofdisk_write): Likewise.
904 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
905 New proto.
906
cc0e476f
VS
9072013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
910
c5dbdc33
VS
9112013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
914 on first error.
915
3f078c0f
VS
9162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
919 freeing it.
920
66a93674
VS
9212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
922
923 Implement USBDebug (full USB stack variant).
924
c9f0c134
VS
9252013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
928 unless they have unexpected values.
929
cfe1288b
VS
9302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
933 grub_print_error.
934
e42b9969
VS
9352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
938 zero-out of port structure.
939
cf94fd62
VS
9402013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
943 of extended attributes.
944
f81ef4b5
AB
9452013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
946
947 * util/grub-install.in: change misleading comment about
948 device.map creation
949
af18fdb4
VS
9502013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
953 when menu highlight color isn't set.
954
08bcec50
M
9552013-01-27 C. Masloch <pushbx@38.de>
956
957 Improve FreeDOS direct loading support compatibility.
958
959 * include/grub/i386/relocator.h (grub_relocator16_state):
960 New member ebp.
961 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
962 variable.
963 (grub_relocator16_boot): Handle %ebp.
964 * grub-core/lib/i386/relocator16.S: Likewise.
965 * grub-core/loader/i386/pc/freedos.c:
966 Load BPB to pass kernel which partition to load from.
967 Check that kernel file is not too large.
968 Set register dl to BIOS unit number as well.
969
7782b8a6
CW
9702013-01-22 Colin Watson <cjwatson@ubuntu.com>
971
972 * util/grub-reboot.in (usage): Document the need for
973 GRUB_DEFAULT=saved.
974 * util/grub-set-default.in (usage): Likewise.
975 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
976
e661c180
VS
9772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
980 than defining WORDS_BIGENDIAN manually.
981
1c22ca9a
VS
9822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
985 invariants.
986
d44892fe
CW
9872013-01-21 Colin Watson <cjwatson@ubuntu.com>
988
989 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
990 nested.
991 (blit_comb: add_device_width): Likewise.
992
5fdbaed1
CW
9932013-01-21 Colin Watson <cjwatson@ubuntu.com>
994
995 Remove nested functions from USB iterators.
996
997 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
998 (grub_usb_controller_iterate_hook_t): Likewise.
999 (grub_usb_iterate): Add hook_data argument.
1000 (grub_usb_controller_iterate): Likewise.
1001 (struct grub_usb_controller_dev.iterate): Likewise.
1002
1003 Update all implementations and callers.
1004
4250985a
VS
10052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1008 margin when not needed.
1009
7d8848f3
VS
10102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1011
bc136973 1012 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1013
10142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1015
bc136973
VS
1016 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1017 asterisk.
7d8848f3 1018
ed12a003
CW
10192013-01-21 Colin Watson <cjwatson@ubuntu.com>
1020
1021 Fix powerpc and sparc64 build failures caused by un-nesting memory
1022 map iterators.
1023
6a0db449
CW
10242013-01-21 Colin Watson <cjwatson@ubuntu.com>
1025
1026 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1027 parameter declarations.
1028
ccd86b21
VS
10292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1032
822b726b
VS
10332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Improve spkmomdem reliability by adding a separator between bytes.
1036
115c2cc1
CW
10372013-01-21 Colin Watson <cjwatson@ubuntu.com>
1038
1039 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1040 an Acer registration utility with several sightings in the wild.
1041 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1042
fc524edf
CW
10432013-01-21 Colin Watson <cjwatson@ubuntu.com>
1044
1045 Remove nested functions from filesystem directory iterators.
1046
1047 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1048 (struct grub_fs.dir): Add hook_data argument.
1049
1050 Update all implementations and callers.
1051
53d3e4e3
CW
10522013-01-21 Colin Watson <cjwatson@ubuntu.com>
1053
1054 * docs/grub.texi (Multi-boot manual config): Fix typo for
1055 "recommended".
1056
c821711f
LL
10572013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1058
1059 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1060 until after its use in generate_image.
1061
6a0debbd
CW
10622013-01-20 Colin Watson <cjwatson@ubuntu.com>
1063
1064 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1065 initrd size to addr_min, since the initrd will be allocated after
1066 this address.
1067
f41e08db
AB
10682013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1069
1070 * conf/Makefile.common: Fix autogen rules to pass definition
1071 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1072
77529e0f
LL
10732013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1074
1075 * include/grub/elf.h: Update ARM definitions based on binutils.
1076
b879aa7b
VS
10772013-01-20 Aleš Nesrsta <starous@volny.cz>
1078
1079 Split long USB transfers into short ones.
1080
8eb8284d
AB
10812013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1082
1083 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1084 is interrupted by ESC.
1085
08dad2dc
VS
10862013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * util/grub-script-check.c (main): Uniform the error message.
1089
6c724b85
CW
10902013-01-20 Colin Watson <cjwatson@ubuntu.com>
1091
1092 Remove nested functions from ELF iterators.
1093
25239370
CW
10942013-01-20 Colin Watson <cjwatson@ubuntu.com>
1095
1096 Remove nested functions from device iterators.
1097
1098 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1099 (grub_arc_iterate_devs): Add hook_data argument.
1100 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1101 (struct grub_ata_dev.iterate): Add hook_data argument.
1102 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1103 (grub_device_iterate): Add hook_data argument.
1104 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1105 (struct grub_disk_dev.iterate): Add hook_data argument.
1106 (grub_disk_dev_iterate): Likewise.
1107 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1108 Likewise.
1109 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1110 Likewise.
1111 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1112 type.
1113 (struct grub_partition_map.iterate): Add hook_data argument.
1114 (grub_partition_iterate): Likewise.
1115 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1116 (struct grub_scsi_dev.iterate): Add hook_data argument.
1117
1118 Update all callers.
1119
6c0314d6
CW
11202013-01-20 Colin Watson <cjwatson@ubuntu.com>
1121
1122 Fix typos for "developer" and "development".
1123
600dc5f1
VS
11242013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Add license header to spkmodem-recv.c.
1127
17334a6b
VS
11282013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Rewrite spkmodem to use PIT for timing. Double the speed.
1131
7d462559
VS
11322013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 Add new command pcidump.
1135
b78d6c32
VS
11362013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 New terminal outputs using serial: morse and spkmodem.
1139
34f71cb8
VS
11402013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Improve bidi handling in entry editor.
1143
4542e71b
VS
11442013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1147 argument to prevent name collision.
1148
09fd6d82
CW
11492013-01-15 Colin Watson <cjwatson@ubuntu.com>
1150
1151 Remove nested functions from script reading and parsing.
1152
1153 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1154 getline_data argument, passed to getline.
1155 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1156 getline_data argument, passed to grub_parser_split_cmdline.
1157 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1158 lexerstate->getline_data to lexerstate->getline.
1159 (grub_script_lexer_init): Add getline_data argument, saved in
1160 lexerstate->getline_data.
1161 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1162 argument, passed to grub_script_parse.
1163 * grub-core/script/script.c (grub_script_parse): Add getline_data
1164 argument, passed to grub_script_lexer_init.
1165 * include/grub/parser.h (grub_parser_split_cmdline): Update
1166 prototype. Update all callers to pass appropriate getline data.
1167 (struct grub_parser.parse_line): Likewise.
1168 (grub_rescue_parse_line): Likewise.
1169 * include/grub/reader.h (grub_reader_getline_t): Add void *
1170 argument.
1171 * include/grub/script_sh.h (struct grub_lexer_param): Add
1172 getline_data member.
1173 (grub_script_parse): Update prototype. Update all callers to pass
1174 appropriate getline data.
1175 (grub_script_lexer_init): Likewise.
1176 (grub_normal_parse_line): Likewise.
1177
1178 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1179 data argument.
1180 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1181 static instead of nested. Rename to ...
1182 (grub_parser_execute_getline): ... this.
1183 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
1184 data argument.
1185 * grub-core/normal/main.c (read_config_file: getline): Make static
1186 instead of nested. Rename to ...
1187 (read_config_file_getline): ... this.
1188 (grub_normal_read_line): Add unused data argument.
1189 * grub-core/script/execute.c (grub_script_execute_sourcecode:
1190 getline): Make static instead of nested. Rename to ...
1191 (grub_script_execute_sourcecode_getline): ... this.
1192 * util/grub-script-check.c (main: get_config_line): Make static
1193 instead of nested.
1194
d0d4b8a0
CW
11952013-01-15 Colin Watson <cjwatson@ubuntu.com>
1196
1197 Remove nested functions from memory map iterators.
1198
1199 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
1200 argument, passed to hook.
1201 * grub-core/kern/i386/coreboot/mmap.c
1202 (grub_linuxbios_table_iterate): Likewise.
1203 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
1204 instead of nested.
1205 (grub_machine_mmap_iterate): Add hook_data argument.
1206 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
1207 Add hook_data argument, passed to hook.
1208 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
1209 Likewise.
1210 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1211 Likewise.
1212 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
1213 Likewise.
1214 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
1215 Likewise.
1216 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
1217 Likewise.
1218 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
1219 Likewise.
1220 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
1221 (grub_machine_mmap_iterate): Likewise.
1222 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
1223 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
1224 prototype.
1225 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
1226 Remove NESTED_FUNC_ATTR from here and from all users.
1227 (grub_mmap_iterate): Update prototype.
1228 (grub_efi_mmap_iterate): Update prototype. Update all callers to
1229 pass appropriate hook data.
1230 (grub_machine_mmap_iterate): Likewise.
1231
1232 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
1233 static instead of nested.
1234 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
1235 Rename to ...
1236 (lsmmap_hook): ... this.
1237 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
1238 Likewise.
1239 (grub_efiemu_mmap_fill: fill_hook): Likewise.
1240 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
1241 heap_init): Likewise.
1242 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
1243 Rename to ...
1244 (mmap_iterate_hook): ... this.
1245 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
1246 Likewise.
1247 * grub-core/lib/ieee1275/relocator.c
1248 (grub_relocator_firmware_get_max_events: count): Likewise.
1249 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
1250 to ...
1251 (grub_relocator_firmware_fill_events_iter): ... this.
1252 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
1253 hook): Likewise. Rename to ...
1254 (grub_relocator_alloc_chunk_align_iter): ... this.
1255 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
1256 Rename to ...
1257 (generate_e820_mmap_iter): ... this.
1258 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
1259 Rename to ...
1260 (count_hook): ... this.
1261 (grub_linux_boot: hook): Likewise. Rename to ...
1262 (grub_linux_boot_mmap_find): ... this.
1263 (grub_linux_boot: hook_fill): Likewise. Rename to ...
1264 (grub_linux_boot_mmap_fill): ... this.
1265 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
1266 hook): Likewise. Rename to ...
1267 (grub_fill_multiboot_mmap_iter): ... this.
1268 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
1269 hook): Likewise. Rename to ...
1270 (count_hook): ... this.
1271 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
1272 hook): Likewise. Rename to ...
1273 (grub_fill_multiboot_mmap_iter): ... this.
1274 * grub-core/loader/powerpc/ieee1275/linux.c
1275 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
1276 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
1277 Likewise. Rename to ...
1278 (alloc_phys_choose): ... this.
1279 (determine_phys_base: get_physbase): Likewise.
1280 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
1281 find_hook): Likewise.
1282 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
1283 (malloc_hook: count_hook): Likewise.
1284 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
1285 Likewise. Rename to ...
1286 (lower_hook): ... this.
1287 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1288 (upper_hook): ... this.
1289 (grub_mmap_get_post64: hook): Likewise. Rename to ...
1290 (post64_hook): ... this.
1291 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
1292 Likewise. Rename to ...
1293 (lower_hook): ... this.
1294 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1295 (upper_hook): ... this.
1296 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
1297 (grub_mmap_iterate: fill_hook): Likewise.
1298 (fill_mask): Pass addr and mask within a single struct.
1299 (grub_cmd_badram: hook): Make static instead of nested. Rename
1300 to ...
1301 (badram_iter): ... this.
1302 (grub_cmd_cutmem: hook): Likewise. Rename to ...
1303 (cutmem_iter): ... this.
1304
22099030
VS
13052013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
1308 delimit path in strings using quotes.
1309 * util/getroot.c (grub_guess_root_devices): Likewise.
1310 (grub_make_system_path_relative_to_its_root): Likewise.
1311 * util/grub-probe.c (probe): Likewise.
1312 * util/ieee1275/ofpath.c (find_obppath): Likewise.
1313 (xrealpath): Likewise.
1314
4a9950ec
VS
13152013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 Fix compilation with older compilers.
1318
1319 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
1320 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
1321 declarations.
1322 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
1323 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
1324 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
1325 identifier with b.
1326 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
1327 * include/grub/crypto.h: Add type defines.
1328 * util/import_gcrypth.sed: Remove duplicate type defines.
1329
adcc6020
VS
13302013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 New command list_trusted.
1333
1334 * grub-core/commands/verify.c (grub_cmd_list): New function.
1335
a4528937
CW
13362013-01-13 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * util/grub-mkimage.c (generate_image): Fix "size of public key"
1339 info message.
1340
ca3a7446
CW
13412013-01-13 Colin Watson <cjwatson@ubuntu.com>
1342
1343 Remove nested functions from PCI iterators.
1344
1345 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
1346 passed to hook. Update all callers to pass appropriate hook data.
1347 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
1348 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1349 Remove NESTED_FUNC_ATTR from here and from all users.
1350 (grub_pci_iterate): Update prototype.
1351 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1352 instead of nested. Rename to ...
1353 (grub_cs5536_find_iter): ... this.
1354 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1355 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1356 Likewise.
1357 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1358 Likewise.
1359 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1360 Likewise.
1361 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1362 Likewise.
1363 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1364 * grub-core/video/radeon_fuloong2e.c
1365 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1366 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1367 find_card): Likewise.
1368 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1369 Likewise.
1370
f8e98fee
VS
13712013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/commands/verify.c: Mark messages for translating.
1374
055b36b6
VS
13752013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1378 fatal.
1379
f7ff879b
VS
13802013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1383 fatal.
1384
13852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
1386
1387 * autogen.sh: Do not try to delete nonexistant files.
1388 * util/import_gcrypth.sed: Add some missing header removals.
1389
01323d49
CW
13902013-01-12 Colin Watson <cjwatson@ubuntu.com>
1391
1392 Clean up dangling references to grub-setup.
1393 Fixes Ubuntu bug #1082045.
1394
1395 * docs/grub.texi (Images): Refer generally to grub-install rather
1396 than directly to grub-setup.
1397 (Installing GRUB using grub-install): Remove direct reference to
1398 grub-setup.
1399 (Device map) Likewise.
1400 (Invoking grub-install): Likewise.
1401 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1402 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1403 * util/grub-install.in (usage): Likewise.
1404
1405 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1406 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1407 grub-setup.
1408 * configure.ac: Remove grub_setup output variable.
1409
1410 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1411 to grub-bios-setup.
1412 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1413 grub-setup to grub-sparc64-setup.
1414
5e3b8dcb
VS
14152013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 Import gcrypt public-key cryptography and implement signature checking.
1418
535714bd
VS
14192013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/fs/ntfs.c: Ue more appropriate types.
1422 * grub-core/fs/ntfscomp.c: Likewise.
1423 * include/grub/ntfs.h: Likewise.
1424
3e4f3566
VS
14252013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Support Apple FAT binaries on non-Apple platforms.
1428
1429 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1430 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1431 Likewise.
1432 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1433 Apple FAT binaries.
1434
4dedb13f
VS
14352013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1438 sector devices.
1439
f8861eaf
CW
14402013-01-07 Colin Watson <cjwatson@ubuntu.com>
1441
1442 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1443 explicitly zeroing elements.
1444 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1445 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1446 of elements in a structure already allocated using grub_zalloc.
1447 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1448
86065b0a
CW
14492013-01-07 Colin Watson <cjwatson@ubuntu.com>
1450
1451 * docs/grub.texi (grub_cpu): New subsection.
1452 (grub_platform): Likewise.
1453
c6f1e92f
VS
14542013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1457
f797ec85
VS
14582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1461 divisions.
1462
033d0b4b
VS
14632013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1466 * grub-core/fs/ntfscomp.c: Likewise.
1467 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1468 (grub_ntfs_comp): Likewise.
1469
21d1b9a0
VS
14702013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1473 Rename to ...
1474 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1475 of groups_per_block. All users updated.
1476
10ca8645
VS
14772013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1480 grub_error properly.
1481 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1482 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1483
a4c3ed4c
VS
14842013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1487 always in /boot/zfs.
1488 Reported by: Yuta Satoh.
1489
0b716507
YS
14902013-01-03 Yuta Satoh <nigoro>
1491
1492 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1493 ${grub_probe}
1494
00c05e22
VS
14952013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * configure.ac: Extend -Wno-trampolines to host.
1498
dadddb76
VS
14992013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1502 entry->len = 0.
1503
54ce53ca
CW
15042013-01-03 Colin Watson <cjwatson@ubuntu.com>
1505
1506 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1507 (Invoking grub-script-check): Likewise.
1508
8912efca
CW
15092013-01-03 Colin Watson <cjwatson@ubuntu.com>
1510
1511 * docs/grub.texi (Invoking grub-mount): New section.
1512 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1513
c3fc8394
CW
15142013-01-02 Colin Watson <cjwatson@ubuntu.com>
1515
1516 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1517 test failures, so that a failing unit test correctly causes 'make
1518 check' to fail.
1519
45d26abb
CW
15202013-01-02 Colin Watson <cjwatson@ubuntu.com>
1521
1522 Fix failing printf test.
1523
1524 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1525 '$' in the correct order when collecting type information.
1526
971dd2c6
CW
15272013-01-02 Colin Watson <cjwatson@ubuntu.com>
1528
1529 * docs/grub.texi (configfile): Explain environment variable
1530 handling.
1531 (source): New section.
1532 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1533
5c67ea6c
CW
15342012-12-31 Colin Watson <cjwatson@ubuntu.com>
1535
1536 Remove several trivially-unnecessary uses of nested functions.
1537
1538 * grub-core/commands/i386/pc/sendkey.c
1539 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1540 instead of nested.
1541 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1542 Rename to ...
1543 (legacy_file_getline): ... this.
1544 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1545 Likewise.
1546 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1547 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1548 to ...
1549 (probe_dummy_iter): ... this.
1550 * grub-core/kern/i386/coreboot/mmap.c
1551 (grub_linuxbios_table_iterate: check_signature): Likewise.
1552 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1553 check_varstate): Likewise. Mark inline.
1554 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1555 an additional parameter.
1556 (find_long: fnd_long): Likewise. Pass two additional parameters.
1557 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1558 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1559 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1560 Likewise. Rename to ...
1561 (grub_cmos_find_port_iter): ... this.
1562 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1563 Rename to ...
1564 (find_rtc_iter): ... this.
1565
1566 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1567 function directly into the function body, since it is only called
1568 once.
1569
33a68ac6
CW
15702012-12-30 Colin Watson <cjwatson@ubuntu.com>
1571
1572 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1573 __attribute__ ((unused)).
1574 * grub-core/video/bochs.c (find_card): Likewise.
1575 * grub-core/video/cirrus.c (find_card): Likewise.
1576 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1577 * grub-core/video/sis315pro.c (find_card): Likewise.
1578 * grub-core/video/sm712.c (find_card): Likewise.
1579
608b647a
CW
15802012-12-28 Colin Watson <cjwatson@ubuntu.com>
1581
1582 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1583 Fixes Savannah bug #37821.
1584
fd49ceb3
CW
15852012-12-28 Colin Watson <cjwatson@ubuntu.com>
1586
1587 Apply program name transformations at build-time rather than at
1588 run-time. Fixes Debian bug #696465.
1589
1590 * acinclude.m4 (grub_TRANSFORM): New macro.
1591 * configure.ac: Create output variables with transformed names for
1592 most programs.
1593 * util/bash-completion.d/grub-completion.bash.in: Use
1594 pre-transformed variables for program names.
1595 * util/grub-install.in: Likewise.
1596 * util/grub-kbdcomp.in: Likewise.
1597 * util/grub-mkconfig.in: Likewise.
1598 * util/grub-mkconfig_lib.in: Likewise.
1599 * util/grub-mknetdir.in: Likewise.
1600 * util/grub-mkrescue.in: Likewise.
1601 * util/grub-mkstandalone.in: Likewise.
1602 * util/grub-reboot.in: Likewise.
1603 * util/grub-set-default.in: Likewise.
1604 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1605 * tests/util/grub-shell-tester.in: Remove unused assignment.
1606 * tests/util/grub-shell.in: Likewise.
1607 * util/grub.d/00_header.in: Likewise.
1608
7024b3c0
CW
16092012-12-28 Colin Watson <cjwatson@ubuntu.com>
1610
1611 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1612
1613 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1614 HAVE_RAW_DECL_GETS.
1615 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1616
e3501b13
VS
16172012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1620 Reported by: Eriks Latosheks <foresterlv>.
1621
b40c88a9
VS
16222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * docs/grub.texi (Network): Update instructions on generating netboot
1625 image.
1626
ce96d01c
VS
16272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1630 around device name if necessarry.
1631
0f596201
PFS
16322012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1633
1634 * util/grub-install.in: Follow the symbolic link parameter added
1635 to the file command.
1636
600d5bdb
AB
16372012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1638
1639 * util/grub-install.in: Remove stale TODO.
1640
64ebd2f4
PFS
16412012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1642
1643 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1644 dynamic allocation for the bootpath buffer.
1645
74b2fe3e
DTB
16462012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1647
1648 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1649 window too small.
1650
969b804f
VS
16512012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1654 argument rather than font name. All users updated.
1655 (grub_gfxterm_set_window): Likewise.
1656
b9f5ebd6
VT
16572012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1658
1659 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1660 from working.
1661
258f43b7
VS
16622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * util/getroot.c (convert_system_partition_to_system_disk): Support
1665 nbd disks.
1666
cc1ce5f9
VS
16672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1670 infinite loop on corrupted FS.
1671
e77a16ca
VS
16722012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Fix big-endian mtime.
1675
1676 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1677 together sec and usec.
1678 (grub_ufs_dir): Use correct byteswapping for UFS time.
1679
d9c48c7b
VS
16802012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Support big-endian UFS1.
1683
1684 * Makefile.util.def (libgrubmods): Add ufs_be.c
1685 * grub-core/Makefile.core.def (ufs1_be): New module.
1686 * grub-core/fs/ufs_be.c: New file.
1687 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1688 the file.
1689
2f9f40ba
LL
16902012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1691
1692 * include/grub/types.h: Fix functionality unaffecting typo in
1693 GRUB_TARGET_WORDSIZE conditional macro.
1694
48ff0889
PFS
16952012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1696
1697 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1698
03711240
GS
16992012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1700
1701 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1702 that /netbsd appears first (when it exists).
1703
a31b11bd
CJ
17042012-10-12 Christoph Junghans <ottxor@gentoo.org>
1705
1706 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1707 Fixes Savannah bug #37558.
1708
e8a5d5d4
CW
17092012-10-12 Colin Watson <cjwatson@ubuntu.com>
1710
1711 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1712 description of extract_entries_configfile.
1713
17142012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
1715
1716 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1717 preferred_address.
1718 (grub_cmd_linux): Likewise.
1719 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1720 preferred_lifetime. Update all users.
1721
288c757d
CW
17222012-09-26 Colin Watson <cjwatson@ubuntu.com>
1723
1724 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1725 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1726
0d35da3f
CW
17272012-09-26 Colin Watson <cjwatson@ubuntu.com>
1728
1729 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1730 errors from grub-probe to /dev/null, not stdout.
1731
b78c3127
VS
17322012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1735 sector 1.
1736
473959f0
CW
17372012-09-24 Colin Watson <cjwatson@ubuntu.com>
1738
1739 * util/grub-install.in: Make the error message if $source_dir
1740 doesn't exist more useful.
1741
794c8c33
CW
17422012-09-22 Colin Watson <cjwatson@ubuntu.com>
1743
1744 Fix grub-emu build on FreeBSD.
1745
1746 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1747 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1748 headers on Linux.
1749 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1750 implementation is currently Linux-specific.
1751 * util/getroot.c (exec_pipe): Define only on Linux or when either
1752 libzfs or libnvpair is unavailable.
1753 (find_root_devices_from_poolname): Remove unused path variable.
1754
86d08fdb
CW
17552012-09-19 Colin Watson <cjwatson@ubuntu.com>
1756
1757 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1758 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1759 should fit before end == 63.
1760
735abf54
CW
17612012-09-19 Colin Watson <cjwatson@ubuntu.com>
1762
1763 * util/grub-setup.c (write_rootdev): Remove unused core_img
1764 parameter. Update all callers.
1765 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1766 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1767 GRUB_SETUP_BIOS.
1768
140acd3c
VS
17692012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1772 (grub_add_tab): New function.
1773 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1774 * util/grub.d/10_illumos.in: Likewise.
1775 * util/grub.d/10_kfreebsd.in: Likewise.
1776 * util/grub.d/10_linux.in: Likewise.
1777 * util/grub.d/10_netbsd.in: Likewise.
1778 * util/grub.d/10_windows.in: Likewise.
1779 * util/grub.d/10_xnu.in: Likewise.
1780 * util/grub.d/20_linux_xen.in: Likewise.
1781 * util/grub.d/30_os-prober.in: Likewise.
1782
7ddffdad
VS
17832012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1786 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1787 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1788 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1789 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1790 ieee1275-nocursor.
1791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1792 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1793
4e092454
VS
17942012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1797 le-conversion.
1798 Reported by: BURETTE, Bernard.
1799
735abf54 18002012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
1801
1802 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1803 from comment.
1804
dfd39dbd
CW
18052012-09-14 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1808 IEEE1275 machines. Fixes powerpc-emu compilation.
1809 * include/grub/terminfo.h: Likewise.
1810
3bfa763c
VS
18112012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1814 a const pointer.
1815 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1816 const pointer.
1817 (efiemu_set_variable): Make vendor_guid a const pointer.
1818
250e475b
VS
18192012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Don't require grub-mkconfig_lib to generate manpages for programs.
1822
1823 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1824 dependencies, don't add grub-mkconfig_lib.
1825 (program): Pass empty adddeps.
1826 (script): Pass grub-mkconfig_lib as adddeps.
1827
592fd0e4
VS
18282012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1831 * util/getroot.c (grub_find_device): Likewise.
1832 (get_mdadm_uuid): Likewise.
1833 (grub_util_is_imsm): Likewise.
1834 (grub_util_pull_device): Likewise.
1835 * util/grub-probe.c (probe): Likewise.
1836
801a3027
BG
18372012-09-10 Benoit Gschwind <gschwind>
1838
1839 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1840 (devs): Add devpath_8.
1841
c5052c81
PJ
18422012-09-08 Peter Jones <pjones@redhat.com>
1843
1844 * grub-core/Makefile.core.def (efifwsetup): New module.
1845 * grub-core/commands/efi/efifwsetup.c: New file.
1846 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1847 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1848 New define.
1849 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1850
8e832f71
JS
18512012-09-05 Jiri Slaby <jslaby@suse.cz>
1852
1853 * configure.ac: Add SuSe path.
1854
f0f55752
CW
18552012-09-05 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * NEWS: Fix typo.
1858
ecadc4c2
CW
18592012-09-05 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * util/import_gcry.py: Sort cipher_files, to make build system
1862 generation more deterministic.
1863
64498f25
VS
18642012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1867 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1868 (grub_set_datetime): Likewise.
1869
9cc836a2
VS
18702012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1873 warnings.
1874
bcfcea01
VS
18752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1878
a4099485
VS
18792012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1882
265c162a
CW
18832012-09-04 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1886 required for checkouts from bzr, but it may be useful for users or
1887 distributors wishing to update translations against a tarball
1888 distribution, and it can be helpful for the tarball to be a superset
1889 of what's in bzr.
1890
3d171e95
CW
18912012-09-04 Colin Watson <cjwatson@ubuntu.com>
1892
1893 * Makefile.am (EXTRA_DIST): Add
1894 grub-core/tests/boot/linux.init-mips.S,
1895 grub-core/tests/boot/linux.init-ppc.S, and
1896 grub-core/tests/boot/linux-ppc.cfg.
1897
f2c2503e
CW
18982012-09-04 Colin Watson <cjwatson@ubuntu.com>
1899
1900 * grub-core/mmap/mips/loongson: Remove empty directory.
1901
19022012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
1903
1904 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
1905 gone.
1906
ab2163d5
CW
19072012-09-04 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
1910 grub-sparc64-setup.
1911
ce938140
GS
19122012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1913
1914 * configure.ac: Strengthen the test for working -nostdinc -isystem.
1915
529f58a5
GS
19162012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1917
1918 * po/POTFILES.in: Regenerated.
1919
16cf79e9
GS
19202012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1921
1922 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
1923 (NetBSD): New subsection.
1924
39b27f1e 19252012-07-22 Ales Nesrsta <starous@volny.cz>
1926
1927 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
1928 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
1929
a885261b
VS
19302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
1933 * util/grub.d/10_hurd.in: Add missing quoting.
1934 * util/grub.d/10_illumos.in: Likewise.
1935 * util/grub.d/10_kfreebsd.in: Likewise.
1936 * util/grub.d/10_linux.in: Likewise.
1937 * util/grub.d/20_linux_xen.in: Likewise.
1938
7bd29c01
VS
19392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 New command `lsefi'.
1942
1943 * grub-core/Makefile.core.def (lsefi): New module.
1944 * grub-core/commands/efi/lsefi.c: New file.
1945 * include/grub/efi/api.h: Add more GUIDs.
1946
ac625d8f
VS
19472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
1950 (grub_bsd_elf32_hook): Likewise.
1951 (grub_bsd_elf64_size_hook): Likewise.
1952 (grub_bsd_elf64_hook): Likewise.
1953 (grub_bsd_load_elf): Likewise.
1954
e73bb801
VS
19552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
1958 if hash function is unavailable.
1959 (dec_stream_header): Likewise.
1960
e81db8b5
VS
19612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
1964 filter state.
1965
d187a1c3
VS
19662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 Fix coreboot compilation.
1969
1970 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
1971 (grub_vga_text_init_real): ... this.
1972 (grub_vga_text_fini): Rename to ...
1973 (grub_vga_text_fini_real): ... this.
1974
91a05f64
VS
19752012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
1978
6af96df7
VS
19792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/lib/legacy_parse.c: Support clear and testload.
1982
4d569e12
VS
19832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
1986
073b57bb
VS
19872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/ext2.c: Experimental support for 64-bit.
1990
a706f4cc
VS
19912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/net/tftp.c (ack): Fix endianness problem.
1994 (tftp_receive): Likewise.
1995 Reported by: Michael Davidsaver.
1996
e7850aa9
VS
19972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2000
20012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2004 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2005 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2006
35692881
VS
20072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2010 efi_mmap_size.
2011 Reported by: Stuart Hayes.
2012
c35fc5bd
VS
20132012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2016
2017 * grub-core/Makefile.core.def (mda_text): New module.
2018 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2019 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2020 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2021 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2022 here.
2023 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2024 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2025 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2026 here.
2027 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2028 to ..
2029 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2030 ... here
2031 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2032 here.
2033 * grub-core/term/i386/vga_common.c: Removed.
2034 * include/grub/i386/vga_common.h: Likewise.
2035 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2036 (grub_vga_cr_bw_read): Likewise.
2037 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2038 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2039 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2040 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2041 grub_vga_cr_read/grub_vga_cr_write.
2042 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2043
5f91f701
VS
20442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * configure.ac: Bump version to 2.00.
2047 * grub-core/normal/main.c (features): Add feature_200_final.
2048
0c4f85f6
VS
20492012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
20502012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2051
2052 * NEWS: Fix unclarity and language mistakes.
2053
f923ad22
VS
20542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2057 additional size to 3 pages.
2058 Reported by: Stuart Hayes.
2059
d22029ba
VS
20602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * NEWS: Add 2.00 entry.
2063
58eee08f
VS
20642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2067 put explicit "/" for empty path.
2068 (wildcard_expand): Improve dprintf.
2069
c59bdff7
VS
20702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2073 it's equal to currnode. This can happen with "" symlink.
2074
5e6a440a
YB
20752012-06-27 Yves Blusseau <blusseau@zetam.org>
2076
2077 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2078 echo shell command by printf command.
2079
73a68bcb
VS
20802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2083 the value returned by firmware is the maximal position, not diumension.
2084 (grub_terminfo_output_state): Use a more sane fallback.
2085
392a603b
VS
20862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2089
42d0867f
VS
20902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2093 frequency to 150 MHz.
2094
489509f4
VS
20952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Apple fixes.
2098
2099 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2100 __APPLE_
2101 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2102 definition.
2103 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2104
9f3fc883
VS
21052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 Handle slash in HFS label.
2108
2109 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2110 (grub_hfs_dir): Tanslate slash.
2111 (grub_hfs_label): Don't translate slash.
2112
54853fd7
VS
21132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2116 network protocol listing since it introduces problematic dependency on
2117 net module.
2118
4dc02ddf
VS
21192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2122
c50c867d
VS
21232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Init video early on yeeloong to avoid being rebooted by watchdog.
2126
2127 * grub-core/Makefile.am (gensm712): New target.
2128 (sm712_start.S): Likewise.
2129 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2130 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2131 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2132 description.
2133 * include/grub/vga.h: Move registry definitions to...
2134 * include/grub/vgaregs.h: ... here.
2135
5f92c8a1
VS
21362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2139 signedness.
2140
e9e6f111
VS
21412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2144 platforms with firmware disk drivers in the core.
2145
754ad9eb
VS
21462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2149 informative verbose message.
2150 (read_lv): Handle 64-bit segment size.
2151
315654c2
VS
21522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2155
fb022c79
VS
21562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2159 character but still remove trainling spaces.
2160 (grub_fat_label): Ignore archive flag.
2161
8645f72c
VS
21622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2165 cast between linux_kernel_header and linux_kernel_params.
2166
36498496
VS
21672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2170 type for size.
2171 (grub_raid6_recover_func_t): Likewise.
2172 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2173 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2174
0b5ea6b8
VS
21752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2178
650cfcfe
GS
21792012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2180
2181 Fix overflow.
2182
2183 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
2184 [__NetBSD__]: Add explicit cast before bitshift.
2185
8a4d6a44
VS
21862012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * configure.ac: Bump to 2.00~rc1.
2189
2fb97ed3
VS
21902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
2193 half of $a0.
2194
1fa097dc
VS
21952012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
21962012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
2197
2198 * docs/grub.texi: Fix search syntax.
2199 (Multi-boot manual config): Put msdos rather than GPT example.
2200 Grammar corrections.
2201
c890ba78
VS
22022012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2205
0f92dca7
VS
22062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2209
3988c4a0
VS
22102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
2213 message on double free. Put the value of magic in case of mismatch.
2214
9e86d4c5
VS
22152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Speed-up video on yeeloong.
2218
2219 * grub-core/video/sm712.c (framebuffer): Remove render_target and
2220 add cached_ptr.
2221 (grub_video_sm712_video_fini): Unmap cached_ptr.
2222 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
2223 (grub_video_sm712_set_active_render_target): Removed.
2224 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2225 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
2226 sync caches.
2227
ed24c312
VS
22282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 Avoid flushing the same line multiple times on loongson.
2231
2232 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
2233 Step in 32 bytes and not 1 byte.
2234 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
2235 Likewise.
2236
d1718e7d
VS
22372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2240 subvolumes.
2241
982f1909
VS
22422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 Implement flow control for http.
2245
2246 * grub-core/net/http.c (parse_line): Handle response 206.
2247 (http_receive): Stall if too many packets are in the queue.
2248 (http_establish): Fix range header.
2249 (http_seek): Fix double free.
2250 (http_close): Likewise.
2251 (http_packets_pulled): New function.
2252 (grub_http_protocol): Set http_seek
2253 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
2254 (ack_real): Set window depending on i_stall.
2255 (grub_net_send_tcp_packet): Likewise.
2256 (grub_net_tcp_stall): New function.
2257 (grub_net_tcp_unstall): Likewise.
2258 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
2259 (grub_net_tcp_unstall): Likewise.
2260
bd407d6e
VS
22612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2264
c7564b8e
VS
22652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
2268
a3706162
VS
22692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * tests/util/grub-shell.in: Fix a typo.
2272
b27069e0
VS
22732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Implement flow control for tftp.
2276
2277 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
2278 packets but stop only if stop condition is satisfied.
2279 (grub_net_fs_read_real): Call packets_pulled after real read. Use
2280 `stall' instead of `eof' as stop condition.
2281 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
2282 (http_err): Likewise.
2283 * grub-core/net/tftp.c (ack): Replace the first argument with data
2284 instead of socket.
2285 (tftp_receive): Stall if too many packets are in wait queue.
2286 (tftp_packets_pulled): New function.
2287 (grub_tftp_protocol): Set packets_pulled.
2288 * include/grub/net.h (grub_net_packets): New field count.
2289 (grub_net_put_packet): Increment count.
2290 (grub_net_remove_packet): Likewise.
2291 (grub_net_app_protocol): New field `packets_pulled'.
2292 (grub_net): New field `stall'.
2293
6b9cfac6
VS
22942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
2297 sync part to handle them.
2298
f35abd81
VS
22992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
2302 * grub-core/net/drivers/ieee1275/ofnet.c
2303 (grub_ieee1275_net_config_real): Likewise.
2304
0e7ec820
VS
23052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
2308 the direct route for server/gateway.
2309
9d611a31
VS
23102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
2313 IP address to server name since we may not hame the DNS.
2314
418f45ab
VS
23152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
2318 freeing random buffer on failure.
2319 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
2320
44a0efc1
VS
23212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2324
531e2241
VS
23252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
2328 reserved bytes.
2329 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
2330 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
2331 Handle malloc error correctly.
2332
cde393c9
VS
23332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2336 blocks.
2337
538478d0
VS
23382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2341 increment.
2342
9b55efe0
VS
23432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
2346 none is explicitly specified.
2347
9eb832c3
VS
23482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2351 while reallocating.
2352
d6b7c7c9
VS
23532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Respect netmask from bootp/dhcp.
2356
2357 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2358 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2359 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2360 into ...
2361 (grub_net_add_ipv4_local): ... this.
2362 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2363 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2364 (grub_net_add_ipv4_local): New proto.
2365
67caf9eb
VS
23662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2369 determining EFI memory map size.
2370
43657558
VS
23712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2374
eb6d0dd3
VS
23752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2378 when looking for partition separator.
2379
31230544
VS
23802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2383 Escape commas.
2384
918a2517
VS
23852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Restructure FAT driver to avoid hook in label reading as it hits a
2388 GCC bug.
2389
2390 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2391 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2392 (grub_fat_iterate_dir): Split into ...
2393 (grub_fat_iterate_init): ... this, ...
2394 (grub_fat_iterate_fini): ... this, ...
2395 (grub_fat_iterate_dir_next): ... and this. All users updated.
2396
9f1d654e
VS
23972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2400 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2401 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2402 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2403 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2404 New fields last_key and last_key_time.
2405 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2406 extended key-esc into extended key-extended key.
2407
52f0f643
VS
24082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Avoid unnecessary memcpy of whole video buffer.
2411
2412 * grub-core/video/fb/video_fb.c (dirty): New struct.
2413 (framebuffer): Add members current_dirty and previous_dirty.
2414 (dirty): New function.
2415 (grub_video_fb_fill_rect): Update dirty.
2416 (common_blitter): Likewise.
2417 (grub_video_fb_scroll): Likewise.
2418 (doublebuf_blit_update_screen): Copy only dirty part.
2419 (doublebuf_pageflipping_update_screen): Likewise.
2420 (grub_video_fb_doublebuf_blit_init): Init dirty.
2421 (doublebuf_pageflipping_init): Likewise.
2422 (grub_video_fb_setup): Likewise.
2423
e169a180
VS
24242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2427 poll rate.
2428
48556879
VS
24292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 Fix wildcard regexp dot and other special characters handling.
2432 Reported by: Robert Mabee.
2433
2434 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2435 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2436 (split_path): Trigger expansion on '?'.
2437 (unescape): New function.
2438 (wildcard_expand): Unescape parts copied without globbing.
2439 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2440 (grub_script_arglist_to_argv): Don't unescape expansions.
2441
0494408e
VS
24422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * include/grub/net.h (grub_net_card): New member txbufsize.
2445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2446 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2447 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2448 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2449 txbufsize.
2450 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2451 compatible property to check for macs. Set
2452 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2453 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2454 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2455 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2456 (send_card_buffer): Use txbuf.
2457 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2458 nested function out of the parent while on it.
2459
cc35fe8f
VS
24602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2463 presence check.
2464 (grub_ieee1275_net_config_real): Fix config pointer.
2465
970a0a09
VS
24662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2469 filename parsing to non-block devices.
2470
3e19bf87
VS
24712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2474
c62d1a0c
VS
24752012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2478 All users updated.
2479
ef76bec3
VS
24802012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2483 UUID search command even if hints probing failed.
2484
24852012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
2486
2487 * po/POTFILES.in: Regenerated.
2488
70aaf305
VS
24892012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Speed-up video on fuloong.
2492
2493 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2494 New function.
2495 (grub_pci_device_unmap_range): Handle non-cached address.
2496 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2497 add direct_ptr.
2498 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2499 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2500 (grub_video_sis315pro_set_active_render_target): Removed.
2501 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2502 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2503 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2504 sync caches.
2505 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2506 New proto.
2507
10400f0b
VS
25082012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * docs/grub.texi (Multi-boot manual config): New section.
2511
ba67e2c6
VS
25122012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 Avoid slow read-back from VRAM.
2515
2516 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2517 Move from here ...
2518 * grub-core/video/fb/video_fb.c
2519 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2520 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2521 (front_target): Remove front_target. Add pages.
2522 (grub_video_fb_init): Skip setting front_pages.
2523 (grub_video_fb_fini): Likewise.
2524 (doublebuf_blit_update_screen): Use pages.
2525 (grub_video_fb_doublebuf_blit_init): Likewise.
2526 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2527 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2528 (grub_video_fb_setup): Prefer doublebuffing.
2529
377c98cb
VS
25302012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2533 gzio.
2534
eac49cff
VS
25352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 Add loongson tests.
2538
2539 * tests/util/grub-shell.in: Handle loongson.
2540 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2541 drivers.
2542 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2543 Reboot instead of shutdown if REBOOT is defined.
2544
0321415e
VS
25452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2548 sized ports since unlike on real hardware qemu supports only 32-bit
2549 regs.
2550
3f2bdd8f
VS
25512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2554 * util/grub-mkrescue.in: Handle loongson.
2555
29a049c9
VS
25562012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2559 Set is_part appropriately.
2560 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2561 names. Canonicalize partition without full disk.
2562
4abde346
VS
25632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Revert usb-quiesce since it's wrong.
2566
2567 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2568 (grub_ofdisk_init): Don't do quiesce.
2569
61f1d93b
VS
25702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2573 PowerMac workaround to Xserves as well.
2574 Information supplied by: Benjamin Herrenschmidt.
2575
a09eb541
VS
25762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 Don't assume that beginning address is also the entry point on ppc.
2579
2580 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2581 (grub_linux_boot): Use linux_entry.
2582 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2583 (grub_linux_load64): Likewise.
2584
505b3c9b
VS
25852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2588
cbe0b4ef
VS
25892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2592 needlessly lose the console.
2593
3006e981
VS
25942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2597 space.
2598
4e5a96b0
VS
25992012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2600
7da036bb
VS
2601 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2602 than current grub_get_rtc() not implemented when booted with
2603 coreboot without TSC.
2604
2605 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2606 Add machine/time.h to kernel headers on loongson.
2607 * grub-core/Makefile.core.def (kernel): Remove
2608 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2609 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2610 (grub_get_rtc): Likewise.
2611 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2612 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2613 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2614 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2615 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2616 rather than installing known non-working time source.
2617 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2618 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2619 * include/grub/time.h: Don't include machine/time.h.
2620 * include/grub/efi/time.h: Removed.
2621 * include/grub/i386/efi/time.h: Likewise.
2622 * include/grub/i386/ieee1275/time.h: Likewise.
2623 * include/grub/powerpc/ieee1275/time.h: Likewise.
2624 * include/grub/sparc64/ieee1275/time.h: Likewise.
2625 * include/grub/x86_64/efi/time.h: Likewise.
2626
26272012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
2630
2631 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2632 value.
2633 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2634 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2635 with dotless variants when any combining above is present.
2636
5561c22d
VS
26372012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2640 text and not binary.
2641
96f7e60e
VS
26422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 Stop polling as soon as we have the packet we were waiting for.
2645
2646 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2647 All users updated.
2648 * grub-core/net/arp.c (have_pending): New var.
2649 (pending_req): Likewise.
2650 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2651 stop indicator.
2652 (grub_net_arp_receive): Set have_pending.
2653 * grub-core/net/dns.c (recv_data): New field stop.
2654 (recv_hook): Set stop.
2655 (grub_net_dns_lookup): Init stop and use as stop condition.
2656 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2657 condition.
2658 * grub-core/net/net.c (grub_net_poll_cards): New argument
2659 stop_condition. Stop when it goes true.
2660 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2661 indicator.
2662 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2663
3e747239
VS
26642012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Keep TX and RX buffers on EFI rather than always allocate new ones.
2667
2668 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2669 card. All users updated.
2670 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2671 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2672 (get_card_packet): Likewise.
2673 (grub_efinet_findcards): Init new fields.
2674
f695e99a
VS
26752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2678 compilation error on sparc64.
2679
9e5e66d1
VS
26802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Use ITC on IA64 rather than broken routine based on daytime.
2683
2684 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2685 ia64.
2686 (grub_get_rtc) [__ia64__]: Likewise.
2687 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2688 (get_itc): New function.
2689 (grub_rtc_get_time_ms): Likewise.
2690 (grub_machine_init): Calibrate ITC.
2691 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2692 Keep only on non-ia64. Don't export since it's broken and used only
2693 if TSC is unavailable.
2694
a1767404
VS
26952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2698 even if it's used.
2699 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2700 Skip if parent is unused.
2701
34b2bced
VS
27022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2705
5e619f40
VS
27062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 Fix wildcard escaping.
2709
2710 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2711 * grub-core/script/execute.c (wildcard_escape): .. to here.
2712 Don't escape dot.
2713 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2714 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2715 Don't escape dot.
2716 * grub-core/script/execute.c (gettext_append): Always escape.
2717 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2718 * grub-core/script/yylex.l: Don't cut away the escaping.
2719 * tests/grub_script_echo1.in: Add tests with wildcard.
2720
c8ca5855
VS
27212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2724 (ftdi_hw_configure): Likewise.
2725 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2726 define.
2727 (real_config): Handle 1.5 stop bits.
2728 (pl2303_hw_configure): Likewise.
2729
7183452c
VS
27302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * Makefile.am: Add ppc linux bootcheck.
2733 * grub-core/tests/boot/linux-ppc.cfg: New file.
2734 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2735
f57c84cd
VS
27362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * tests/grub_script_expansion.in: Skip network protocols.
2739
ecfc6207
VS
27402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2743
8d03d284
VS
27442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2747 --rom-directory.
2748 Add -graft-points.
2749
61c42af0
VS
27502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 ESCC serial driver for conducting sautomated tests in qemu.
2753 Not tested on real hardware.
2754
2755 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2756 * grub-core/term/ieee1275/escc.c: New file.
2757 * grub-core/Makefile.core.def (escc): New module.
2758
08fd1291
VS
27592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2762 invalid on error.
2763 (serial_hw_fetch): Don't read invalid handle.
2764 (serial_hw_put): Don't write into invalid handle.
2765
08dafeea
VS
27662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Add a 1.5 stop bits value.
2769
2770 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2771 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2772 GRUB_SERIAL_STOP_BITS_1_5.
2773
9068fdcf
VS
27742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2777 value rather than let it uninited.
2778
f4d5820f
VS
27792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/commands/wildcard.c (+check_file): New function.
2782 (wildcard_expand): Don't expand to non-existing files, expand with
2783 suffix and not attempt to expand if not needed.
2784
3d2de9a7
VS
27852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2788 out of partitions containing other partitions.
2789
c5c81ff9
VS
27902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2793 on some qemu versions with GRUB.
2794
2795 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2796 define.
2797 (grub_openbsd_bootarg_pcibios): New struct.
2798 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2799 Add PCIINFO.
2800
08a14e0b
VS
28012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * tests/util/grub-shell.in: Trim firmware output on EFI.
2804
cede3ca3
VS
28052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2808 and coreboot since it's already in kernel.
2809
558d3a60
VS
28102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2813 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2814 to here. New return value start. All users updated.
2815 Recursively scan linear mappings.
2816 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2817 proto.
2818 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2819 Use grub_util_get_dm_node_linear_info.
2820 * util/getroot.c (convert_system_partition_to_system_disk): Use
2821 grub_util_info rather than grub_dprintf.
2822 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2823
60fde14d
VS
28242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2827
2828 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2829 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2830
24bd8838
VS
28312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * include/grub/types.h (grub_set_unaligned64): New function.
2834 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2835 (setup): Likewise.
2836
7bc06a49
VS
28372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2840 (grub_ofdisk_fini): Quiesce USB devices.
2841
49cea015
VS
28422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2845 caches.
2846
8dcbe03b
VS
28472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2850
5b258735
VS
28512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/disk/pata.c (grub_pata_pio_read)
2854 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2855 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2856
37ba07eb
VS
28572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 Extend automated tests to qemu-mips.
2860
2861 * Makefile.am: reorganise tests and enable qemu-mips.
2862 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2863 * grub-core/tests/boot/linux.init-mips.S: New file.
2864 * tests/partmap_test.in: Handle ata0 disks.
2865 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2866 non-pc i386.
2867
070038f8
VS
28682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2871 ia64.
2872 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2873 quotes while on it.
2874
004be2cd
VS
28752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2878 (grub_halt): Likewise.
2879 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2880
b1622487
VS
28812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/term/serial.c (grub_serial_register)
2884 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2885 the behaviour in line with x86 platforms.
2886
b7b4ab33
VS
28872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
2890 (grub_ata_strncpy): Likewise.
2891 (grub_ata_identify): Add missing byteswaps.
2892
5e3535ae
VS
28932012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
2896 byte-swap.
2897 (screen_read_char): Likewise.
2898 (grub_vga_text_cls): Likewise.
2899
c21b17e6
VS
29002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
2903 filenames.
2904 (make_file_path): Likewise.
2905
bf293dec
VS
29062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
2909 machines.
2910 Tested by: Paulo Flabiano Smorigo.
2911 Crucial information about API supplied by: Coleen <Last name unknown>.
2912 Reviewed by: Coleen <Last name unknown>.
2913
81f6ef0e
VS
29142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub-mkimage.c: Disable -Wcast-align.
2917
7284143a
VS
29182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
2921 as they are fatal.
2922
b99f3e00
VS
29232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
2926
944f752d
VS
29272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * util/grub-probe.c (escape_of_path): Fix double free.
2930
6cce6f38
VS
29312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/commands/videoinfo.c (hook): Show pitch.
2934
1e1eb50e
VS
29352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * util/grub.d/20_linux_xen.in: Skip xen-syms.
2938
1c715b5a
VS
29392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
2942 (probe): Add ieee1275 to OFW devices.
2943
007ae52d
VS
29442012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
2947
4557a36d
VS
29482012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 Handle IBM OFW path.
2951
2952 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
2953 available.
2954 (of_path_of_scsi): Handle vdevice.
2955
efbeefe9
VS
29562012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
2959 Allocate in multiples of 16 to avoid adding a few bytes free region the
2960 windows bugs upon.
2961
15a940bb
VS
29622012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
2965 Allocate in multiples of 16 to avoid adding a few bytes free region the
2966 windows bugs upon.
2967 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2968
6e5efd60
VS
29692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
2972 resolutions.
2973 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
2974 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2975
0d3d137e
IS
29762012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
2977
2978 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
2979
45dbe300
VS
29802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
2983 resulted in \\ at the end of the line.
2984
6d8db947
VS
29852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
2988 (grub_parser_cmdline_state): Likewise.
2989 (grub_parser_split_cmdline): Likewise.
2990
de89d338
VS
29912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2994 /dev/root and /dev/dm-*.
2995
00d41dee
VS
29962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2999 fix partially stale display.
3000
f95d1f11
VS
30012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3004 substraction.
3005
6297e197
VS
30062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3009 Fix MBR remapping workaround.
3010 (grub_util_biosdisk_read) [__linux__]: Likewise.
3011
8a7ecad3
VS
30122012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3015
2b34f944
VS
30162012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * configure.ac: Bump to beta6.
3019
684aef11
CW
30202012-05-31 Christer Weinigel <christer@weinigel.se>
3021
3022 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3023
05b0bb91
VS
30242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3027 (grub_cmd_linux): Likewise.
3028
bda36bfa
CW
30292012-05-31 Christer Weinigel <christer@weinigel.se>
3030
3031 Fix EHCI low-speed.
3032
3033 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3034 (GRUB_EHCI_MULT_TWO): Likewise.
3035 (GRUB_EHCI_MULT_THREE): Likewise.
3036 (GRUB_EHCI_CMASK_MASK): New enum value.
3037 (GRUB_EHCI_SMASK_MASK): Likewise.
3038 (GRUB_EHCI_CMASK_OFF): Likewise.
3039 (GRUB_EHCI_SMASK_OFF): Likewise.
3040 (grub_ehci_pci_iter): Enable periodic schedule.
3041 (grub_ehci_parse_notrun): Likewise.
3042 (grub_ehci_restore_hw): Likewise.
3043 (grub_ehci_setup_qh): Set flags for low speed transfers.
3044 (grub_ehci_find_qh): Use periodic list for low speed.
3045 (grub_ehci_setup_transfer): Check periodic queue as well.
3046 (grub_ehci_check_transfer): Likewise.
3047 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3048
e12bcb1c
PFS
30492012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3050
3051 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3052 parameter is used.
3053
bcc75fb3
PJ
30542012-05-31 Peter Jones <pjones@redhat.com>
3055
3056 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3057 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3058 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3059
f19cb95e
VS
30602012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3063 uninited variable. Allocate at least setup_sects.
3064
a4e5ca80
VS
30652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Fix handling of EFI with big memory maps.
3068
3069 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3070 (real_mode_mem): Likewise.
3071 (real_mode_target): Likewise.
3072 (real_mode_pages): Likewise.
3073 (prot_mode_pages): Likewise.
3074 (linux_params): New var.
3075 (linux_cmdline): Likewise.
3076 (free_pages): Don't set real mode variables.
3077 (allocate_pages): Don't allocate real mode memory.
3078 (grub_e820_add_region): Remove the limit.
3079 (grub_linux_boot): Allocate and copy real mode memory.
3080 (grub_linux_unload): Free linux_cmdline.
3081 (grub_cmd_linux): Use temporary storage for parameters.
3082 (grub_cmd_initrd): Likewise.
3083 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3084 (linux_kernel_params): Make it 1K big.
3085
ddb73558
VS
30862012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * Makefile.util.def: Remove -Wno-format.
3089 * grub-core/Makefile.core.def: Likewise.
3090
1c4afb60
VS
30912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * tests/cmp_unit_test.c: Add missing failure message.
3094 * tests/example_unit_test.c: Likewise.
3095 * tests/printf_unit_test.c: Likewise.
3096
941e3a6d
VS
30972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3100 relaxation of protective MBR requirements.
3101
b105df76
VS
31022012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * configure.ac: Add condition for COND_HOST_XNU.
3105 * Makefile.util.def (10_xnu): New script.
3106 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3107
84e1569e
VS
31082012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3111 objconv bug.
3112
130c0f77
VS
31132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3116 Binary on other platforms stays identical.
3117
6fd0b143
VS
31182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3121 Apple.
3122
0af1751d
VS
31232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3126
176d5f7d
VS
31272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3130 rather than defining size_t ourselves to avoid conflict.
3131
7de5e20a
VS
31322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3135 initialisation to avoid __bzero reference.
3136
f7143efe
VS
31372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3140 version.
3141 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3142 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3143 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3144 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3145 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3146
e6ad0555
VS
31472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3150 * grub-core/kern/misc.c: Likewise.
3151 * grub-core/loader/i386/xnu.c: Likewise.
3152 * include/grub/i386/tsc.h: Likewise.
3153 * include/grub/symbol.h: Likewise.
3154
4a5a3c4a
VS
31552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3158 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3159 on older compiler.
3160
037f6d90
VS
31612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3164 Implement Apple flavour.
3165 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3166
f7194551
VS
31672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3170 (memmove) [__APPLE__]: Likewise.
3171 (memcpy) [__APPLE__]: Likewise.
3172 (memset) [__APPLE__]: Likewise.
3173 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3174 (memmove) [__APPLE__]: Likewise.
3175 (memcpy) [__APPLE__]: Likewise.
3176 (memset) [__APPLE__]: Likewise.
3177
85a730ca
VS
31782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3181 dependency discard.
3182
40e80b94
VS
31832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/normal/main.c (read_config_file): Provide config_file and
3186 config_directory.
3187 * util/grub.d/41_custom.in: Use config_directoy when available.
3188
9da59c32
VS
31892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
3192 (grub_bfs_dir): Likewise.
3193
2787ae53
PJ
31942012-05-27 Peter Jones <pjones@redhat.com>
3195
3196 The old code gives arguments to a printf function which can't work
3197 correctly, and the compiler complains.
3198
3199 * grub-core/tests/example_functional_test.c (example_test): Add
3200 missing text.
3201 * grub-core/tests/lib/test.c (add_failure): Rewrite.
3202 * include/grub/test.h (grub_test_assert_helper): New declaration.
3203 (grub_test_assert): Use grub_test_assert_helper.
3204
526ef13d
VS
32052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
3208 (exfctest): ... this to avoid overlong filenames.
3209 All users updated.
3210
20dd511c
VS
32112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Handle "." and ".." on squashfs.
3214
3215 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
3216 Make inode numbers into stack.
3217 (grub_squash_read_symlink): Use stack.
3218 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
3219 (make_root_node): Fill stack.
3220 (grub_squash_open): Use stack.
3221
1d80c62a
VS
32222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
3225 freeing.
3226
d336f652
VS
32272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
3230 stderr on test calls.
3231
8b43f587
VS
32322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3235
80a3dc3f
VS
32362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3239
47e297d4
VS
32402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
3243 "..".
3244
df042ccb
VS
32452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
3248 (grub_hfsplus_iterate_dir): Add "." and "..".
3249
fc977f48
VS
32502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/fs/cpio.c (canonicalize): Handle "..".
3253 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
3254
f3250e5f
VS
32552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
3258 (find_path): Handle "." and "..".
3259
fd8ed4c5
VS
32602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
3263 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
3264 (grub_affs_iterate_dir): Handle hardlinks.
3265
4ce776d2
MG
32662012-05-26 Matthew Garrett <mjg@redhat.com>
3267
3268 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
3269 (grub_efi_console_fini): Likewise.
3270 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
3271 (grub_video_gop_fill_mode_info): Rename to ...
3272 (grub_video_gop_fill_real_mode_info): ... this.
3273 (grub_video_gop_fill_mode_info): New function.
3274 (grub_video_gop_setup): Setup double framebuffer.
3275 (grub_video_gop_get_info_and_fini): Use original framebuffer.
3276 Free offscreen.
3277 (grub_video_gop_swap_buffers): Copy framebuffer.
3278 (grub_video_gop_fini): Free offscreen buffer.
3279 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
3280 New enum.
3281 (grub_efi_gop_blt_pixel): New struct.
3282
683031ba
VS
32832012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * gentpl.py: Remove error disabling for objconv.
3286
c2deb798
VS
32872012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * configure.ac: Remove -Wunitialized as it's not available on older
3290 compilers.
3291
32922012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
3293
3294 Fix extent overflow comparator.
3295
3296 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
3297 (grub_hfsplus_read_block): Set type.
3298 (grub_hfsplus_cmp_extkey): Compare type.
3299
d6b1fd36
VS
33002012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3303
0a9aa0f6
VS
33042012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
3307 than 0.
3308
8360e159
VS
33092012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
3312 (dejavu_bold_14.pf2): New target.
3313
501b9e4b
VS
33142012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * configure.ac: Fix djvu font detection.
3317
7026b0e2
VS
33182012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
3321 ext* instead of ext2.
3322
c2a51ade
VS
33232012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
3326 name with \0.
3327
8f803a5d
JU
33282012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3329
3330 * docs/grub-dev.texi: Remove dot from .png.
3331
13c6353f
VS
33322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
3335 protective entry in any slot.
3336 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
3337 if protective entry is found in any slot.
3338
3339 Protective entry in non-first slot make no sense but is a widespread
3340 brain damage.
3341
4cf6be1b
VS
33422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3345
937d1c44
VS
33462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3349 with old reiserfs.
3350 (grub_reiserfs_open): Don't free root.
3351
021d90ec
VS
33522012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3355 after freeing for safety.
3356
967b2b64
VS
33572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3360 Reported by: Jordan Uggla.
3361
34274d02
JU
33622012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3363
967b2b64
VS
3364 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3365 actual implementation. Specifically, clarify that the grub menu will
3366 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3367 passed.
34274d02 3368
dcaaae9d
BH
33692012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3370
3371 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3372 of r0.
3373
7086ad52
VS
33742012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Remove unjustified hard dependency of normal.mod on gfxterm.
3377
3378 * include/grub/term.h (grub_term_output): New member fullscreen.
3379 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3380 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3381 (grub_gfxterm): Set .fullscreen.
3382 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3383 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3384
37ed2c9b
VS
33852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3388 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 3389 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 3390
a4469c88
VS
33912012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3394
4e461486
VS
33952012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3398 a bad FS.
3399
aa78f5c4
VS
34002012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3403 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3404
197626b5
VS
34052012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3408 (grub_jfs_mount): Fill caseins.
3409 (grub_jfs_find_file): Respect caseins.
3410
8ad3f28c
VS
34112012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3414 through UTF-16.
3415
0c6c324e
VS
34162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3419 New argument origpath. All users updated.
3420
c6666ba6
VS
34212012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3424 (read_attr): Ensure that we read start of possibly compressed block.
3425
e28e5fe5
VS
34262012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3429 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3430 All users updated.
3431
5fc23ab2
VS
34322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3435 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3436 (dejavu.pf2): Replace with ...
3437 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3438 this.
3439
79dbc21c
VS
34402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * util/grub.d/20_linux_xen.in: Add missing line.
3443
d2fcfb0c
VS
34442012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3447 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3448 (grub_utf16_to_utf8): Likewise.
3449
5560e9d6
VS
34502012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3453 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3454 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3455 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3456 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3457 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3458
34592012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
3460
3461 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3462 a bad FS.
3463
5560e9d6 34642012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
3465
3466 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3467 (grub_udf_read_symlink): Handle read_string failure.
3468
5eae3175
VS
34692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3472 comment.
3473
c1ad82db
VS
34742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Fix handling of UDF symlinks.
3477
3478 * grub-core/fs/udf.c (read_string): New argument outbuf.
3479 All users updated.
3480 (grub_ufs_read_symlink): Rename to ...
3481 (grub_udf_read_symlink): ... this. All users updated.
3482 Handle symlinks with more than one component.
3483
33eca6e0
VS
34842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3487 symlinks. Replace leading colon with a slash.
3488
57f4a70b
VS
34892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3492 filename.
3493
38c8ee20
VS
34942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3497 match in inner node.
3498
2e57f28f
VS
34992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3502 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3503 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3504 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3505 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3506 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3507 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3508 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3509 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3510
fe8c2f11
VS
35112012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 Use grub-probe and not cmp to check that disk is empty.
3514
3515 * util/grub-install.in: Use grub-probe for zero-check.
3516 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3517 (probe): Handle PRINT_ZERO_CHECK.
3518 (argp_parser): Handle -t zero_check.
3519
35202012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
3521
3522 Flush block cache on adding disk to device map.
3523
3524 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3525 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3526 adding.
3527 (read_device_map): Likewise.
3528 (open_device): Flush on opening.
3529
690434e8
VS
35302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3533 (handle_symlink): Fix off-by-one error.
3534 Canonicalize the target.
3535 (grub_cpio_dir): Canonicalize the name.
3536 Fix memory leak.
3537 Set directory.
3538 (grub_cpio_open): Canonicalize the name.
3539
742d2be6
VS
35402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3543 handling.
3544
3244fe96
VS
35452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3548 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3549
8aeb1837
VS
35502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3553 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 3554 All users updated.
8aeb1837 3555
9133fd05
VS
35562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3559 counterpart.
3560
6d521c5b
VS
35612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 Fix UFS1 big file support.
3564
3565 * grub-core/fs/ufs.c (INODE): Removed.
3566 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3567 64-bit.
3568 (INODE_MODE): Simplify.
3569 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3570 (grub_ufs_lookup_symlink): Don't use INODE.
3571
21b82e17
VS
35722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3575
3576 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3577 (grub_minix_data): Replace log_block_size with block_size.
3578 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3579 (grub_minix_mount): Fill block_size.
3580
35812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
3582
3583 * configure.ac: Bump to beta5.
3584
f417ed04
VS
35852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Fix wrapped HFS+ handling.
3588
3589 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3590 blocks_start. All users updated.
3591 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3592 wrapping offset.
3593 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3594
607d282b
VS
35952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 Fix long symlinks on reiserfs.
3598
3599 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3600 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3601 (grub_reiserfs_iterate_dir): Save size for non-directories.
3602 (grub_reiserfs_open): Don't reread stat block as we already know the
3603 size.
3604 (grub_reiserfs_read): Split into...
3605 (grub_reiserfs_read_real): ... and ...
3606 (grub_reiserfs_read): ...this.
3607
ae16024d
VS
36082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Fix non-indexed JFS.
3611
3612 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3613 (grub_jfs_data): New field namecomponentlen.
3614 (grub_jfs_mount): Fill namecomponentlen.
3615 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3616
eea1e26e
VS
36172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3620 * tests/grub_script_echo1.in: Add tests.
3621
df760f77
VS
36222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * util/grub-install.in: Ignore empty devicetree directory.
3625
5efb817d
B
36262012-05-08 Bean <bean123ch@gmail.com>
3627
3628 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3629 All users updated.
3630 (free_rsm): Free header as well.
3631 (free_old_fragments): Fix memory leak.
3632 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3633 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3634 (destroy_pq): Likewise.
3635 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3636
668ea6d2
VS
36372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3640 resulting hash as a precaution.
3641
1739b1fe
VS
36422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3645 '_' in variable names.
3646 * grub-core/net/net.c (grub_net_network_level_interface_register):
3647 Likewise.
3648
6ae485aa
VS
36492012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Fix AFFS with non-512B blocks.
3652
3653 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3654 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3655 (grub_affs_data): Replace blocksize with log_blocksize.
3656 (grub_affs_read_block): Fix non-512B blocks.
3657 (grub_affs_read_symlink): Likewise.
3658 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3659 (grub_affs_read): Fix non-512B blocks.
3660 (grub_affs_label): Likewise.
3661 (grub_affs_mtime): Likewise.
3662 (grub_affs_mount): Fix block detection routine.
3663
d20fab84
VS
36642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 Add filesystem mtime to AFFS.
3667
3668 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3669 (aftime2ctime): New function.
3670 (grub_affs_dir): Use aftime2ctime.
3671 (grub_affs_label): Fix return value.
3672 (grub_affs_mtime): New function.
3673 (grub_affs_fs): Add mtime.
3674
e87b10f5
VS
36752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3678 UTF-8.
3679
7dceec9b
VS
36802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3683 UTF-8.
3684
2f48221f
VS
36852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3688
dacd85cf
VS
36892012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3692 flags.
3693 (FLAGS_CASE_SENSITIVE): New enum value.
3694 (cache_entry): New struct.
3695 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3696 cache_size and cache.
3697 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3698 Add log_blocksize and fshelp_flags.
3699 (grub_sfs_read_extent): Handle non-512 blocks.
3700 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3701 (grub_sfs_read_file): Handle non-512 blocks.
3702 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3703 fshelp_flags.
3704 (grub_sfs_read_symlink): Handle non-512 blocks.
3705 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3706 (grub_sfs_dir): Free cache.
3707 (grub_sfs_close): Likewise.
3708
24e9a854
VS
37092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3712 filesystems.
3713
62ace64d
VS
37142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3717
83b2e89c
VS
37182012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3721
75ccaea3
VS
37222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3725 (grub_sfs_read_extent): Likewise.
3726 (grub_sfs_read_block): Likewise.
3727 (grub_sfs_mount): Likewise.
3728 (grub_sfs_iterate_dir): Likewise.
3729 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3730 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3731
1b8463f2
VS
37322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 Fix errors on compressed NTFS with 512B clusters.
3735
3736 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3737 types.
3738 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3739 not 0.
3740 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3741 Relax check for inline extents.
3742 (ntfscomp): Return correct -1 on error and not 0.
3743
4f8e368f
VS
37442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * util/grub-install.in: Fix handling of prefix containing spaces.
3747
6f5d5ee8
VS
37482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3751 (grub_squash_read_data): Fix offset byte-swapping.
3752
ce41ab7a
VS
37532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3756 per common usage and preffered in several parts of code.
3757 (grub_memcmp): Likewise.
3758 (grub_strncmp): Likewise.
3759 * include/grub/misc.h (grub_strcasecmp): Likewise.
3760 (grub_strncasecmp): Likewise.
3761 * Makefile.util.def (cmp_test): New test.
3762 (grub_script_strcmp): Likewise.
3763 * tests/cmp_unit_test.c: New file.
3764 * tests/grub_script_strcmp.in: Likewise.
3765 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3766
49717bf4
VS
37672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * include/grub/pci.h: Move enums into no-asm part.
3770
0a308f64
VS
37712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3774
1796965f
ST
37752012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3776
3777 * util/getroot.c (find_hurd_root_device): Try to make error message
3778 and comments to translators clearer.
3779
4e9b2819
VS
37802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3783
076aeb50
VS
37842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3787 btrfs.
3788
19424d94
VS
37892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * docs/grub.cfg: Update.
3792
ebb73076
VS
37932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * docs/grub.texi (PXE): Remove not present variables.
3796
9a1b669c
VS
37972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/net/net.c (defserver_set_env): New function.
3800 (defserver_get_env): Likewise.
3801 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3802
d38bf7d3
VS
38032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3806 entries.
3807
38082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
3809
3810 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3811 * grub-core/kern/emu/hostdisk.c: Likewise.
3812
e5e4ca48
ST
38132012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3814
3815 Handle hurd userspace partitions.
3816
3817 * util/getroot.c (find_hurd_root_device): New function.
3818 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3819
56bb5dd5
VS
38202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3823 names.
3824 Reported by: Bastian Blank.
3825
9e8bc27a
VS
38262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3829 crossing page boundary.
3830
aa01499d
VS
38312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 Fix B-tree search in BFS, especially in presence of non-ASCII
3834 characters.
3835
3836 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3837 (find_in_b_tree): Use standard bsearch + btree algorithm.
3838
57006035
VS
38392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3842 and so on.
3843
9d34bb85
MG
38442012-05-03 Matthew Garrett <mjg@redhat.com>
38452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 Suspend broadcom cards in order to stop their DMA.
3848
3849 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3850 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3851 (pci): Don't build on x86 EFI.
3852 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3853 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3854 New function.
3855 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3856 stop_broadcom if running on EFI.
3857 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3858 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3859 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3860 (grub_pci_find_capability): New proto.
3861
01aab997
VS
38622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * docs/grub.texi: Remove dot from the extension as it apparently
3865 doesn't work with some makeinfo versions.
3866
fbd8dca6
VS
38672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3870 with GRUB expectance.
3871
dab797f4
VS
38722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3875
1516bfb4
VS
38762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3879 zero after directory block since last entry may be not 0-terminated if
3880 it ends on block boundary. Use continue instead of if spanning whole
3881 loop.
3882
a3a0eace
VS
38832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 Support 4K sectors UDF inline files.
3886
3887 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3888 (grub_udf_extended_file_entry): Likewise.
3889 (grub_fshelp_node): Name the anonymous union. Put block at the end.
3890 All users updated.
3891 (get_fshelp_size): New function.
3892 (grub_udf_read_icb): Read whole block.
3893 (grub_udf_iterate_dir): Likewise.
3894 (grub_udf_dir): Likewise.
3895 (grub_udf_open): Likewise.
3896
c82f16c1
VS
38972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
3900
59fd2aac
VS
39012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
3904 inline symlinks in addition to workaround.
3905
3b4afb4d
VS
39062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
3909
f45c794a
VS
39102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
3913
f25cecbd
VS
39142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
3917
bb9a34e8
VS
39182012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Fix reiserfs big seek times.
3921
3922 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
3923 exact. All users updated.
3924 (grub_reiserfs_read): Use nearest btree search for seeking.
3925 Fix return value on error.
3926
dc478aea
VS
39272012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
3930 entries.
3931 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
3932 * docs/grub.texi: Update menuentry description.
3933
8db10f47
VS
39342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
3937 crash when embedding onto filesystem.
3938
bcb288ed
VS
39392012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
3942 name.
3943
a626fdd7
VS
39442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
3947
b2f68477
VS
39482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
3951 commit.
3952
ba15b2af
B
39532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
39542012-05-01 Bean <bean123ch@gmail.com>
3955
3956 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
3957
a188012e
VS
39582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
3961 Special behaviour for len = 0 to read whole file isn't used anywhere and
3962 can cause buffer ovewrflows in several places.
3963
f0a53ed2
VS
39642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
3967
5ed554f0
VS
39682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 Handle RAIDZ on non-512B sectors.
3971
3972 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
3973 max_children_ashift.
3974 (fill_vdev_info_real): Fill max_children_ashift.
3975 (read_device): Use max_children_ashift.
3976
ddc58357
VS
39772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
3980
e3282399
VS
39812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
3984 disk names.
3985 * docs/grub.texi: Update device.map parts.
3986
ee618bd4
VS
39872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Don't scan into non-diskfilter devices having diskfilter names.
3990
3991 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3992 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3993 handling.
3994 (scan_disk_hook): New function.
3995
bdf88864
B
39962012-04-29 Bean <bean123ch@gmail.com>
3997
3998 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3999 allocation.
4000
32745f51
MK
40012012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4002
4003 * configure.ac: Detect starfield theme font path
4004 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4005
bc95c8c0
VS
40062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4009 geometry on serial consoles.
4010
147fbcab
VS
40112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4014 because of network consoles.
4015
0f42c889
VS
40162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4019 handling.
4020
4a3594c9
VS
40212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4024 falls on Q syndrom.
4025
5cb53879
VS
40262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4029 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4030
b282dfe5
VS
40312012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4034 Allocate at lest 8192 for temporary buffer as required for lzo.
4035
daa59f47
VS
40362012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4039 to cluster_bits, since it's already added in.
4040 (grub_fat_read_data): Likewise.
4041
986748ce
VS
40422012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4045 as long as cluster size is multiple of 512 bytes.
4046
a20f6ad0
VS
40472012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * util/grub-mkrescue.in: Fix locale directory.
4050
385f9abb
VS
40512012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/kern/emu/hostdisk.c (map): Make static.
4054
1c557d30
B
40552012-04-23 Bean <bean123ch@gmail.com>
4056
4057 * util/grub-fstest.c (fstest): Add missing break.
4058
524b5d3a
ST
40592012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4060
4061 Fix hurd build.
4062
4063 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4064 not define nr variable.
fe4824e9 4065 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4066 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4067 grub_find_device): Do not define.
524b5d3a 4068
9a06490c
VS
40692012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 Fix kfreebsd compile and behaviour.
4072
4073 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4074 format-security.
4075 * util/getroot.c: Fix wait.h include.
4076 (grub_guess_root_devices): Error if grub_find_device fails.
4077 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4078 (grub_util_get_dev_abstraction): Likewise.
4079 (grub_util_pull_device): Likewise.
4080 (grub_util_get_grub_dev): Likewise.
4081 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4082
48143d96
VS
40832012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Fix and unify wholedisk detection.
4086
4087 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4088 is_part. All users updated.
4089 (device_is_wholedisk): Removed.
4090 (grub_util_biosdisk_get_grub_dev): Use is_part.
4091
ebbd24f3
VS
40922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4095 mode.
4096
56f7aa1e
VS
40972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * configure.ac: Bump to beta4.
4100
9c815e01
VS
41012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4104 --fs-uuid --set UUID syntax.
4105
59e2651a
VS
41062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4109 disunification.
4110
54e03cfc
VS
41112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4114
81092a75
MK
41152012-04-18 Mads Kiilerich <mads@kiilerich.com>
4116
4117 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4118
f8315e14
MG
41192012-04-18 Mike Gilbert <floppym@gentoo.org>
4120
4121 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4122
1501ac21
B
41232012-04-18 Bean <bean123ch@gmail.com>
4124
4125 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4126 place.
4127
cb7f944e
VS
41282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4131 users updated.
4132 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4133 corresponding to GRUB partitions.
4134 (grub_util_biosdisk_write): Likewise.
4135
b72d44a1
VS
41362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 Scan mdraid before LVM.
4139
4140 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4141 (grub_diskfilter_register_front): ... this.
4142 (grub_diskfilter_register_back): New function.
4143 All users of grub_diskfilter_register updated.
4144
33d918b8
VS
41452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * util/grub-install.in: Fix an automatic target detection bug.
4148
c6ca973d
VS
41492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * util/grub-install.in: New option --efi-directory.
4152
b41be562
VS
41532012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4156 boot services if we have no other choice.
4157
41582012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4161 document it.
4162 * tests/util/grub-shell.in: Update to --directory.
4163
e0595a73
VS
41642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4167
4ed80652
VS
41682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4171 (grub_minix_read_file): Likewise.
4172 (grub_minix_read_inode): Likewise.
4173 (grub_minix_find_file): Likewise.
4174 (grub_minix_dir): Likewise.
4175
56008077
VS
41762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-setup.c (setup): Fix partition handling and blocklist
4179 check.
4180
ee520775
VS
41812012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
4184 redundant buggy overlap check.
4185
16fc9293
VS
41862012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
4189 and grub-mknetdir.
4190
9bab65c4
VS
41912012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
4194 kh.loadflags on pre-2.00 kernels.
4195
3c491b47
VS
41962012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Terminate UNDI and PXE before launching the payload to avoid problems
4199 with DMA.
4200
4201 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
4202 (grub_loader_flags): ... this. All users updated.
4203 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
4204 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
4205 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
4206 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
4207 function.
4208 (grub_pxe_restore): Likewise.
4209 (fini_hnd): New var.
4210 (GRUB_MOD_INIT): Register shutdown hook.
4211 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
4212 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
4213 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
4214 (grub_loader_set): Rename second argument to flags.
4215
851ffada
VS
42162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4219 written bytes.
4220 (grub_get_num_of_utf8_bytes): New function.
4221 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
4222 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
4223 executing it.
4224 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
4225 (grub_ucs4_to_utf8): Change return type.
4226
491c57a8
VS
42272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4230 warning.
851ffada
VS
4231 * grub-core/fs/bfs.c (hop_level): Likewise.
4232 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 4233
756773df
VS
42342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/lib/adler32.c: Recode due to license unclearness.
4237
fd556a96
VS
42382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
4241 (test_header): Likewise.
4242
9f9d3f69
VS
42432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 Fix --help formatting.
4246
4247 * util/grub-mkconfig_lib.in (print_option_help): New function.
4248 (grub_fmt): Likewise.
4249 * util/grub-install.in: Use print_option_help and grub_fmt.
4250 * util/grub-kbdcomp.in: Likewise.
4251 * util/grub-mkconfig.in: Likewise.
4252 * util/grub-mknetdir.in: Likewise.
4253 * util/grub-mkrescue.in: Likewise.
4254 * util/grub-mkstandalone.in: Likewise.
4255 * util/grub-reboot.in: Likewise.
4256 * util/grub-set-default.in: Likewise.
4257 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4258
561ec77e
VS
42592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * linguas.sh: Remove autogenerated *.po.
4262
7ec2b021
VS
42632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * po/README: Move language fetcing to ...
4266 * linguas.sh: ... here.
4267 * po/README: Point to linguas.sh.
4268
a88f3270
VS
42692012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * po/README: Exclude ko.po due to disclaimer problems.
4272
d61357ce
VS
42732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
4276 len = 0.
4277 (grub_gettext_translate_real): Handle 0th string.
4278 (grub_gettext_translate): Ensure that "" isn't translated.
4279
505e41dc
VS
42802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
4283 TRANSLATORS comment.
4284 (grub_diskfilter_print_partmap): Propagate changing of error into
4285 warning.
4286
e44092db
VS
42872012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
4290 to uint64_t to prevent overflow.
4291 (grub_diskfilter_lv): Increase start_extent and extent_count
4292 to uint64_t to prevent overflow.
4293
9b83956a
VS
42942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * configure.ac: Increase version.
4297
da0d5b3f
VS
42982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
4301
4302 * po/Rules-translit: New file.
4303 * po/arabic.sed: Likewise.
4304 * po/cyrillic.sed: Likewise.
4305 * po/greek.sed: Likewise.
4306 * po/hebrew.sed: Likewise.
4307 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
4308 * po/Makefile.in.in: Add extra_dist4.
4309
ac66b453
VS
43102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4313
4314 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
4315 modify names. Introduce MODE_BIGENDIAN.
4316 * grub-core/fs/minix_be.c: New file.
4317 * grub-core/fs/minix2_be.c: Likewise
4318 * grub-core/fs/minix3_be.c: Likewise.
4319 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
4320 minix3_be.
4321 * grub-core/Makefile.core.def (minix_be): New module.
4322 (minix2_be): Likewise.
4323 (minix3_be): Likewise.
4324
43252012-04-01 Felix <email@hamburg.de>
4326
4327 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
4328 (devs): Add MBP 2011.
4329
0a2d5a82
VS
43302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4333
d1625889
VS
43342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/normal/cmdline.c (print_completion): New field
4337 prompt_len.
4338 (grub_cmdline_get): Handle width properly.
4339
6d36a236
VS
43402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4343
9576977e
VS
43442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 4347 after 29th of February.
9576977e 4348
d73ff15d
VS
43492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Fix exfat endianness handling.
4352
4353 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4354 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4355 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4356 Byte-swap utf16 when necessary.
4357 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4358
bbb39a45
AB
43592012-03-31 Anton Blanchard <anton@samba.org>
43602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Fix btrfs endianness handling.
4363
4364 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4365 (lower_bound): Make root uint64_t. Use root in le.
4366 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4367 (find_path): Fix template key init.
4368 (grub_btrfs_dir): Fix mtime byteswap.
4369 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4370
354e0af7
VS
43712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4374 recursion_depth. Break infinite resursions. All users updated.
4375
4e75f21c
VS
43762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4379 after free.
4380 Reported by: Peter Jones.
4381
25581802
AB
43822012-03-31 Anton Blanchard <anton@samba.org>
4383
4384 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4385 8 bit values.
4386
08fbf92e
VS
43872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * util/grub-install.in: Fix nvram call for PreP.
4390
5d1182a6
VS
43912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4394 the error when some elements are missing into a warning.
4395
3f8cdd90
VS
43962012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4399
51006716
CW
44002012-03-28 Colin Watson <cjwatson@ubuntu.com>
4401
4402 * docs/grub.texi (Invoking grub-probe): New section.
4403 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4404
e1bd676b
VS
44052012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Fix tab and wide character handling in editor and menu.
4408
4409 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4410 agglomerate control characters with combining marks.
4411 (bidi_line_wrap): Allow break on tab.
4412 (grub_unicode_get_comb_start): New function.
4413 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4414 and tab correctly.
4415 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4416 with a space.
4417 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4418 fixed_tab_size. All users updated.
4419 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4420 (grub_term_getcharwidth): Handle \t.
4421 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4422 and copy.
4423
22e6a774
VS
44242012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 Handle big-endian mdraid.
4427
4428 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4429 * grub-core/Makefile.core.def (mdraid09_be): New module.
4430 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4431 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4432 * grub-core/disk/mdraid_linux_be.c: New file.
4433
3c0eae66
VS
44342012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4437
b6cf74c9
VS
44382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4441 missing quotes which caused confusion among translators.
4442
83c93b9c
VS
44432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * util/grub-mkconfig_lib.in: Fix typo.
4446
ac6fd218
VS
44472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4450 spaces.
4451 * tests/grub_script_leading_whitespace.in: New file.
4452 * Makefile.util.def (grub_script_leading_whitespace): New test.
4453
ba287dd8
VS
44542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4457 to work.
4458
d2d58d0a
VS
44592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4462 starts with control character.
4463
0382d9bb
VS
44642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4467 overflow.
4468 (grub_gdb_outbuf): Likewise.
4469
d83ff9f9
VS
44702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4473 zero terminator. Fixes a crash.
4474
2282da4a
VS
44752012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4478 beyond 4 GiB.
4479 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4480 images independently of preffered adderss field.
4481
0ae4f0bd
VS
44822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4485 * grub-core/commands/regexp.c: Likewise.
4486 * grub-core/loader/i386/linux.c: Likewise.
4487 * grub-core/partmap/msdos.c: Likewise.
4488 * grub-core/script/execute.c: Likewise.
4489 * grub-core/term/gfxterm.c: Likewise.
4490
546fbe9b
VS
44912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Add variable parsing in $"..." and fix several mismatches with bash.
4494
4495 * Makefile.util.def (grub_script_gettext): New test.
4496 * grub-core/script/execute.c (parse_string): New function.
4497 (gettext_append): Likewise.
4498 (grub_script_arglist_to_argv): Use gettext_append.
4499 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4500 * tests/grub_script_gettext.in: New file.
4501
9fdb2d7b
VS
45022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Fix handling of leading spaces in scripts.
4505
4506 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4507 spaces.
4508 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4509 other than skipping \r. All users updated.
4510 * tests/grub_script_echo1.in: Add space-related tests.
4511 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4512
1a1ac4f6
VS
45132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4516
b63d89b6
VS
45172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * configure.ac: Bump up the version to beta2.
4520
17f38c0f
VS
45212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Fix gettext reload bugs (e.g. inability to disable gettext
4524 once enabled).
4525
4526 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4527 main_context and secondary_context. All functions updated.
4528 (grub_gettext_translate): Rename to ...
4529 (grub_gettext_translate_real): ... this. Return NULL on failed
4530 translate.
4531 (grub_gettext_translate): Handle secondary context.
4532 (grub_gettext_delete_list): Close file and zero-out the context.
4533 (grub_mofile_open): Don't call grub_gettext_delete_list.
4534 Don't close file.
4535 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4536 if locale="" to avoid pointless error message.
4537 (grub_gettext_env_write_lang): Update lang even if load fails.
4538 Handle secondary context.
4539 (grub_gettext_reread_prefix): New function.
4540 (read_main): Likewise.
4541 (read_secondary): Likewise.
4542 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4543 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4544 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4545 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4546
8e56f870
VS
45472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * configure.ac: Decrease warning level to avoid spurious warnings and
4550 to be able to compile with GCC 4.2.
4551 * Makefile.util.def: Remove -Wno-error=logical-op.
4552
82f6d455
WB
45532012-03-10 William Bittner <william.bittner@gmail.com>
4554
4555 * util/import_unicode.py: Add missing brackets around string for
4556 python 3 support.
4557
1ecd61a4
VS
45582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Fix efi chainloader on network root.
4561
4562 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4563 network devices.
4564 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4565 New function.
4566
14361ee8
VS
45672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4570 unused show_text member.
4571 * docs/grub.texi: Document "text" property.
4572
922aabf3
VS
45732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4576 in dprintf.
4577
ec316771
VS
45782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Fix IMSM handling on Fedora.
4581
4582 * util/getroot.c (grub_util_is_imsm): New function.
4583 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4584
0f021838
VS
45852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * Makefile.am: Strip gold section.
4588 * conf/Makefile.common: Likewise.
4589 * gentpl.py: Likewise.
4590 * grub-core/Makefile.core.def: Likewise.
4591 * grub-core/genmod.sh.in: Likewise.
4592
1039c8eb
VS
45932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4596 * util/grub.d/20_linux_xen.in: Likewise.
4597 Based on Debian patch.
4598
6dd412cd
VS
45992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * util/grub.d/10_linux.in: Fix syntax error resulting in
4602 Richard Laager's patch.
4603 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4604
3fd8bae5
VS
46052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4608 dependencies.
4609
7eea1671
RL
46102012-03-10 Richard Laager <rlaager@wiktel.com>
4611
4612 * util/grub.d/10_linux.in: Fix ZFS root passing.
4613
e8e0566b
VS
46142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4617 * grub-core/commands/xnu_uuid.c: Likewise.
4618 * grub-core/loader/efi/appleloader.c: Likewise.
4619 * grub-core/script/execute.c: Likewise.
4620 * grub-core/script/main.c: Likewise.
4621 * util/grub-mkfont.c: Likewise.
4622
1acc5b1f
VS
46232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * util/grub-mkfont.c (options): Use more appropriate "select" that
4626 "set" for face index.
4627
35d70620
VS
46282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * util/grub-editenv.c (options): Gettextize command summaries.
4631
c9eb96b5
VS
46322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4635 "out of memory" error messagge.
4636
1f493136
VS
46372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4640 of diskfilter for diskfilter on diskfilter support.
4641
6d790129
VS
46422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4645
005f46c9
VS
46462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4649 themes/starfield.
4650
c8f778a0
VS
46512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4654
de1e64eb
VS
46552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4658
c6d54211
VS
46592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4662 of error message.
4663
dd390777
VS
46642012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4667
5fd1c522
VS
46682012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4671 message.
c6d54211 4672 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 4673
fae01f6c
VS
46742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4677 Gettextize.
4678 * util/grub-mount.c (options): Likewise.
4679
292fdaff
VS
46802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4683 gettextize.
4684 * grub-core/commands/search_wrap.c (options): Likewise.
4685
ecdbae77
VS
46862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4689
52bfedfa
VS
46902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4693 size calculation.
4694 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4695 none is known.
4696
55b20e58
VS
46972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4700 "temporary" since it's used in identifier and is limited in space.
4701
fda9d101
VS
47022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * po/POTFILES.in: Regenerate. Include *.h since they contain
4705 translatable strings as well.
4706
6a0295e2
VS
47072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4710 byte-swap on big-endian.
4711 Reported by: Lennart Sorensen
4712
807fb77c
VS
47132012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4716 (allocate_pages): Improve dprintf.
4717 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4718 code32_start. Fill code32_start and kernel_alignment in params.
4719 (grub_cmd_initrd): Use prot_init_space.
4720
61ac50ba
VS
47212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4724
abdd26dd
VS
47252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * util/grub-install.in: Add missing dot at the end of sentence.
4728
6e69da9c
VS
47292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4732 * grub-core/commands/videotest.c: Likewise.
4733 * grub-core/loader/i386/linux.c: Likewise.
4734
4a929343
VS
47352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4738 sentence.
4739 Reported by: Milo Casagrande.
4740
bb51c6c6
VS
47412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4744 * grub-core/commands/gptsync.c: Likewise.
4745 * grub-core/commands/hashsum.c: Likewise.
4746 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4747 * grub-core/commands/legacycfg.c: Likewise.
4748 * grub-core/io/gzio.c: Likewise.
4749 * grub-core/net/net.c: Likewise.
4750 * grub-core/term/gfxterm.c: Likewise.
4751 * grub-core/term/terminfo.c: Likewise.
4752 * grub-core/tests/test_blockarg.c: Likewise.
4753 * grub-core/video/video.c: Likewise.
4754 * util/grub-install.in: Likewise.
4755 * util/grub-mkfont.c: Likewise.
4756
b2b149cb
VS
47572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4760
c7c080ad
VS
47612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 4764 Reported by: David Prévot.
c7c080ad 4765
f2e243c0
VS
47662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4769 description.
4770
09963c76
VS
47712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * util/grub-script-check.c (main): Fix a syntax error message which was
4774 unclear.
4775
a50514a8
VS
47762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4779
4650daec
VS
47802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4783 messages.
4784
47852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
4786
4787 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4788 without argument.
4789 * util/grub-mount.c (options): Likewise.
4790
bbc5a342
VS
47912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4794
ef292a87
VS
47952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/net/http.c: Add TRANSLATORS comments.
4798 * grub-core/normal/cmdline.c: Likewise.
4799 * grub-core/normal/misc.c: Likewise.
4800 * grub-core/partmap/msdos.c: Likewise.
4801 * grub-core/parttool/msdospart.c: Likewise.
4802 * grub-core/script/execute.c: Likewise.
4803 * grub-core/script/main.c: Likewise.
4804 * grub-core/term/terminfo.c: Likewise.
4805 * grub-core/video/bitmap.c: Likewise.
4806 * util/grub-install.in: Likewise.
4807 * util/grub-mkimage.c: Likewise.
4808 * util/grub-mklayout.c: Likewise.
4809 * util/grub-setup.c: Likewise.
4810
0fc19bd0
VS
48112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4814 with similar messages in grub-fstest.
4815
d95862ef
VS
48162012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/grub-install.in: Unify "option requires an argument" message
4819 with similar messages in other files.
4820 * util/grub-mkconfig.in: Likewise.
4821
b7308f90
VS
48222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * util/grub-set-default.in: Replace printf with gettext_printf (the
4825 string in in question is already translated from grub-reboot)
4826
559dc587
VS
48272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * configure.ac: Bump up the version to beta1.
4830
1a11761f
VS
48312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4834 case when min_align = 0.
4835
24539abd
VS
48362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4839 and fix a case when line_start overflows.
4840
32bd735b
VS
48412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * util/grub-reboot.in (usage): Mention id posibility.
4844 * util/grub-set-default.in (usage): Likewise.
4845
1a2fd1e6
VS
48462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4849 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4850 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4851 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4852 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4853 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4854 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4855
90eeab76
VS
48562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/commands/menuentry.c (options): Remove
4859 GRUB_ARG_OPTION_REPEATABLE.
4860 Reported by: Andreas Vogel
4861
5ad1be82
AV
48622012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4863
4864 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4865
cb055286
HE
48662012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4867
4868 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4869 error.
4870
93b1cd79
VS
48712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Use sort -V by the idea of Georgi Georgiev.
4874
4875 * util/grub-mkconfig_lib.in (version_sort): New function.
4876 (version_test_numeric): Use version_sort.
4877
0cdc126c
VS
48782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 Use submenus in grub-mkconfig.
4881
4882 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4883 * util/grub-mkconfig_lib.in (grub_quote): New function.
4884 (gettext_printf): Use gettext and not gettext_quoted to fix several
4885 messages.
4886 * util/grub.d/10_hurd.in: Use submenus.
4887 * util/grub.d/10_kfreebsd.in: Likewise.
4888 * util/grub.d/10_linux.in: Likewise.
4889 * util/grub.d/10_netbsd.in: Likewise.
4890 * util/grub.d/20_linux_xen.in: Likewise.
4891 * util/grub.d/30_os-prober.in: Likewise.
4892 * util/grub.d/10_illumos.in: Add missing quoting.
4893 * util/grub.d/10_windows.in: Likewise.
4894
d9bef9bc
VS
48952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Fix menu title instability bug.
4898
4899 * grub-core/commands/menuentry.c (options): New option --id.
4900 (grub_normal_add_menu_entry): New argument id. All users updated.
4901 (grub_cmd_menuentry): Handle --id.
4902 (grub_menu_init): Accept unknown arguments.
4903 * grub-core/normal/main.c (features): Add feature_menuentry_id and
4904 feature_menuentry_options.
4905 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
4906 saved_entry.
4907 (get_entry_number): Match with id as well.
4908 * include/grub/menu.h (grub_menu_entry): New member id.
4909 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
4910 * util/grub.d/00_header.in: Define menuentry_id_option.
4911 * util/grub.d/10_hurd.in: Define id.
4912 * util/grub.d/10_illumos.in: Likewise.
4913 * util/grub.d/10_kfreebsd.in: Likewise.
4914 * util/grub.d/10_linux.in: Likewise.
4915 * util/grub.d/10_netbsd.in: Likewise.
4916 * util/grub.d/10_windows.in: Likewise.
4917 * util/grub.d/20_linux_xen.in: Likewise.
4918 * util/grub.d/30_os-prober.in: Likewise.
4919
49202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
4921
4922 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
4923 "scope" with "body".
4924
7c8d0ce7
VS
49252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
4928 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
4929 prot_size and prot_file_size.
4930
49de079b
VS
49312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
4934 All users updated. If easily=1 require raid-5/-6 to be full.
4935 (is_node_readable): Likewise.
4936 (scan_devices): Scan incomplete but readable LVs at the end.
4937 (grub_diskfilter_memberlist): Pull missing devices.
4938 (insert_array): Skip scanning until device is complete or scan is
4939 done otherwise.
4940 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
4941 check.
4942 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
4943 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
4944
aff05d45
MG
49452012-03-03 Matthew Garrett <mjg@redhat.com>
49462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 Avoid EFI boot services when loading Linux.
4949
4950 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
4951 avoid_efi_bootservices. All users updated.
4952 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
4953 argument avoid_efi_bootservices. All users updated.
4954 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
4955 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
4956 align, min_align, relocatable, prefered_address. All users updated.
4957 Allocate avoiding boot services if kernel is relocatable.
4958 (grub_cmd_linux): Check if kernel is relocatable.
4959 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
4960 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
4961 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
4962 avoid_efi_boot_services.
4963 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
4964 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
4965 (linux_kernel_params): Likewise.
4966
3935dde2
MG
49672012-03-03 Matthew Garrett <mjg@redhat.com>
49682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 Use EDID on EFI.
4971
4972 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
4973 datasize_out.
4974 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
4975 modes. Set gop_handle.
4976 (grub_video_gop_get_edid): New function.
4977 (grub_gop_get_preferred_mode): Likewise.
4978 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
4979 (grub_video_efi_gop_adapter): Set .get_edid.
4980 * include/grub/efi/edid.h: New file.
4981 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
4982
32107ec0
VS
49832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * util/grub-install.in: Load efivars unconditionally.
4986
e70a2c50
VS
49872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * po/Rules-piglatin: Change suffix from .po-update-en to
4990 .po-update-en-piglatin.
4991
8f9cace1
VS
49922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 Add a pig farm.
4995
4996 * po/piglatin.sed: New file.
4997 * po/en@piglatin.header: Likewise.
4998 * po/Rules-piglatin: Likewise.
4999 * po/README: Add en@piglatin to autogenerated languages.
5000
8f95d002
VS
50012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5004 "Command for ...".
5005 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5006 "Check" since we don't check anything.
5007 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5008 is 64-bit one.
5009 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5010 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5011 (grub_md_sha512_real): Likewise.
5012
805a8dcc
VS
50132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/commands/gptsync.c: Fix typographic quoting.
5016 * grub-core/commands/ieee1275/suspend.c: Likewise.
5017 * grub-core/commands/parttool.c: Likewise.
5018 * grub-core/commands/search_wrap.c: Likewise.
5019 * grub-core/commands/videoinfo.c: Likewise.
5020 * grub-core/gfxmenu/gui_label.c: Likewise.
5021 * grub-core/hello/hello.c: Likewise.
5022 * grub-core/kern/emu/main.c: Likewise.
5023 * grub-core/net/net.c: Likewise.
5024 * grub-core/normal/menu.c: Likewise.
5025 * grub-core/normal/menu_text.c: Likewise.
5026 * grub-core/normal/misc.c: Likewise.
5027 * util/grub-editenv.c: Likewise.
5028 * util/grub-install.in: Likewise.
5029 * util/grub-kbdcomp.in: Likewise.
5030 * util/grub-mkconfig.in: Likewise.
5031 * util/grub-mknetdir.in: Likewise.
5032 * util/grub-mkrescue.in: Likewise.
5033 * util/grub-mkstandalone.in: Likewise.
5034 * util/grub-reboot.in: Likewise.
5035 * util/grub-set-default.in: Likewise.
5036 * util/grub-setup.c: Likewise.
5037 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5038
40211ab8
VS
50392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5042 * grub-core/commands/keystatus.c: Likewise.
5043 * grub-core/commands/loadenv.c: Likewise.
5044 * grub-core/commands/probe.c: Likewise.
5045 * grub-core/commands/regexp.c: Likewise.
5046 * grub-core/commands/true.c: Likewise.
5047 * grub-core/commands/videoinfo.c: Likewise.
5048 * grub-core/disk/cryptodisk.c: Likewise.
5049 * grub-core/disk/ldm.c: Likewise.
5050 * grub-core/disk/loopback.c: Likewise.
5051 * grub-core/disk/luks.c: Likewise.
5052 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5053 * grub-core/kern/disk.c: Likewise.
5054 * grub-core/kern/emu/hostdisk.c: Likewise.
5055
0c7d99c7
VS
50562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5059 * util/grub-install.in: Add missing quote in the comment.
5060
e7d2559b
VS
50612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5064 * grub-core/commands/lsmmap.c: Likewise.
5065 * grub-core/commands/minicmd.c: Likewise.
5066 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5067 * grub-core/commands/regexp.c: Likewise.
5068 * grub-core/gdb/gdb.c: Likewise.
5069 * grub-core/term/gfxterm.c: Likewise.
5070 * util/grub-mkconfig.in: Likewise.
5071 * util/grub-mkfont.c: Likewise.
5072 * util/grub-mklayout.c: Likewise.
5073 * util/grub-mknetdir.in: Likewise.
5074 * util/grub-mkrescue.in: Likewise.
5075 * util/grub.d/30_os-prober.in: Likewise.
5076
49ce9e50
VS
50772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5080 with "Direct color" and "Packed" with "Packed pixel".
5081 (grub_cmd_videoinfo): Simplify legend.
5082
e4b791fa
VS
50832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5086 absolutely unclear error message.
5087
fd1265cb
VS
50882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * util/grub-mkstandalone.in: Remove confusing leftover print.
5091
8822a8a0
VS
50922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5095 comments.
5096 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5097 (GRUB_MOD_INIT): Likewise.
5098 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5099 VGA mode.
5100 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5101 comments.
5102 * util/grub-install.in (usage): Likewise.
5103 Spell ID in whole letters.
5104 Add missing ending dot.
5105 Quote variables.
5106 * util/grub-reboot.in: Fix capitalisation.
5107 * util/grub-set-default.in: Likewise.
5108
937fd0cc
VS
51092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5112 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5113 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5114 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5115 Disable -Werror for -Wdeprecated-declarations.
5116 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5117 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5118 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5119 (grub_util_get_grub_dev): Make luks handling dependent on
5120 HAVE_DEVICE_MAPPER and not __linux__.
5121 (get_win32_path): Fix format security.
5122 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5123 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5124 Don't try grub_find_zpool_from_dir.
5125 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5126 #ifdef-out paresdir.
5127
1bab1ae3
VS
51282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/grub-pe2elf.c (usage): Add missing noreturn.
5131 (write_section_data): Rename name to shname to avoid shadowing.
5132 (write_symbol_table): Rename name to symname to avoid shadowing.
5133 Fix write_reloc_section call.
5134
ef023e42
VS
51352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5138 to ensure that it's after the last byte of .text.
5139
48afcb75
VS
51402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * util/ieee1275/ofpath.c (my_isdigit): New function.
5143 (trailing_digits): Use my_isdigit.
5144 (strip_trailing_digits): Likewise.
5145
88d51eff
VS
51462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5149 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5150
17edc2ba
VS
51512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/kern/i386/pc/startup.S: Define __start.
5154
ad5518d7
VS
51552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5158 strip already transforms he format.
5159
9e95e1bf
VS
51602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5163
9cc3ee5c
VS
51642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * util/grub-install.in: Add missing gettext init.
5167 * util/grub-kbdcomp.in: Likewise.
5168 * util/grub-mkconfig.in: Likewise.
5169 * util/grub-mknetdir.in: Likewise.
5170 * util/grub-mkrescue.in: Likewise.
5171 * util/grub-mkstandalone.in: Likewise.
5172 * util/grub-reboot.in: Likewise.
5173 * util/grub-set-default.in: Likewise.
5174 * util/grub.d/00_header.in: Likewise.
5175 * util/grub.d/10_hurd.in: Likewise.
5176 * util/grub.d/10_windows.in: Likewise.
5177 * util/grub.d/30_os-prober.in: Likewise.
5178 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5179
49e08a06
VS
51802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * po/Rules-swiss: Fix header comment.
5183
3809cb41
AV
51842012-02-29 Andreas Vogel <anvoit>
5185
5186 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
5187 resulted in leak of arguments.
5188
fa6ec573
VS
51892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/boot/i386/pc/startup_raw.S: Use separate
5192 reed_solomon_size const definition instead of computing it since
5193 Apple assembler doesn't support the later.
5194
22899b9c
VS
51952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * gentpl.py (kernel): Rewrite Apple part.
5198
a132afc3
VS
51992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5202
9d742bd4
VS
52032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * util/grub-mkimagexx.c (locate_sections): Support non-standard
5206 ELF section gap.
5207 (load_image): Likewise.
5208
f04a9a21
VS
52092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * configure.ac: Fix a typo in previous commit.
5212
46cf439c
VS
52132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 Don't add -Wl,-N on Apple platform.
5216
5217 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
5218 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
5219
c4c48c54
VS
52202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/Makefile.core.def (lzma_decompress): Use
5223 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
5224
31a12124
VS
52252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/genmod.sh.in: Rewrite the Apple part.
5228
4f3aa1af
VS
52292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
5232 comparison.
5233
7bd8b0c7
VS
52342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * acinclude.m4 (grub_CHECK_PIC): New test.
5237 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
5238
97304d7c
VS
52392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
5242 to avoid the warning.
5243
fb883812
VS
52442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
5247 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
5248 after. All users updated.
5249
a121c964
VS
52502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 Use the common size routine in hostfs so we can read disks as well.
5253
5254 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
5255 (grub_util_get_fd_size): ... this. Return size in bytes.
5256 All users updated.
5257 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
5258 grub_util_get_fd_size.
5259
c66d6410
VS
52602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
5263 Add blocksize retrieval.
5264
dfc8aeb0
VS
52652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * configure.ac: Restore CFLAGS after efiemu check.
5268
403e25a5
VS
52692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5272 Apple bug.
5273
382775d1
VS
52742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5277
6fd4e6e4
VS
52782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
5281 (grub_cmd_halt): Likewise.
5282
bea359d6
VS
52832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
5286 for local arithmetics.
5287 Break %sp init into 2 instructions.
5288 Add 0 byte at the end.
5289
32eb6ee1
VS
52902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5293 before loops.
5294
e8377389
VS
52952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
5298 for context.
5299
8cb17de7
VS
53002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/disk/ldm.c (make_vg): Init part.name.
5303 (grub_ldm_detect): Silence spurious warning.
5304 (grub_util_is_ldm): Likewise.
5305
595717e6
VS
53062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
5309 sane value to avoid a spurious warning.
5310
c4b7e588
VS
53112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
5314 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
5315
59824957
VS
53162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
5319 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
5320
70115b99
VS
53212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
5324 hardcoding the relevant info.
5325
56733740
VS
53262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
5329 missing const qualifiers.
5330 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
5331
43481481
VS
53322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * util/getroot.c [__APPLE__]: Add missing includes.
5335 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
5336
3cb38f01
VS
53372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5340
d9dbf11e
VS
53412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
5344 avoid conflicts.
5345
0c42a45d
VS
53462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5349
46c34eb0
VS
53502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5353 and grub_file_close call.
5354
99ce1597
VS
53552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Add LZSS Mach-O support (needed for new xnu kernelcache).
5358
5359 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5360 * grub-core/loader/lzss.c: New file.
5361 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5362 on Mach-O open failure.
5363 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5364 Don't free cmdsXX in uncompressedXX is set.
5365 (grub_macho_file): Init new fields.
5366 New argument is_64bit. All users updated.
5367 Handle compressed. Error out if no suitable architecture is found.
5368 Don't close file.
5369 (grub_macho_open): New argument is_64bit. All users updated.
5370 * grub-core/loader/macho32.c: Add defines for new fields.
5371 * grub-core/loader/macho64.c: Likewise.
5372 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5373 (grub_macho_parse): Handle compressed.
5374 Defer actual processing if compressed.
5375 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5376 "filename". All users updated.
5377 (grub_macho_size): New argument "filename". All users updated.
5378 (grub_macho_get_entry_point): Likewise.
5379 (grub_macho_load): Handle compressed.
5380 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5381 (GRUB_MACHO_LZSS_OFFSET): New define.
5382 (grub_decompress_lzss): New proto.
5383 * include/grub/machoload.h (grub_macho_file): New fields to handle
5384 compressed.
5385 (grub_macho_contains_macho64): Remove proto.
5386 (grub_macho_contains_macho32): Likewise.
5387 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5388
ebd17d6f
VS
53892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5392
2702b4e4
VS
53932012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Fix make dist.
5396
5397 * Makefile.am (starfield_theme_files): New var.
5398 (starfield_DATA): Use starfield_theme_files.
5399 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5400 Add bootcheck-related files.
5401 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5402 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5403 and font_char_metrics.txt.
5404 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5405 (setjmp): Add lib/ia64/longjmp.S.
5406 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5407 * po/POTFILES.in: Regenerate.
5408 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5409 DISTFILES.common.extra1.
5410 * util/devicemap.c: Removed.
5411 * grub-core/lib/i386/relocator_backward.S: Likewise.
5412 * util/import_gcry.py: Remove unused files. Add extra_dist for
5413 ChangeLog.
5414
cf1adfdf
VS
54152012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5418 grub_gettext_delete_list before changing grub_gettext_max to avoid
5419 running out of array bounds.
5420
54212012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
5422
5423 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5424 grub_vga_text_init/grub_vga_text_fini.
5425
cf1adfdf 54262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
5427
5428 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5429
541d92e9
VS
54302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * configure.ac: Bump to 2.00~beta0.
5433
7931dddf
VS
54342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5437 missing initialisation.
5438
f1b16fa3
VS
54392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5442
83ddae23
VS
54432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 Support v2 xnu boot arguments.
5446
5447 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5448 New argument fsbfreq_out.
5449 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5450 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5451 be used.
5452 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5453 darwin_version.
5454 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5455 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5456 (grub_xnu_boot_params): Rename to ...
5457 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5458 (grub_xnu_boot_params_v2): New struct.
5459
dc693fe6
VS
54602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5463 zeroing of CRC field before computing CRC.
5464
5a6e39c2
VS
54652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5468 Change order of allocations to decrease fragmentation.
5469
6c21f5d7
VS
54702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5473
cfe456dc
CW
54742012-02-27 Colin Watson <cjwatson@ubuntu.com>
5475
5476 Use write-combining MTRR to speed up video with buggy BIOSes.
5477
5478 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5479 (cpuid): New define.
5480 (rdmsr): Likewise.
5481 (wrmsr): Likewise.
5482 (mtrr_base): Likewise.
5483 (mtrr_mask): Likewise.
5484 (grub_vbe_enable_mtrr_entry): New function.
5485 (grub_vbe_enable_mtrr): Likewise.
5486 (grub_vbe_disable_mtrr): Likewise.
5487 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5488 control off to BIOS.
5489 (grub_video_vbe_init): Fill mtrr.
5490 (grub_video_vbe_fini): Disable mtrr.
5491 (grub_video_vbe_get_info_and_fini): Likewise.
5492 (grub_video_vbe_setup): Enable mtrr.
5493
e3c78337
CW
54942012-02-27 Colin Watson <cjwatson@ubuntu.com>
5495
5496 * include/grub/partition.h (grub_partition_map): Change prototype of
5497 embed to take a maximum value for nsectors.
5498 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5499 * include/grub/fs.h (grub_fs): Likewise.
5500 * grub-core/partmap/msdos.c (embed_signatures): New array.
5501 (pc_partition_map_embed): Check for and avoid sectors matching any
5502 of the signatures in embed_signatures, up to max_nsectors.
5503 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5504 returned sector map to max_nsectors.
5505 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5506 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5507 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5508 * util/grub-setup.c (setup): Allow for the embedding area being
5509 split into multiple blocklists. Tell dest_partmap->embed the
5510 maximum number of sectors we care about.
5511
55122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5515 Specify blocklist_install and reserver_first_sector for all fs.
5516 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5517 blocklists.
5518
984b973f
VS
55192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * util/grub-install.in: Clarify strings.
5522 Fix source dir check.
5523
f122e0d6
RL
55242012-02-27 Richard Laager <rlaager@wiktel.com>
5525
5526 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5527 "zfs" and "fuse.zfs" as synonyms.
5528
071114bb
VS
55292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * configure.ac: Put platform and target_cpu substitutions back since
5532 they are used for directories.
5533
817e6abc
RL
55342012-02-27 Richard Laager <rlaager@wiktel.com>
55352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5538 * util/grub.d/20_linux_xen.in: Likewise.
5539
897b7419
RL
55402012-02-27 Richard Laager <rlaager@wiktel.com>
5541
5542 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5543 with full paths.
5544
a414bd15
RL
55452012-02-27 Richard Laager <rlaager@wiktel.com>
5546
5547 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5548 unescape.
5549
30ac48c4
VS
55502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Don't use insecure popen in getroot.
5553
5554 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5555 (exec_pipe): ... here.
5556 (find_root_devices_from_poolname): Use exec_pipe.
5557
53f13848
VS
55582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Remove platform and target_cpu replacement.
5561
5562 * configure.ac: Remove platform and target_cpu substitutions.
5563 * tests/util/grub-shell.in: Use modinfo.
5564 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5565 explicitly.
5566
90cb2803
VS
55672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 Autodetect platform in grub-install but allow override.
5570
5571 * util/grub-install.in: Autodetect platform. Support --target and
5572 --directory. Read platform from modinfo.sh.
5573
b9136427
VS
55742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 Support btrfs multi-volume probe.
5577
5578 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5579 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5580 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5581 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5582 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5583 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5584 grub_find_root_devices_from_btrfs if on btrfs.
5585
c36e5cd1
VS
55862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 Remove any awareness of *.c util files about target.
5589
5590 * Makefile.util.def (grub-setup): Split to ...
5591 (grub-bios-setup): ... and this.
5592 (grub-sparc64-setup): ... and this.
5593 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5594 * docs/man/grub-setup.h2m: Split into ...
5595 * docs/man/grub-sparc64-setup.h2m: ... this.
5596 * docs/man/grub-bios-setup.h2m: ... and this.
5597 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5598 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5599 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5600 (grub_target_addr_t): Remove.
5601 (grub_target_size_t): Remove.
5602 (grub_target_ssize_t): Remove.
5603 * util/grub-install.in: Use new grub-*-setup.
5604 * util/grub-mkimagexx.c (Elf_Word): New define.
5605 (Elf_Half): Likewise.
5606 (Elf_Section): Likewise.
5607 (ELF_ST_TYPE): Likewise.
5608 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5609 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5610
584b2f8a
VS
56112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 Replace grub_target_addr with more appropriate types.
5614
5615 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5616 grub_target_addr with grub_addr.
5617 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5618 grub_target_addr with grub_port.
5619 (grub_cmd_write): Likewise.
5620 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5621 grub_target_addr with grub_addr.
5622 (grub_cmd_write): Likewise.
5623 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5624
5a0dc6fb
VS
56252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5628 const qualifier for vendor_guid.
5629
786aff6e
VS
56302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5633 const qualifier.
5634 (efiemu_memequal): Likewise.
5635 (find_variable): Likewise.
5636
49017b17
VS
56372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 Fix missing console prototype on qemu-mips.
5640
5641 * include/grub/mips/qemu_mips/console.h: New file.
5642
c5988629
MG
56432012-02-27 Matthew Garrett <mjg@redhat.com>
56442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5647 * include/grub/efi/efi.h: Likewise.
5648 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5649 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5650 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5651 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5652 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5653 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5654
e33f8d69
MG
56552012-02-27 Matthew Garrett <mjg@redhat.com>
5656
5657 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5658
fb312cd9
VS
56592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5662 error.
5663
7134247c
VS
56642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * configure.ac: Remove inappropriate use of program_transform_name
5667 on grubdir and bootdir but allow explicit specification of those
5668 variables.
5669
6a313124
VS
56702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * util/grub-mknetdir.in (grub_prefix): Removed.
5673 (subdir): Use @bootdirname@ and @grubdirname@.
5674
2311c5ca
VS
56752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5678
7d5d60f7
VS
56792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * po/POTFILES.in: Regenerated.
5682
8151bc82
VS
56832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 Remove improper use of program_transform_name on pkglibrootdir.
5686
5687 * configure.ac (pkglibrootdir): Removed.
5688 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5689 * util/grub-mkimage.c: Likewise.
5690
b4a6a533
VS
56912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5694 warning.
5695
668f304f
VS
56962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * util/grub-install.in: Use file identifier if no UUID is available
5699 or user explicitly prompted for it.
5700
665f2341
NP
57012012-02-27 Navdeep Parhar <nparhar@gmail.com>
5702
5703 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5704 (freebsd_get_zfs): New function.
5705 (grub_freebsd_boot): Pass zfs UUID.
5706 (grub_cmd_freebsd): Set zfs UUID.
5707
8151bc82 57082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
5709
5710 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5711 pkglibrootdir.
5712
e4c498a1
MG
57132012-02-27 Mike Gilbert <floppym@gentoo.org>
5714
5715 Add configure flag to control libzfs integration.
5716
5717 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5718
1e9a9a3f
VS
57192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5722 device.
5723 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5724 small devices.
5725
036985b8
VS
57262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5729 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5730 be used on non-modules.
5731
5732 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5733 Rename to grub_boot_init.
5734 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5735 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5736 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5737 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5738 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5739 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5740 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5741 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5742 includes.
5743 (grub_machine_init): Remove empty inits.
5744 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5745 includes.
5746 (grub_machine_init): Remove empty inits.
5747 * grub-core/term/arc/console.c: Remove explicit proto.
5748 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5749 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5750 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5751 grub_at_keyboard_fini.
5752 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5753 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5754 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5755 grub_gfxterm_fini.
5756 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5757 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5758 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5759 grub_vgatext_fini.
5760 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5761 * grub-core/term/serial.c (GRUB_MOD_INIT)
5762 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5763 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5764 grub_serial_fini.
5765 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5766 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5767 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5768 grub_terminfo_fini.
5769 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5770 (GRUB_MOD_FINI): Likewise.
5771 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5772 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5773 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5774 grub_video_radeon_fuloong2e_fini.
5775 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5776 [LOONGSON]: Rename to grub_video_sis315pro_init.
5777 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5778 grub_video_sis315pro_fini.
5779 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5780 [LOONGSON]: Rename to grub_video_sm712_init.
5781 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5782 grub_video_sm712_fini.
5783 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5784 (grub_at_keyboard_fini): Likewise.
5785 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5786 Don't declare grub_{modname}_init.
5787 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5788 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5789 New proto.
5790 (grub_keylayouts_fini) [!EMU]: Likewise.
5791 * include/grub/serial.h (grub_serial_init) [!EMU]:
5792 New proto.
5793 (grub_serial_fini) [!EMU]: Likewise.
5794 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5795 New proto.
5796 (grub_terminfo_fini) [!EMU]: Likewise.
5797 * include/grub/video.h (grub_font_init) [!EMU]:
5798 New proto.
5799 (grub_font_fini) [!EMU]: Likewise.
5800 (grub_gfxterm_init) [!EMU]: Likewise.
5801 (grub_gfxterm_fini) [!EMU]: Likewise.
5802 (grub_video_sm712_init) [!EMU]: Likewise.
5803 (grub_video_sm712_fini) [!EMU]: Likewise.
5804 (grub_video_sis315pro_init) [!EMU]: Likewise.
5805 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5806 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5807 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5808
d5534665
VS
58092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Make nand a prefix for nand devices.
5812
5813 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5814
10133b5f
VS
58152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5818 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5819
8e307a62
VS
58202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * include/grub/env.h (grub_env_find): Remove prototype.
5823 * grub-core/kern/env.c (grub_env_find): Make static.
5824 (grub_env_set): Remove useless set.
5825
a4c65f34
VS
58262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/kern/i386/realmode.S: Remove useless align.
5829
d87893d5
VS
58302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * include/grub/dl.h (grub_dl_load_file): Don't export.
5833
50159add
VS
58342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5837 grub_dprintf.
5838
b2582b84
VS
58392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5842 grub_errors.
5843 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5844 not reloading whole superblock but only the part which is really needed.
5845 Remove useless grub_errors.
5846 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5847 grub_errors.
5848
e2a83395
VS
58492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Don't export grub_get_rtc.
5852
5853 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5854 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5855
e7d2a906
VS
58562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5859
6cf1363b
VS
58602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 5863 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 5864
eece3349
VS
58652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 Remove prio_list.
5868
5869 * include/grub/list.h (grub_prio_list): Removed.
5870 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5871 GRUB_COMMAND_PRIO_MASK.
5872 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5873 GRUB_COMMAND_FLAG_ACTIVE.
5874 (grub_prio_list_insert): Removed.
5875 (grub_prio_list_remove): Likewise.
5876 (GRUB_AS_PRIO_LIST): Likewise.
5877 (GRUB_AS_PRIO_LIST_P): Likewise.
5878 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5879 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5880 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5881 * grub-core/kern/command.c (grub_register_command_prio): Inline
5882 the prio_list code.
5883 (grub_unregister_command): Likewise.
5884
94f064b4
VS
58852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Fix interrupt mixup from previous commit.
5888
5889 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
5890 (grub_realidt): New var.
5891 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
5892 Load idt.
5893 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
5894 New declaration.
5895 (grub_relocator16_boot): Set grub_relocator16_idt.
5896 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
5897 (LOCAL(realidt)): ... this.
5898 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
5899 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
5900 (grub_realidt): New variable.
5901
27317084
VS
59022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
5905 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
5906 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
5907 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
5908 Gettextize.
5909 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
5910 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
5911 * po/POTFILES.in: Regenerate.
5912
47b40053
VS
59132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
5916 errors.
5917
2b343101
VS
59182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
5921 \0.
5922 (add_length): Likewise.
5923
ff27c3dd
LK
59242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
59252012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
5926
5927 GDB serial and backtrace support.
5928
5929 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
5930 (prot_to_real): Likewise.
5931 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
5932 * grub-core/Makefile.core.def (backtrace): New module.
5933 (gdb): Likewise.
5934 * grub-core/gdb/cstub.c: New file.
5935 * grub-core/gdb/gdb.c: Likewise.
5936 * grub-core/gdb/i386/idt.c: Likewise.
5937 * grub-core/gdb/i386/machdep.S: Likewise.
5938 * grub-core/gdb/i386/signal.c: Likewise.
5939 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 5940 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
5941 * include/grub/backtrace.h: Likewise.
5942 * include/grub/gdb.h: Likewise.
5943 * include/grub/i386/gdb.h: Likewise.
5944
59452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
5946
5947 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
5948 New function.
5949 (add_length): Likewise.
5950 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
5951 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
5952 proto.
5953 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
5954 __argp_get_display_len.
5955
ff27c3dd 59562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
5957
5958 $"..." support in scripts.
5959
5960 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
5961 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
5962 * grub-core/script/yylex.l: Likewise.
5963 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
5964 value.
5965
ff27c3dd 59662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
5967
5968 * gentpl.py: Remove obsolete pkglib_DATA handling.
5969
ff27c3dd 59702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
5971
5972 Don't transform PACKAGE_TARNAME following a discussion on autoconf
5973 mailing list.
5974
5975 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
5976 * util/grub-kbdcomp.in: Likewise.
5977 * util/grub-mkconfig.in: Likewise.
5978 * util/grub-mkconfig_lib.in: Likewise.
5979 * util/grub-mknetdir.in: Likewise.
5980 * util/grub-mkrescue.in: Likewise.
5981 * util/grub-mkstandalone.in: Likewise.
5982 * util/grub-reboot.in: Likewise.
5983 * util/grub-set-default.in: Likewise.
5984 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5985
ff27c3dd 59862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
5987
5988 Remove GRUB_PREFIX.
5989
5990 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
5991 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5992 used for backward compatibility.
5993
ff27c3dd 59942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
5995
5996 Add new all_video module.
5997
5998 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5999 * grub-core/Makefile.core.def (all_video): New module.
6000 * grub-core/genmoddep.awk: Generate dependency of all_video from
6001 video.lst.
6002 * grub-core/lib/fake_module.c: New file.
6003 * grub-core/normal/main.c (features): Add feature_all_video_module.
6004 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6005 don't do explicit search again.
47454da5 6006 insmod all_video in load_video if available.
22c7ce85 6007
ff27c3dd 60082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6009
6010 Another round of string clarification and adding TRANSLATORS comments.
6011
ff27c3dd 60122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6013
6014 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6015
ff27c3dd 60162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6017
6018 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6019 to grub_ssize_t.
6020 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6021 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6022
ff27c3dd 60232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6024
6025 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6026 trailing newline implicitly. All users updated.
6027
ff27c3dd 60282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6029
6030 Implement serial on IEEE1275 and EFI.
6031
6032 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6033 on emu. Mention arc and emu as the only platforms without serial
6034 support.
6035 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6036 ieee1275 platforms.
6037 * grub-core/term/efi/serial.c: New file.
6038 * grub-core/term/ieee1275/serial.c: Likewise.
6039 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6040 specification if no ns8250 driver is available.
6041 (grub_cmd_serial): Likewise.
6042 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6043 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6044 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6045 (grub_efi_parity_type_t): New type.
6046 (grub_efi_stop_bits_t): Likewise.
6047 (grub_efi_serial_io_interface): New struct.
6048 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6049 available for all interfaces.
6050 Add EFI and IEEE1275 fields.
6051 (grub_ofserial_init): New proto.
6052 (grub_efiserial_init): Likeiwse.
6053 * util/grub.d/00_header.in: Don't check for the presence of serial
6054 module.
6055
ff27c3dd 60562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6057
6058 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6059 name as if it was an alias.
6060
114076ef
VS
60612012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/commands/lsacpi.c (options): Fix typo.
6064
6a656b0e
VS
60652012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Convert grub-emu to argp.
6068
6069 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6070 emu.
6071 * util/argp_common.c: Rename to ...
6072 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6073 Add missing includes.
6074 * grub-core/kern/emu/main.c: Convert to argp.
6075 * po/POTFILES.in: Regenerate.
6076 * util/grub-install.in (usage): Make first letter lowcase in messages
6077 for uniformity.
6078 * util/grub-setup.c (options): Likewise.
6079
1e3f8ae8
VS
60802012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6083 Put back accidently commented-out code.
6084
ed167a80
VS
60852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6088 loop check using Brent algorithm.
6089 (grub_hfsplus_btree_search): Likewise.
6090
6753c0ec
VS
60912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/grub-install.in: Fix usage of wrong device for PreP install.
6094
4e27343f
VS
60952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * conf/Makefile.common (CFLAGS_GNULIB): Add
6098 -Wno-unsafe-loop-optimizations.
6099 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6100 on tools.
6101 * grub-core/commands/legacycfg.c: Add pragma to skip
6102 -Wunsafe-loop-optimizations.
6103 (check_password_md5_real): Fix loop counter type.
6104 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6105 reading.
6106 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6107 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6108 loop condition.
6109 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6110 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6111 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6112 condition.
6113 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6114 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6115 avoid possible infinite loops.
6116 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6117 and -Wunsafe-loop-optimizations.
6118 * grub-core/script/yylex.l: Likewise.
6119 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6120 (print_glyphs): Avoid infinite loops.
6121 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6122
697f18b0
GS
61232012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6124
6125 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6126 to avoid infinite loop.
6127 (disp_acpi_rsdt_table): Likewise.
6128
274416e8
VS
61292012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/font/font.c (grub_font_load): Add support for default
6132 path for fonts ($prefix/fonts).
6133 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6134 for checking if string is a path.
6135 * grub-core/normal/main.c (features): Add feature_default_font_path.
6136 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6137 * util/grub.d/00_header.in: Use default directory if possible.
6138 * util/grub-install.in: Install unicode.pf2.
6139
b3e08622
VS
61402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6143 * po/Rules-swiss: New file.
6144 * po/swiss.sed: Likewise.
6145
fe42ce09
VS
61462012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/fs/btrfs.c (find_device): Fix typos.
6149 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6150 * util/grub-mkrelpath.c (argp_parser): Likewise.
6151 Reported by: Yuri Chornoivan.
6152
72f1d065
DO
61532012-02-23 Dalet Omega <daletomega@gmail.com>
6154
6155 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6156 for usual informative messages.
6157
c5884973
DO
61582012-02-23 Dalet Omega <daletomega@gmail.com>
6159
6160 Starfield theme.
6161
6162 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6163 * conf/Makefile.common: Define starfielddir.
6164 * configure.ac: Configure starfield.
6165 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6166 * themes/starfield/README: Likewise.
6167 * themes/starfield/blob_w.png: Likewise.
6168 * themes/starfield/boot_menu_c.png: Likewise.
6169 * themes/starfield/boot_menu_e.png: Likewise.
6170 * themes/starfield/boot_menu_n.png: Likewise.
6171 * themes/starfield/boot_menu_ne.png: Likewise.
6172 * themes/starfield/boot_menu_nw.png: Likewise.
6173 * themes/starfield/boot_menu_s.png: Likewise.
6174 * themes/starfield/boot_menu_se.png: Likewise.
6175 * themes/starfield/boot_menu_sw.png: Likewise.
6176 * themes/starfield/boot_menu_w.png: Likewise.
6177 * themes/starfield/slider_c.png: Likewise.
6178 * themes/starfield/slider_n.png: Likewise.
6179 * themes/starfield/slider_s.png: Likewise.
6180 * themes/starfield/src/blob_nw.xcf: Likewise.
6181 * themes/starfield/src/bootmenu/: Likewise.
6182 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6183 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
6184 * themes/starfield/src/bootmenu/side.xcf: Likewise.
6185 * themes/starfield/src/slider_c.xcf: Likewise.
6186 * themes/starfield/src/slider_n.xcf: Likewise.
6187 * themes/starfield/src/slider_s.xcf: Likewise.
6188 * themes/starfield/src/terminalbox/: Likewise.
6189 * themes/starfield/src/terminalbox/center.xcf: Likewise.
6190 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
6191 * themes/starfield/src/terminalbox/side.xcf: Likewise.
6192 * themes/starfield/starfield.png: Likewise.
6193 * themes/starfield/terminal_box_c.png: Likewise.
6194 * themes/starfield/terminal_box_e.png: Likewise.
6195 * themes/starfield/terminal_box_n.png: Likewise.
6196 * themes/starfield/terminal_box_ne.png: Likewise.
6197 * themes/starfield/terminal_box_nw.png: Likewise.
6198 * themes/starfield/terminal_box_s.png: Likewise.
6199 * themes/starfield/terminal_box_se.png: Likewise.
6200 * themes/starfield/terminal_box_sw.png: Likewise.
6201 * themes/starfield/terminal_box_w.png: Likewise.
6202 * themes/starfield/theme.txt: Likewise.
6203
17d73325
VS
62042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * util/grub.d/00_header.in: Add missing export theme.
6207
dbebaf92
VS
62082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
6211 already included.
6212 Reported by: Eren D.
6213
3d68bffb
VS
62142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * conf/Makefile.common (grubdatadir): Removed.
6217 (Makefile.am): Move eveything grubdata to pkgdata.
6218
4b59234d
VS
62192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/commands/acpihalt.c (get_sleep_type):
6222 Remove unused variable.
6223
463dcadc
VS
62242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
6227 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
6228 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
6229 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
6230 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
6231 i18n with gettext no-op.
6232 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
6233 GRUB_ACPI_OPCODE_STRING_CONST.
6234 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
6235 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
6236
e5b90c82
VS
62372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * po/POTFILES.in: Regenerate.
6240
2a704ca9
VS
62412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
6244 -Wno-error=missing-noreturn.
6245
84f9d341
VS
62462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
6249 condition to avoid possibly infinite loops.
6250 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
6251 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
6252
d46683f9
VS
62532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
6256 condition to avoid possibly infinite loops.
6257
c44866b2
VS
62582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
6261 on show_error.
6262
96790539
VS
62632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6266
1ba7e295
VS
62672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6270
21ffe8f1
VS
62712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * util/bin2h.c (usage): Add missing attribute noreturn.
6274
0ccb6b3c
VS
62752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
6278 if the size isn't divisible by 512.
6279
b00d7fb6
VS
62802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 Make list_push and list_remove functions rather than inline functions
6283 to decrease size and avoid aliasing violations.
6284
6285 * include/grub/list.h (grub_list_push): Move to ...
6286 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
6287 * include/grub/list.h (grub_list_remove): Move to ...
6288 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
6289
9d369087
VS
62902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6293 and -Wunused-result.
6294
af0250d9
VS
62952012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
6298 Reported by: Seth Goldberg
6299
aad32b14
VS
63002012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6303
ac96441c
ST
63042012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
6305
6306 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
6307 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
6308 command line.
6309 * docs/grub.texi (Simple configuration): Document
6310 GRUB_CMDLINE_GNUMACH.
6311
63122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
6313
6314 * conf/Makefile.common (platform_SCRIPTS): New variable.
6315 (platform_PROGRAMS): Likewise.
6316 * gentpl.py: Mark *,module and *.image for install.
6317 * grub-core/gdb_grub.in: Add a notice of expected environment.
6318 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
6319 (gmodule.pl): Likewise.
6320
ac96441c 63212012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
6322
6323 Replace grub_checkkey with grub_getkey_noblock.
6324
6325 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
6326 (grub_getkey_noblock): ... this. All users updated.
6327
ac96441c 63282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
6329
6330 * grub-core/kern/emu/console.c: Move to ...
6331 * grub-core/term/emu/console.c: ...here.
6332 (grub_ncurses_getkey): Fix return value if no key is detected.
6333
e51b5666
VS
63342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
6337 (grub_unit_test_fini): Likewise.
6338 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
6339
63402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * include/grub/test.h (GRUB_UNIT_TEST)
6343
d9a62292
VS
63442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/script/execute.c (grub_script_break): Clarify logic.
6347 Better error handling.
6348 (grub_script_return): Likewise.
6349 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6350
77c9182f
VS
63512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6354 rimplicit redifinition.
6355
edb13cf9
VS
63562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6359 GRUB.
6360
a9e9dc7c
VS
63612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6364 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6365 prompt here.
6366
b4ba8e02
VS
63672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6370 as GRUB_ERR_BUG. Don't malloc if no device is available.
6371
dded5540
VS
63722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6375 Mark calling with invalid term as GRUB_ERR_BUG.
6376
0cf69874
VS
63772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6380 packets rather than raising an error.
6381
59bfe502
VS
63822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6385 in if.
6386
db5fc596
VS
63872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6390 diagnostic to dprintf.
6391 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6392
e4b7f404
VS
63932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6396 device name.
6397
e7b02f9e
VS
63982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6401 (grub_ntfs_iterate_dir): Likewise.
6402
0331e102
VS
64032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 Efiemu stylistic fixes and gettext.
6406
6407 * grub-core/efiemu/i386/loadcore32.c
6408 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6409 * grub-core/efiemu/i386/loadcore64.c
6410 (grub_arch_efiemu_relocate_symbols64): Likewise.
6411 * grub-core/efiemu/i386/pc/cfgtables.c
6412 (grub_machine_efiemu_init_tables): Likewise.
6413 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6414 (grub_efiemu_loadcore_initXX): Add a filename argument.
6415 All users updated.
6416 Improved error message.
6417 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6418 Add a filename argument.
6419 All users updated.
6420 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6421 Reclassify double relocation as GRUB_ERR_BUG.
6422
306fc074
VS
64232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6426 handling.
6427
794d8ef2
VS
64282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6431 on partition.
6432
64332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
6434
6435 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6436
794d8ef2 64372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
6438
6439 Improve string. Gettextize.
6440
78dde88e
VS
64412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6444 utils.
6445 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6446
4786a90f
VS
64472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6450 [GRUB_UTIL]: New function.
6451 (insert_array) [GRUB_UTIL]: Store partmaps.
6452 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6453 partmaps.
6454 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6455 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6456 (probe_abstraction): Print diskfilter and not raid.
6457 Reported by: Lennart Sorensen
6458
0b6225bd
VS
64592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6462 * util/grub-mkimagexx.c (MASK3): New define.
6463 (add_value_to_slot_20b): Use MASK3.
6464 (add_value_to_slot_21): Likewise.
6465 (relocate_addresses): Fix format specification.
6466 (load_image): Explicitly init symtab_section.
6467
b055f8f6
VS
64682012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6471 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6472
b77c2fb7
VS
64732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6476 on powerpc.
6477 Reported by: Lennart Sorensen
6478
e3ec28ab
VS
64792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * gentpl.py: Add missing license header.
6482 * docs/grub.texi: Update copyright year.
6483
c8d9ead6
GS
64842012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6485
6486 Source grub-mkconfig_lib from the build directory at build time.
6487 Suggested by: Vladimir Serbinenko.
6488
6489 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6490 * util/grub-install.in: Define pkgdatadir if not already set, and source
6491 grub-mkconfig_lib from there.
6492 * util/grub-kbdcomp.in: Likewise.
6493 * util/grub-mkconfig.in: Likewise.
6494 * util/grub-mknetdir.in: Likewise.
6495 * util/grub-mkrescue.in: Likewise.
6496 * util/grub-mkstandalone.in: Likewise.
6497 * util/grub-reboot.in: Likewise.
6498 * util/grub-set-default.in: Likewise.
6499 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6500
ebcecdf1
VS
65012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Increase warning level.
6504
6505 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6506 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6507 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6508 (TARGET_CFLAGS): Likewise.
6509 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6510 * grub-core/Makefile.core.def (decompressor_xz): Add
6511 -Wno-unreachable-code.
6512 (normal): Add -Wno-redundant-decls.
6513 (xzio): Add -Wno-unreachable-code.
6514 (lzopio): Add -Wno-redundant-decls -Wno-error.
6515 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6516 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6517 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6518 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6519 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6520 * grub-core/kern/i386/coreboot/init.c: Add exception to
6521 -Wsuggest-attribute=noreturn.
6522 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6523 * grub-core/kern/ia64/dl_helper.c: Likewise.
6524 * grub-core/kern/mips/dl.c: Likewise.
6525 * grub-core/kern/sparc64/dl.c: Likewise.
6526 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6527 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6528 (memcmp): Likewise.
6529 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6530 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6531 * grub-core/loader/mips/linux.c: Likewise.
6532 * grub-core/loader/multiboot_elfxx.c: Likewise.
6533 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6534 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6535 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6536 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6537 fixme.
6538 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6539 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6540 Fix prototype.
6541
37bb97fe
VS
65422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6545 address.
6546
29a3550b
VS
65472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6550 Avoid improper use of strings.
6551 (grub_cmd_legacy_initrdnounzip): Likewise.
6552
dfdffd0d
VS
65532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6556 attribute.
6557 (grub_util_info): Likewise.
6558 (grub_util_error): Likewise.
6559
102fae4a
VS
65602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6563 * util/grub-fstest.c (fstest): Likewise.
6564
7e94d044
VS
65652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6568 (grub_md_sha512_real): Likewise.
6569 (grub_util_get_geli_uuid): Likewise.
6570 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6571 (grub_util_biosdisk_open): Fix format specification.
6572 Respect format security.
6573 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6574 (xrealloc): Likewise.
6575 (xasprintf): Likewise.
6576
5ebd9769
VS
65772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 * util/import_gcry.py: Include grub/crypto.h in init.c.
6580
495fc8c1
VS
65812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6584 (generate_image): Make prefix a const char *.
6585 Fix format specifications. Respect format security.
6586 Avoid void * arithmetics.
6587 Avoid shadowing.
6588 (argp_parser): Remove unused variable. Respect format security.
6589 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6590 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6591 (count_funcs): Remove unused variable.
6592 (relocate_addresses): Fix format specification.
6593 Disable x86-64 with elf32. Remove unused variables.
6594 (add_fixup_entry): Avoid shadowing.
6595 (make_reloc_section): Fix format specification.
6596 Use assert.
6597 (locate_sections): Fix format specifications.
6598 (load_image): Avoid shadowing.
6599
043c2ea3
VS
66002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6603 Fix format specifications. Respect format security.
6604 Don't translate already translated grub_errmsg.
6605 (argp_parser): Remove unused variable
6606
3ec65a81
VS
66072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6610
a4d9fe4a
VS
66112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6614 (main): Likewise. Use xmalloc. Respect format security.
6615
15b81d49
VS
66162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6619 a const char *.
6620 (argp_parser): Remove unused variable.
6621
31731fc0
VS
66222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6625 (add_pixel): Make static.
6626 (add_font): Likewise.
6627 (write_string_section): Make name and str a const char *.
6628 (write_be16_section): Make name a const char *.
6629 (print_glyphs): Make static.
6630 (write_font_ascii_bitmap): Likewise.
6631 (write_font_width_spec): Likewise.
6632 (write_font_pf2): Likewise.
6633 (argp_parser): Remove unused variable.
6634 Respect format security.
6635 (main): Avoid shadowing. Respect format security.
6636
0809527b
VS
66372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * util/grub-editenv.c (argp_parser): Make static.
6640 (create_envblk_file): Use xmalloc.
6641 (open_envblk_file): Likewise.
6642 Resepect format security.
6643 (set_variables): Respect format security.
6644
45b0c8b7
VS
66452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/getroot.c (grub_find_device): Respect format security.
6648 (get_mdadm_uuid): Remove unused variable.
6649 (grub_util_pull_device): Dont call gettext on already translated
6650 grub_errmsg.
6651 (find_system_device): Remove unused variable.
6652 (grub_util_get_grub_dev): Likewise.
6653 (grub_make_system_path_relative_to_its_root): Respect format security.
6654
1b024b4e
VS
66552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * util/grub-fstest.c (execute_command): Make first argument
6658 a const char *.
6659 (read_file): Avoid shadowing.
6660 Reuse underlying error message if device open fails.
6661 (cmd_cmp): Respect format security.
6662 (root): Make const char *.
6663 (fstest): Remove args argument and use global copy.
6664 Respect format security.
6665 (argp_parser): Make static.
6666 (main): Make default_root const char *.
6667
5d1d4e28
VS
66682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * util/grub-mount.c (root): Make const char *.
6671 (execute_command): Make first argument a const char *.
6672 (fuse_init): Respect format security.
6673 (argp_parser): Make static. Remove unused variable.
6674 (main): Make default_root a const char *.
6675 Respect format security.
6676
36eb7379
VS
66772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * util/grub-probe.c (probe): Don't call gettext on already translated
6680 grub_errmsg.
6681 Remove unused variables.
6682 (argp_parser): Remove unused variable.
6683
76fb2ea9
VS
66842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * util/grub-script-check.c (argp_parser): Remove unused variable.
6687 (main): Rename read to curread to avoid shadowing.
6688
56c98584
VS
66892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * util/misc.c (grub_util_write_image_at): Fix format specification.
6692 (grub_util_write_image): Likewise.
6693 (grub_script_execute_argument_to_string): Removed (unused).
6694 (grub_script_execute_menuentry): Likewise.
6695 (grub_putchar): Likewise.
6696
164ebb48
VS
66972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6700 (FUNCTION) [GRUB_UTIL]: Likewise.
6701 (VARIABLE) [GRUB_UTIL]: Likewise.
6702
44318d61
VS
67032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6706 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6707
31a26002
VS
67082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6711 buffer.
6712
67132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6716 (LzmaEnc_SaveState): Removed (unused).
6717 (LzmaEnc_RestoreState): Likewise.
6718 (LzmaEnc_InitPriceTables): Made static.
6719 (LzmaEnc_Construct): Likewise.
6720 (LzmaEnc_FreeLits): Likewise.
6721 (LzmaEnc_Destruct): Likewise.
6722 (LzmaEnc_Init): Likewise.
6723 (LzmaEnc_InitPrices): Likewise.
6724 (LzmaEnc_Finish): Likewise.
6725 (LzmaEnc_PrepareForLzma2): Removed (unused).
6726 (LzmaEnc_MemPrepare): Likewise.
6727 (LzmaEnc_GetNumAvailableBytes): Likewise.
6728 (LzmaEnc_GetCurBuf): Likewise.
6729 (LzmaEnc_CodeOneMemBlock): Likewise.
6730
6fa67967
VS
67312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6734 (grub_util_ldm_embed): Likewise.
6735
9a7428e6
VS
67362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * util/grub-editenv.c (print_var): Rename name to varname to
6739 avoid shadowing.
6740 (main): Rename index to curindex to avoid shadowing.
31a26002 6741 Make filename a const char *.
9a7428e6 6742
4f96abd1
VS
67432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6746 to arg_getline to avoid shadowing.
6747
44d10dad
VS
67482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6751 disk_ to avoid shadowing.
6752
340ba63e
VS
67532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6756 curindex to avoid shadowing.
6757 Make static.
6758 (MatchFinder_GetNumAvailableBytes): Make static.
6759
22965bce
VS
67602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6763 avoid shadowing.
6764
7b5784d4
VS
67652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6768 argument from encrypt to do_encrypt to avoid shadowing.
6769
6f48ca01
VS
67702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6773 incorrect nesting of #if's.
6774
a4ea2dff
VS
67752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6778 checks which are always false on some platforms.
6779 (grub_cmd_lsacpi): Likewise.
6780 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6781 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6782 Likewise.
6783
def9fc1b
VS
67842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6787 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6788
a67b2a04
VS
67892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6792 re_dfa_t to avoid breaking alignment invariants.
6793 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6794 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6795
44c6828d
VS
67962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6799 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6800
bebe0dd0
VS
68012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6804 Fix declaration.
6805
a9cdb3cf
VS
68062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6809 conserve alignment invariants.
6810 (grub_ehci_ehcc_read16): Likewise.
6811 (grub_ehci_oper_read32): Likewise.
6812 (grub_ehci_oper_write32): Likewise.
6813 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6814 Conserve alignment invariants.
6815
ccc3b1b8
VS
68162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6819 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6820 declarations.
6821
987fbd95
VS
68222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6825 Remove unused variable.
6826
0df363f3
VS
68272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6830 Remove set in if.
6831
b2c0c4a6
VS
68322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * include/grub/net.h: Remove double declarations.
6835
690c531f
VS
68362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Remove "payload" command in ia64 Linux loader since I couldn't
6839 find any evidence of it being used for anything.
6840 Replace "relocate" command with an environment variable
6841
6842 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6843 fields.
6844 (ia64_boot_payload): Removed.
6845 (last_payload): Likewise.
6846 (RELOCATE_OFF): Likewise.
6847 (RELOCATE_ON): Likewise.
6848 (RELOCATE_FORCE): Likewise.
6849 (relocate): Likewise.
6850 (free_pages): Don't free payloads.
6851 (grub_load_elf64): Use common error messages.
6852 Use "linux_relocate" variable.
6853 Increase the space after boot_params.
6854 (grub_cmd_payload): Removed.
6855 (grub_cmd_relocate): Likewise.
6856 (grub_cmd_fpswa): Improve messages.
6857 (cmd_payload): Removed.
6858 (cmd_relocate): Likewise.
6859 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6860 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6861
01783768
VS
68622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 Convert UHCI to DMA framework.
6865
6866 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6867 (grub_uhci_pci_iter): Fill new members
6868 (grub_alloc_td): Use P2V and V2P functions.
6869 (grub_free_queue): Likewise.
6870 (grub_alloc_qh): Likewise.
6871 (grub_uhci_setup_transfer): Likewise.
6872 (grub_uhci_check_transfer): Likewise.
6873
43206939
VS
68742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6877 Remove assignment in if while on it.
6878
571e140e
VS
68792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * util/grub-mkstandalone.in: Fix modules directory.
6882
a9d96eeb
VS
68832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6886 on i386-pc target.
6887 (argp_parser): Accept "auto" as compression specification.
6888
e4e37e8d
VS
68892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Fix `help' with unloaded modules.
6892
6893 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
6894 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
6895 (grub_dyncmd_dispatcher): Small stylistic fix.
6896 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
6897 explicit help is requested.
6898
e1ea3ade
VS
68992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
6902 Explicitly init restart while on it.
6903
27556881
VS
69042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
6907 uninited variable.
6908
d65f6b36
VS
69092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * util/grub-mknetdir.in: Use . rather than source for POSIX
6912 compatibility.
6913
0a1e473c
VS
69142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
6917
ce6647c8
VS
69182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
6921 variable.
6922
66747894
VS
69232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
6926 without quotes.
6927
71645f6e
VS
69282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
6931
0e1c1f61
VS
69322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
6935 iteration of partitions.
6936
9c4b5c13
VS
69372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Improve gettext support. Stylistic fixes and error handling fixes while
6940 on it.
6941
215c90cb
VS
69422012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
6945 part. Instead setup the correct stack in RM.
6946 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
6947 for stack.
6948 * include/grub/i386/relocator_private.h: New file.
6949
b5c1f9bf
VS
69502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
6953 argument.
6954 * util/grub-fstest.c (options): Add missing DEVICE part.
6955
b525fd83
VS
69562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Clarify and unify messages.
6959
6960 * grub-core/commands/hashsum.c (options): Unify messages.
6961 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
6962 literal-only message as translatable.
6963 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
6964 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
6965 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
6966 commands.
6967 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
6968 key, not the key used to unlock. Clarify what it's used for.
6969 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
6970 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
6971 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
6972 * util/grub-editenv.c (options): Unify "verbose" message.
6973 * util/grub-fstest.c (read_file): Unify error message.
6974 (fstest): Add quotes around commands.
6975 (options): Unify "verbose" message.
6976 * util/grub-install.in: Add quotes around variable name.
6977 * util/grub-kbdcomp.in: Unify error message.
6978 * util/grub-mkfont.c (main): Likewise.
6979 * util/grub-mkrescue.in: Likewise.
6980 * util/grub-mklayout.c (options): Unify "verbose" message.
6981 * util/grub-mkstandalone.in: Unify help and verbose messages.
6982 * util/grub-mount.c (options): Unify "verbose" message.
6983 * util/grub-probe.c (options): Likewise.
6984 * util/grub-script-check.c (options): Likewise.
6985 * util/grub-setup.c (setup): Unify no-terminator message.
6986 (options): Use DEVICE and not DEV.
6987 Unify "verbose" message.
6988 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
6989
0ae70393
VS
69902012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Improve and unify messages.
6993
6994 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6995 name. All users updated.
6996 Print filename in error.
6997 (read_device_map): Print filename in error.
6998 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6999 (grub_util_get_os_disk): Likewise.
7000 (grub_util_biosdisk_get_grub_dev): Likewise.
7001 (grub_util_check_block_device): Likewise.
7002 (grub_util_check_char_device): Likewise.
7003 (grub_make_system_path_relative_to_its_root): Likewise.
7004 * util/grub-editenv.c (create_envblk_file): Likewise.
7005 (open_envblk_file): Likewise.
7006 (write_envblk): Likewise.
7007 * util/grub-fstest.c (cmd_cp): Likewise.
7008 (cmd_cat): Likewise.
7009 (cmd_cmp): Likewise.
7010 * util/grub-menulst2cfg.c (main): Likewise.
7011 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7012 (write_font_width_spec): Likewise.
7013 (write_font_pf2): Likewise.
7014 * util/grub-mkimage.c (generate_image): New argument outname.
7015 All users updated.
7016 Remove unreacheable message.
7017 (options): Unify messages.
7018 (help_filter): Likewise.
7019 * util/grub-mklayout.c (usage): Removed (unused).
7020 (main): Print filename in error.
7021 * util/grub-mkrescue.in: Fix wrong quoting.
7022 * util/grub-setup.c (setup): Print filename in error.
7023 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7024 (check_sas): Likewise.
7025 * util/misc.c (grub_util_get_fp_size): Removed.
7026 (grub_util_get_image_size): Print filename in error.
7027 (grub_util_read_at): Removed.
7028 (grub_util_read_image): Print filename in error.
7029 (grub_util_load_image): Likewise.
7030 (grub_util_write_image_at): New argument filename. All users updated.
7031 Print filename in error.
7032 (grub_util_write_image): New argument filename. All users updated.
7033 Print filename in error.
7034 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7035 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7036
0a96117d
VS
70372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/Makefile.core.def (pxechain): New module.
7040 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7041 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7042 function.
7043 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7044 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7045
aca002f7
VS
70462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7049 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7050 * include/grub/err.h (grub_error_saved): New struct.
7051 (grub_errmsg): Make array size explicit.
7052 * include/grub/misc.h (grub_error_save): New function.
7053 (grub_error_load): Likewise.
7054 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7055 (grub_error_push): Update `errno' member name.
7056 (grub_error_pop): Likewise
7057 * grub-core/net/tftp.c (tftp_data): New member save_err.
7058 (tftp_receive): Save error.
7059 (tftp_open): Restore error.
7060
a51dab13
VS
70612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7064 to real mode down to execute A20-related code in protected mode as
7065 intended.
7066
eb6e6649
GS
70672012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7068
7069 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7070 NULL when the argument `level' has an unexpected value.
7071
92cd0f6e
VS
70722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Move platform-dependent files from $prefix to $prefix/$platform.
7075
7076 * config.h.in (GRUB_TARGET_CPU): New definition.
7077 (GRUB_PLATFORM): Likewise.
7078 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7079 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7080 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7081 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7082 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7083 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7084 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7085 * grub-core/normal/term.c (read_terminal_list): Likewise.
7086 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7087 $prefix/locale.
7088 (grub_gettext_init_ext): Likewise.
7089 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7090 grub_platform.
7091 * util/grub-install.in: Update directories.
7092 * util/grub-mknetdir.in: Likewise.
7093 * util/grub-mkrescue.in: Likewise.
7094
db606889
VS
70952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7098 grub_error framework. All users updated.
7099
c39992a4
VS
71002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7103 lists (by always binsearching), improve caching (cache strings
7104 used for binsearch, not only results), improve
7105 maintainability (by using more structured binary search) and correct
7106 error handling.
7107
1e5ec32f
VS
71082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/script/execute.c (grub_script_return): Fix warning.
7111
ac576cde
VS
71122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/script/execute.c (grub_script_return): Fix potential
7115 NULL-dereference.
7116 Reported by: Jim Meyering.
7117
498453f6
VS
71182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * po/POTFILES.in: Regenerate.
7121 * util/grub-install.in: Gettextize the strings missed in first pass.
7122
8be63f2e
VS
71232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * Makefile.util.def (grub-mkdevicemap): Removed.
7126 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7127 * include/grub/util/deviceiter.h: Removed.
7128 * util/deviceiter.c: Likewise.
7129 * util/getroot.c (grub_util_get_os_disk): New function.
7130 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7131 replacement for EFI.
7132 * util/grub-mkdevicemap.c: Removed.
7133 * util/grub-probe.c (probe): Handle PRINT_DISK.
7134 (argp_parser): Handle -t disk.
7135
8e1e4e39
VS
71362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 * util/grub-mkfont.c: Migrate to argp.
7139 * util/grub-mklayout.c: Likewise.
7140 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7141 * util/grub-mkrelpath.c: Likewise.
7142 * util/grub-probe.c: Likewise.
7143 * util/grub-script-check.c: Likewise.
7144
4459819a
VS
71452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * util/grub-reboot.in: Add missing datarootdir.
7148 Add missing newline.
7149 * util/grub-set-default.in: Add missing datarootdir.
7150 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7151 * util/grub-mkrescue.in: Likewise.
7152
f65741c7
VS
71532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7156
c1a33466
VS
71572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * util/grub-kbdcomp.in: Add decent help and gettextize.
7160 * docs/man/grub-kbdcomp.h2m: New file.
7161
c76899a0
VS
71622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Migrate grub-mkimage.c to argp.
7165
7166 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7167 (grub-setup): Likewise.
7168 * util/grub-setup.c (print_version): Move to ...
7169 * util/argp_common.c (print_version): ... here.
7170 * util/grub-setup.c (argp_program_version_hook): Move to ...
7171 * util/argp_common.c (argp_program_version_hook): ... here.
7172 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7173 safety.
7174 * util/grub-mkimage.c (main): Migrate to argp.
7175
57db0757
VS
71762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * util/grub-mkrescue.in: Use same message as
7179 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7180 for better translations.
7181
18534ad9
VS
71822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
7185 options with generic grub-mkrescue.in with the goal of future
7186 merge.
7187
c84ba308
VS
71882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/mm.c: Add missing include of i18n.h
7191 * grub-core/lib/relocator.c: Likewise.
7192
347998c2
VS
71932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
7196 error.
7197 (allocate_pages): Check return value.
7198 Replace fatal with error.
7199 (grub_linux_boot): Replace printf with dprintf.
7200 Check find_mmap_size return value.
7201 Replace fatal with error.
7202 Don't call grub_machine_fini.
7203 (grub_load_elf64): Replace printf with dprintf.
7204 (grub_cmd_linux): Likewise.
7205 (grub_cmd_initrd): Likewise.
7206 (grub_cmd_payload): Likewise.
7207
c779226e
VS
72082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
7211 message.
7212 * grub-core/video/radeon_fuloong2e.c
7213 (grub_video_radeon_fuloong2e_setup): Likewise.
7214 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
7215 * grub-core/video/video.c (grub_video_set_mode): Don't override
7216 standard out of memory message.
7217
dc87d45a
GS
72182012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7219
7220 NetBSD disk wedge support.
7221
7222 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
7223 [__NetBSD__]: Handle NetBSD disk wedges.
7224 * util/getroot.c (convert_system_partition_to_system_disk)
7225 [__NetBSD__]: Likewise.
7226
055f856f
MW
72272012-02-03 Mark Wooding <mdw@distorted.org.uk>
7228
7229 * util/grub-mkconfig.in: Use umask rather than chmod to create
7230 grub.cfg.new to avoid insecure grub.cfg.
7231
4a9f8346
VS
72322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/commands/ls.c: Gettextize.
7235 * grub-core/commands/setpci.c: Likewise.
7236 * grub-core/commands/videotest.c: Likewise.
7237 * grub-core/disk/geli.c: Likewise.
7238 * grub-core/kern/mm.c: Likewise.
7239 * grub-core/lib/relocator.c: Likewise.
7240 * grub-core/loader/efi/appleloader.c: Likewise.
7241 * grub-core/loader/i386/xnu.c: Likewise.
7242 * grub-core/loader/ia64/efi/linux.c: Likewise.
7243 * grub-core/loader/xnu.c: Likewise.
7244 * grub-core/net/dns.c: Likewise.
7245 * grub-core/net/net.c: Likewise.
7246 * grub-core/script/lexer.c: Likewise.
7247 * grub-core/script/parser.y: Likewise.
7248 * grub-core/script/yylex.l: Likewise.
7249 * util/getroot.c: Likewise.
7250 * util/grub-setup.c: Likewise.
7251
a646a366
VS
72522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
7255 number.
7256
54e2be26
VS
72572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7260
f7c71e68
VS
72612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
7264 macro.
7265 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
7266 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
7267
a32d5c71
VS
72682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
7271 * util/grub-install.in: Gettextize.
7272 * util/grub-mkconfig.in: Likewise.
7273 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
7274 if not available.
7275 (grub_warn): Gettextize.
7276 * util/grub-mknetdir.in: Gettextize.
7277 * util/grub-mkrescue.in: Likewise.
7278 * util/grub-mkstandalone.in: Likewise.
7279 * util/grub-reboot.in: Likewise.
7280 * util/grub-set-default.in: Likewise.
7281 * util/grub.d/00_header.in: Likewise.
7282 * util/grub.d/10_hurd.in: Likewise.
7283 * util/grub.d/10_kfreebsd.in: Likewise.
7284 * util/grub.d/10_linux.in: Likewise.
7285 * util/grub.d/10_netbsd.in: Likewise.
7286 * util/grub.d/10_windows.in: Likewise.
7287 * util/grub.d/20_linux_xen.in: Likewise.
7288 * util/grub.d/30_os-prober.in: Likewise.
7289 * po/POTFILES-shell.in: Regenerate.
7290
69edd81a
RL
72912012-02-03 Richard Laager <rlaager@wiktel.com>
7292
7293 * util/grub-mkimage.c (main): Fix format-security warning.
7294 * util/grub-mkrelpath.c (main): Likewise.
7295 * util/grub-probe.c (main): Likewise.
7296
65f08dbf
RL
72972012-02-03 Richard Laager <rlaager@wiktel.com>
7298
7299 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
7300 failure.
7301 Put back lost PRINT_DRIVE.
7302
e9084abe
RL
73032012-02-03 Richard Laager <rlaager@wiktel.com>
7304
7305 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
7306 (grub_guess_root_devices): Replace strlen with sizeof.
7307 Avoid crash.
7308 (find_root_devices_from_poolname): Remove unused variable.
7309 Handle raidzN.
7310
cf5f7ee7
VS
73112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Support install on multi-device filesystems.
7314
7315 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
7316 (grub_guess_root_devices): ...this. Return char **. All users updated.
7317 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
7318 Removed.
7319 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
7320 (find_root_devices_from_poolname): ... here.
7321 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
7322 Support zfs-fuse.
7323 (grub_guess_root_device): Rename to ...
7324 (grub_guess_root_devices): ... this. Return char **. All users updated.
7325 * util/grub-install.in: Handle multi-device filesystems.
7326 * util/grub-probe.c (probe). Make device_names a char **. Add delim
7327 argument. All users updated.
7328 Handle multi-device filesystems.
7329 Use 'delim' as separator.
7330 Remove device check to allow filesystems on file.
7331 (main): Support -0 argument. Handle multi-device.
7332 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
7333 Fix a cross-device check while on it.
7334 (arguments): Remove root_dev.
7335 (argp_parser): Remove -r.
7336 (main): Remove root_dev.
7337
2f53a9ed
VS
73382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7341
17e1d934
VS
73422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
7345 symbol.
7346 Reported by: NODA, Kai <nodakai>.
7347
d3e3fab5
VS
73482012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 Fix ehci on amd64.
7351
7352 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7353 pointers.
7354 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7355 (grub_ehci_setup_qh): Likewise.
7356 (grub_ehci_find_qh): Likewise.
7357 (grub_ehci_transaction): Likewise.
7358 (grub_ehci_setup_transfer): Likewise.
7359 (grub_ehci_check_transfer): Likewise.
7360 (grub_ehci_portstatus): Likewise.
7361 (grub_ehci_detect_dev): Likewise.
7362 (grub_ehci_transfer_controller_data): New field td_last_phys.
7363 (grub_ehci_setup_transfer): Fill td_last_phys.
7364 (grub_ehci_check_transfer): Use td_last_phys.
7365
3008675b
SG
73662012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7367
7368 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7369 if no submenu is present.
7370
fc9b5652
AN
73712012-02-01 Aleš Nesrsta <starous@volny.cz>
7372
7373 CBI support.
7374
7375 * include/grub/usb.h (grub_usbms_protocol_t): New values
7376 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7377 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7378 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7379 (grub_usbms_dev): Add subclass, protocol and intrpt.
7380 Remove in_maxsz and out_maxsz.
7381 (grub_usbms_reset): Rename to ...
7382 (grub_usbms_bo_reset): .. this.
7383 (grub_usbms_cbi_cmd): New function.
7384 (grub_usbms_cbi_reset): Likewise.
7385 (grub_usbms_reset): Likewise.
7386 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7387 (grub_usbms_transfer): Rename to ...
7388 (grub_usbms_transfer_bo): ... this.
7389 (grub_usbms_transfer_cbi): Likewise.
7390 (grub_usbms_transfer): Likewise.
7391
a2b81d53
AN
73922012-02-01 Aleš Nesrsta <starous@volny.cz>
73932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7396 the support for the CS5536 modification thereos and few bugfixes.
7397
7398 * grub-core/Makefile.core.def (ehci): New module.
7399 * grub-core/bus/usb/ehci.c: New file.
7400 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7401 port and hubaddr. All users updated.
7402 Save port and hubaddr into dev structure.
7403 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7404 define.
7405 * include/grub/pci.h (grub_dma_phys2virt): New function.
7406 (grub_dma_virt2phys): Likewise.
7407 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7408
b1d51f02
VS
74092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7412 check as some mkfs implementations omit it.
7413
fc694106
VS
74142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7417
6c0920e3
VS
74182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7421 Add new member volname2.
7422 (grub_jfs_label): Use volname2 if available.
7423
d1a46f9a
VS
74242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7427 over last_mounted as seen in image generated by mkfs.nilfs2.
7428 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7429
dec8ed14
VS
74302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7433 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7434 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7435
7397c69b
VS
74362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7439 over the sector.
7440
b3fe42ad
VS
74412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7444 subvolume name (by removing a bogus and useless check).
7445
10476bb0
VS
74462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7449 sizeof while on it.
7450
9c08ad87
VS
74512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7454 (grub_scsi_read_capacity10): ... this.
7455 (grub_scsi_read_capacity16): New function.
7456 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7457 0xffffffff.
7458 Fix off-by-one error.
7459 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7460 64-bit unsigned.
7461 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7462 (grub_scsi_read_capacity10): ... this.
7463 (grub_scsi_read_capacity_data): Rename to ...
7464 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7465 (grub_scsi_read_capacity16): New struct.
7466 (grub_scsi_read_capacity16_data): Likewise.
7467 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7468 grub_scsi_cmd_read_capacity10.
7469 New command grub_scsi_cmd_read_capacity16.
7470
bc8d0f45
VS
74712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 SCSI >2TiB support.
7474
7475 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7476 (grub_scsi_write16): Likewise.
7477 (grub_scsi_read): Use read16 when necessary.
7478 (grub_scsi_write): Likewise.
7479 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7480 (grub_scsi_write16): Likewise.
7481 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7482
cc774926
VS
74832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 SCSI write support (for usbms mainly).
7486
7487 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7488 a const pointer.
7489 (grub_scsi_write): Implement.
7490 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7491
67639fd7
VS
74922012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7495 variable.
7496
9079d3ed
VS
74972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7500
c6a6f204
VS
75012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * po/POTFILES.in: Regenerate.
7504
ecbf8cd1
VS
75052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7508 with grub_printf to avoid unnecessary fatal failure.
7509
0b3b3b38
VS
75102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7513 (INT_MAX): Likewise.
7514 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7515 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7516 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7517 (strcpy): Likewise.
7518 (strstr): Likewise.
7519 (strchr): Likewise.
7520 (strncpy): Likewise.
7521 (strcat): Likewise.
7522 (strncat): Likewise.
7523 (strcoll): Likewise.
7524 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7525 (GRUB_INT_MAX): Likewise.
7526
db7337a3
VS
75272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7530 unexpected error.
7531 (optimize_utf8): Likewise.
7532 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7533
f37c87e1
VS
75342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/boot/i386/pc/lnxboot.S: Use
7537 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7538 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7539 location.
7540 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7541 definition.
7542 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7543
63fe43f3
VS
75442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7547 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7548 now to avoid double free.
7549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7550 hostdisk.
7551 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7552 * util/grub-probe.c (escape_of_path): Always return a new copy.
7553 (print_full_name): Escape path.
7554 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7555 Fix hints on abstractions.
7556
ebe2c961
VS
75572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7560 Don't add "root" line if no compatibility hont is available.
7561 Suggested by: Seth Goldberg.
7562
2b5336a2
VS
75632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7566 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7567 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7568 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7569
74310bd8
VS
75702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7573
c30582ba
VS
75742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * util/grub-pe2elf.c (ehdr): Make static.
7577 (shdr): Likewise.
7578 (num_sections): Likewise.
7579 (offset): Likewise.
7580
5f47782c
VS
75812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 Eliminate ofpath limits and possible overflows.
7584
7585 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7586 (OF_PATH_MAX): Removed.
7587 (MAX_DISK_CAT): New const.
7588 (find_obppath): Use allocated rather than preallocated buffer.
7589 Return result. Argument of_path removed. All users updated.
7590 Add missing fdstat.
7591 (xrealpath): New function.
7592 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7593 Allocate rather than use preallocated buffer. All users updated.
7594 (__of_path_common): Use allocated rather than preallocatecd buffer.
7595 Return result. Argument of_path removed. All users updated.
7596 (vendor_is_ATA): Read only needed part form the file.
7597 (check_sas): Allocate depending on contents rather than fixed.
7598 (main) [STANDALONE]: Handle NULL result.
7599
f990cbf9
VS
76002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7603
9c6e84b8
VS
76042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 Cryptodisk write support.
7607
7608 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7609 (grub_cryptodisk_decrypt): Moved logic to ...
7610 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7611 (grub_cryptodisk_write): Implement.
7612 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7613 (grub_util_fd_write): ... this. Make global.
7614 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7615
87cf9744
VS
76162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * include/grub/list.h (grub_list_remove): Don't crash if element is
7619 removed twice.
7620
ca8c0baf
VS
76212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 Rename ofconsole to console.
7624
7625 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7626 as sysnonym to console.
7627 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7628 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7629 Rename grub_ofconsole_ to grub_console_. All users updated
7630 (grub_console_term_output): Rename "ofconsole" to "console".
7631 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7632 as "console".
7633
64c8b8f6
VS
76342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7637 handling.
7638 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7639 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7640 GRUB_DISK_DEVICE_FILE_ID.
7641
f6c434d5
VS
76422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7645 and improve performance.
7646
5858b42d
VS
76472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7650 missing ieee1275/ prefix on whole disk.
7651
4ed3c26b
VS
76522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7655 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7656
df71143e
VS
76572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7660
076e7c0f
VS
76612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 Merge common RAID and LVM logic to an abstract diskfilter.
7664 Add LDM support using the same framework.
7665
7666 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7667 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7668 (libgrubmods): Remove grub-core/disk/raid.c and
7669 grub-core/partmap/gpt.c.
7670 * grub-core/Makefile.core.def (ldm): New module.
7671 (raid): Renamed to diskfilter. All users updated.
7672 * grub-core/disk/raid.c: Moved to ...
7673 * grub-core/disk/diskfilter.c: ... here.
7674 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7675 (lv_num): New var.
7676 (find_array): Renamed to ...
7677 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7678 (grub_is_array_readable): Renamed to ...
7679 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7680 (insert_array): New argument id.
7681 (is_node_readable): New function.
7682 (scan_device): Rename to ...
7683 (scan_disk): .. this. Restrict to one disk.
7684 (scan_devices): New function.
7685 (grub_diskfilter_iterate): Support multi-LV.
7686 Skip invisible and nameless LVs.
7687 (grub_diskfilter_memberlist): Support multi-LV.
7688 (grub_diskfilter_read_node): New function.
7689 (grub_raid_read): Most of logic moved to ...
7690 (read_segment): ... here
7691 (read_lv): New function.
7692 (grub_diskfilter_get_vg_by_uuid): New function.
7693 (grub_diskfilter_make_raid): Likewise.
7694 * grub-core/disk/ldm.c: New file.
7695 * grub-core/disk/lvm.c (vg_list): Removed.
7696 (lv_count): Likewise.
7697 (scan_depth): Likewise.
7698 (is_lv_readable): Likewise.
7699 (grub_lvm_getvalue): Advance pointer past the number.
7700 (find_lv): Removed.
7701 (do_lvm_scan): Refactored into ...
7702 (grub_lvm_detect): ... this. Support raid.
7703 (grub_lvm_iterate): Removed.
7704 (grub_lvm_memberlist): Likewise.
7705 (grub_lvm_open): Likewise.
7706 (grub_lvm_close): Likewise.
7707 (read_lv): Likewise.
7708 (read_node): Likewise.
7709 (is_node_readable): Likewise.
7710 (is_lv_readable): Likewise.
7711 (grub_lvm_read): Likewise.
7712 (grub_lvm_write): Likewise.
7713 (grub_lvm_dev): Use diskfilter
7714 (GRUB_MOD_INIT): Likewise.
7715 (GRUB_MOD_FINI): Likewise.
7716 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7717 new interface.
7718 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7719 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7720 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7721 grub_diskfilter_read_node.
7722 Fix a bug with xor.
7723 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7724 grub_diskfilter_read_node.
7725 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7726 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7727 (grub_disk_dev_iterate): Move from here...
7728 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7729 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7730 Make global.
7731 (grub_hostdisk_find_partition_start): Likewise.
7732 (grub_hostdisk_os_dev_to_grub_drive): New function.
7733 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7734 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7735 * util/getroot.c (make_device_name): ... here.
7736 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7737 Move to ...
7738 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7739 * grub-core/kern/emu/hostdisk.c
7740 (convert_system_partition_to_system_disk): Move to ...
7741 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7742 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7743 * util/getroot.c (device_is_wholedisk): ... here.
7744 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7745 * util/getroot.c (find_system_device): ... here.
7746 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7747 Move to ...
7748 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7750 Move to ...
7751 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7752 Handle LDM.
7753 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7754 Move to ...
7755 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7756 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7757 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7758 DISKFILTER.
7759 * include/grub/raid.h: Renamed to ...
7760 * include/grub/diskfilter.h: ... this.
7761 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7762 (GRUB_RAID_LAYOUT_*): Make into array.
7763 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7764 (grub_diskfilter_vg): New struct.
7765 (grub_diskfilter_pv_id): Likewise.
7766 (grub_raid_member): Removed.
7767 (grub_raid_array): Likewise.
7768 (grub_diskfilter_pv): New struct.
7769 (grub_diskfilter_lv): Likewise.
7770 (grub_diskfilter_segment): Likewise.
7771 (grub_diskfilter_node): Likewise.
7772 (grub_diskfilter_get_vg_by_uuid): New proto.
7773 (grub_raid_register): Inline.
7774 (grub_diskfilter_unregister): Likewise.
7775 (grub_diskfilter_make_raid): New proto.
7776 (grub_diskfilter_vg_register): Likewise.
7777 (grub_diskfilter_read_node): Likewise.
7778 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7779 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7780 (grub_util_is_ldm): Likewise.
7781 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7782 (grub_hostdisk_find_partition_start): Likewise.
7783 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7784 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7785 New definition.
7786 (grub_gpt_partition_map_iterate): New proto.
7787 * include/grub/lvm.h (grub_lvm_vg): Removed.
7788 (grub_lvm_pv): Likewise.
7789 (grub_lvm_lv): Likewise.
7790 (grub_lvm_segment): Likewise.
7791 (grub_lvm_node): Likewise.
7792 * util/getroot.c [...]
7793 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7794 (probe_abstraction): Likewise.
7795 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7796 (main): Remove dead logic.
7797
8a7f9b9c
VS
77982012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 Simplify root device discover and don't fail when trying to open
7801 incorrect devices.
7802
7803 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7804 function.
7805 (get_diskname_from_path): Likewise.
7806 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7807 of iterating.
7808
30545b85
VS
78092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7812
28ea58cf
VS
78132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7816 pastthe end.
7817
692dabca
VS
78182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * util/grub-install.in: Add missing \.
7821 Reported by: gentoofan
7822
f6e4ea70
VS
78232012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7826 (direct_read): Use correct compressed size.
7827 (grub_squash_read_data): Likewise.
7828
78292012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
7830
7831 * docs/grub.texi (Platform limitations): New section.
7832 (Platform-specific operations): Likewise.
7833 * docs/grub-dev.texi (Porting): Likewise.
7834
76261110
VS
78352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 IEEE1275 disk write support.
7838
7839 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7840 const void *.
7841 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7842 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7843 and seek loginc to ...
7844 (grub_ofdisk_prepare): ... here.
7845 (grub_ofdisk_write): Implement.
7846
fc36d603
VS
78472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 ARC disk write support.
7850
7851 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7852 (reopen): New argument writable. All users updated.
7853 Handle required access mode.
7854 (grub_arcdisk_write): Implement.
7855 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7856 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7857
e06c2e7a
VS
78582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7861 (read_sblock): Don't attempt to read superblocks outside the disk size.
7862
ff447958
VS
78632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7866 first superblock to find the second one when possible.
7867
9e88df39
VS
78682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * util/grub-install.in: Fix an ARC bug.
7871 Print a warning if no platform-specific setup is available.
7872
bb26e4ff
VS
78732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 Use static allocation rather than scratch pointer in reed_solomon.
7876 It decreases its size significantly and avoids a variable in .text.
7877
7878 * grub-core/lib/reed_solomon.c (scratch): Removed.
7879 (chosenstat): New const or static array.
7880 (sigma): Likewise.
7881 (errpot): Likewise.
7882 (errpos): Likewise.
7883 (sy): Likewise.
7884 (mstat): Likewise.
7885 (errvals): Likewise.
7886 (eqstat): Likewise.
7887 (pol_evaluate): Replace x with log_x argument. All users updated.
7888 (syndroms): Removed.
7889 (gauss_solve): Use statically allocated arrays.
7890 (rs_recover): Likewise.
7891 Calculate syndroms directly.
7892 (decode_block): Use statically allocated arrays.
7893 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
7894 (main) [TEST]: Allow -DTEST -DSTANDALONE.
7895
2e13ede5
VS
78962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 Eliminate fixed limit on reed solomon decoder length.
7899
7900 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
7901 rather than hardcoding the address.
7902 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
7903 no_reed_solomon_length.
7904 Move gate_a20 to no-reed-solomon part.
7905 Don't force a particular size of no reed-solomon part.
7906 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7907 Removed.
7908 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
7909 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
7910
f8a9ab12
VS
79112012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/commands/wildcard.c (match_files): Handle filenames
7914 without explicit device.
7915 (wildcard_expand): Don't add explicit device if not already present.
7916 * tests/grub_script_echo1.in: Add a new expansion test.
7917
87edb894
VS
79182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 Replace single-linked with double-linked lists. It results in more
7921 compact and more efficient code.
7922
7923 * grub-core/kern/list.c (grub_list_push): Moved from here ...
7924 * include/grub/list.h (grub_list_push): ... to here. Set prev.
7925 (grub_list_remove): Moved from here ...
7926 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
7927 (grub_prio_list_insert): Set prev.
7928 * include/grub/list.h (grub_list): Add prev. All users updated.
7929
48b391e9
VS
79302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 Handle newer autotools. Add some missing quotes while on it.
7933
7934 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
7935 (pkglib_DATA): Move grub-mkconfig_lib from here ...
7936 (pkgdata_DATA): ... here.
7937 * Makefile.util.def (update-grub_lib): Removed.
7938 * conf/Makefile.common (pkglib_DATA): Removed.
7939 (pkglib_SCRIPTS): Likewise.
7940 (pkgdata_DATA): New variable.
7941 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
7942 needed.
7943 Add missing quotes.
7944 Remove unused variable while on it.
7945 * tests/util/grub-shell.in: Likewise.
7946 * util/grub-install.in: Likewise.
7947 * util/grub-mkconfig.in: Likewise.
7948 * util/grub-mknetdir.in: Likewise.
7949 * util/grub-mkrescue.in: Likewise.
7950 * util/grub-mkstandalone.in: Likewise.
7951 * util/grub.d/00_header.in: Likewise.
7952 * util/grub.d/10_hurd.in: Likewise.
7953 * util/grub.d/10_illumos.in: Likewise.
7954 * util/grub.d/10_kfreebsd.in: Likewise.
7955 * util/grub.d/10_linux.in: Likewise.
7956 * util/grub.d/10_netbsd.in: Likewise.
7957 * util/grub.d/10_windows.in: Likewise.
7958 * util/grub.d/20_linux_xen.in: Likewise.
7959 * util/grub.d/30_os-prober.in: Likewise.
7960 * util/update-grub_lib.in: Removed.
7961
79622012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
7963
7964 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
7965 a workaround for intel problem.
7966
66832792
PRP
79672012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
79682012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
79692012-01-23 pfsmorigo
7970
7971 * util/grub-install.in: Support dd'in into PreP partition.
7972 * util/grub-probe.c (probe): Support discovering partition type.
7973 (main): Support -t msdos_parttype.
7974
7816a17e
VS
79752012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
7978 infinite recursion using counter.
7979 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
7980 init to skip it if the magic check fails.
7981 (dec_stream_header): Init s->crc32.
7982
8f9d3a8c
ZB
79832012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
79842012-01-22 Zachary Bedell <pendorbound@gmail.com>
79852012-01-22 Richard Laager <rlaager@wiktel.com>
7986
7987 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
7988 All users updated.
7989 (find_bestub): Determine correct size.
7990 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
7991 (scan_disk): Align the size down.
7992 Call check pool before find_bestub to have ashift.
7993
b055dd32
VS
79942012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7997 dprintf in no-malloc zone.
7998
d779e9bd
ML
79992012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8000
8001 * configure.ac: Add back in test for limits.h.
8002
b508af69
VS
80032012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 Support 4K-sector NTFS.
8006
8007 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8008 (grub_ntfs_data): Remove blocksize.
8009 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8010 Remove data argument. All users updated.
8011
dad9c8b5
VS
80122012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8015 being in .text to avoid dprel references.
8016 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8017 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8018 (grub_arch_highmemsize): Likewise.
8019 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8020 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8021 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8022
d43a777e
VS
80232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8026
8027 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8028 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8029
34e4208f
VS
80302012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8033 GRUB_UTIL.
8034 (grub_set_datetime_cmos): Likewise.
8035
3ec0fc1c
VS
80362012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 Make XZ compression parameters dependent on target and not host CPU.
8039
8040 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8041 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8042
22489834
VS
80432012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8046 set but not used variable.
8047
8502fbca
VS
80482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8051 created when no uuid support is compiled into mkfs.reiser.
8052
76df2068
VS
80532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8056 (utf8_to_macroman): Do the opposite.
8057 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8058
64e3f8f6
VS
80592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * configure.ac: Refise build qemu_mips w/o unifont.
8062
9c271078
VS
80632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Eliminate grub_min/grub_max prone to overflow usage.
8066
8067 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8068 (poll_nonroot_hub): Likewise.
8069 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8070 (grub_affs_label): Likewise.
8071 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8072 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8073 (grub_hfs_label): Likewise.
8074 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8075 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8076 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8077 (zap_leaf_array_get): Likewise.
8078 (dnode_get_path): Likewise.
8079 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8080 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8081 * grub-core/script/execute.c (grub_script_break): Likewise.
8082 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8083 grub_max.
8084 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8085 * include/grub/misc.h (grub_min): Removed.
8086 (grub_max): Likewise.
8087
80662dbc
VS
80882012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8089
8090 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8091 direct.inode = 0.
8092
e6da1467
VS
80932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8096
b1ac4cb1
VS
80972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8100
b4bf7c3b
VS
81012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8104 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8105
8ee1101a
VS
81062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8109 rather than a hack for grub_strncasemap.
8110
81112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 Support multiple initrds
8114 Note: part of this was accidently committed in r3739.
8115
8116 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8117 initrd.
8118 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8119 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8120 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8121 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8122 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8123
4d1e2bc9
VS
81242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8127 disks with unknown size.
8128 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8129
75b49ebe
VS
81302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 Remove defines pertaining to arbitrary limits not affecting GRUB
8133 anymore.
8134
8135 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8136 (EXT2_MAX_SYMLINKCNT): Likewise.
8137 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8138 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8139 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8140 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8141 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8142 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8143 (DN_MAX_OBJECT_SHIFT): Likewise.
8144 (DN_MAX_OFFSET_SHIFT): Likewise.
8145 (DN_MAX_OBJECT): Likewise.
8146 (DNODES_PER_LEVEL_SHIFT): Likewise.
8147 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8148 (SPA_MAXBLOCKSIZE): Likewise.
8149 (SPA_BLOCKSIZES): Likewise.
8150 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8151 (MZAP_MAX_BLKSZ): Likewise.
8152
74a1dce7
VS
81532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8156 handle NULL appropriately.
8157 Remove MIN.
8158
30c7d3ce
VS
81592012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 Fix efiemu.
8162
8163 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8164 cpu/types.h.
8165 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8166 * configure.ac: Fix efiemu check.
8167
3c76ea0c
VS
81682012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8171 grub_probe.
8172 Reported by: adamwill
8173
7e532280
SG
81742012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8175
8176 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8177
30492374
VS
81782012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 Fix handling of wide characters in gfxterm.
8181
8182 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8183 (clear_char): Likewise.
8184 (paint_char): Skip code == NULL chars.
8185 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
8186
e70cb72f
VS
81872012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/normal/charset.c: Move comment to right place.
8190
5c827cf9
VS
81912012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
8194 (GRUB_AFFS_FLAG_FFS): Put back where it was.
8195 (grub_affs_mount): Revert the correct version checking.
8196
53603892
VS
81972012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * docs/grub.texi (Unicode): Mention several other unsupported features.
8200
ff094b9b
VS
82012011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
8204 case statements as compile-time one.
8205 (direct_read): Prevent spurious warnings.
8206 (grub_squash_read_data): Likewise.
8207
c029da8a
VS
82082011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 Various squash4 fixes and LZO and XZ support.
8211
8212 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
8213 Add xzembed source files.
8214 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
8215 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
8216 (grub_squash_inode): New subtype long_dir.
8217 (SQUASH_TYPE_LONG_DIR): New inode type.
8218 (COMPRESSION): New enum.
8219 (XZBUFSIZ): New const.
8220 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
8221 (read_chunk): Use data->decompress.
8222 (zlib_decompress): New function.
8223 (lzo_decompress): Likewise.
8224 (xz_decompress): Likewise.
8225 (squash_mount): Set new data fields.
8226 (grub_squash_iterate_dir): Handle long dir.
8227 (squash_unmount): Free xzdec and xzbuf.
8228 (grub_squash_open): Check ino type.
8229 (direct_read): Stylistic fixes. Use data->decompress.
8230 (grub_squash_read_data): Likewise.
8231 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
8232 (get_byte): Likewise.
8233 (grub_zlib_disk_read): Removed.
8234 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
8235 (GRUB_POSIX_BOOL_DEFINED): New define.
8236 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
8237 * grub-core/lib/xzembed/xz.h: Addmissing includes.
8238 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
8239 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
8240
7a45a539
VS
82412011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Don't override more informative errors.
8244
8245 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
8246 * grub-core/font/font.c (open_section): Likewise.
8247 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8248 filename. Don't override errors.
8249 (grub_cmd_openbsd_ramdisk): Don't override errors.
8250 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
8251 (grub_cmd_initrd): Likewise.
8252 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8253 (grub_cmd_initrd): Likewise.
8254 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
8255 (grub_cmd_linux): Likewise.
8256 (grub_cmd_initrd): Likewise.
8257 (grub_cmd_payload): Likewise.
8258 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8259 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
8260 (grub_cmd_module): Likewise.
8261 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8262 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8263 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
8264 (grub_cmd_xnu_mkext): Likewise.
8265 (grub_cmd_xnu_ramdisk): Likewise.
8266 (grub_xnu_check_os_bundle_required): Likewise.
8267 (grub_xnu_load_kext_from_dir): Likewise.
8268 (grub_cmd_xnu_kextdir): Likewise.
8269 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
8270
b2d004db
VS
82712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
8274 as 1024 in block size field. Found on one of my test images.
8275 Small optimisation while on it.
8276
ec000eac
VS
82772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
8280 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
8281 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
8282 performance fixes while on it.
8283 (grub_sfs_close): Fix memory leak while on it.
8284 (grub_sfs_label): Convert Latin1 to UTF-8.
8285
f50e1165
VS
82862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
8289 space to avoid overflows.
8290 (grub_hfs_label): Convert from macroman to UTF-8.
8291
2ae254de
VS
82922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8295
0108f491
VS
82962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
8299
f45f5f89
VS
83002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * unicode: Import Unicode 6.0 data.
8303
4d8c4765
VS
83042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8305
63fa8ef9
VS
8306 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8307 outside of range.
8308
83092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
8312
8313 * include/grub/charset.h (grub_getend): New function.
8314 * grub-core/script/function.c (grub_script_function_find): Use
8315 grub_getend.
8316 * grub-core/normal/completion.c (add_completion): Likewise.
8317
f3cb4a4e
VS
83182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
8321 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
8322 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
8323 (GRUB_UNICODE_TAG_END): Likewise.
8324 (GRUB_UNICODE_LAST_VALID): Likewise.
8325
5da8dbc5
VS
83262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
8329 len and make it smaller. All users updated.
8330 * util/import_unicode.py: Put length and not end character.
8331 Check length.
8332
8569f13d
VS
83332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Make better Unicode-compliant and unify some UTF-8 code pathes.
8336
8337 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
8338 valid character.
8339 (grub_is_valid_utf8): Use grub_utf8_process.
8340 Check resulting code range.
8341 (grub_utf8_to_ucs4): Use grub_utf8_process.
8342 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
8343 valid character.
8344
cc4fddf5
VS
83452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8348
bbc47747
VS
83492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * docs/grub.texi (Filesystems): Mention AFS.
8352
f63d6bf4
VS
83532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * docs/grub.texi (Filesystems): Clarify restrictions.
8356 (Regexp): Mention non-Unicode regexp behaviour.
8357 (Other): Mention non-Unicode matching behaviour.
8358
74bbf0db
VS
83592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8360
f63d6bf4 8361 Make HFS implementation use MacRoman.
74bbf0db
VS
8362
8363 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8364 (macroman): New const array.
8365 (macroman_to_utf8): New function.
8366 (utf8_to_macroman): Likewise.
8367 (grub_hfs_find_dir): Use utf8_to_macroman.
8368 (grub_hfs_dir): Use macroman_to_utf8.
8369 Set case_insensitive.
8370
4ea0316e
VS
83712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8374
d3c13cbd
VS
83752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Integrate hints into autogeneration scripts.
8378
8379 * docs/grub.texi (Filesystems): Add a hostdisk example.
8380 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8381 (grub-probe): Add ofpath.
8382 * gentpl.py: Remove group nosparc64.
8383 * grub-core/commands/search.c (cache_entry): New struct.
8384 (cache): New var.
8385 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8386 * grub-core/commands/search_wrap.c (options): Add platform-specific
8387 hint options.
8388 (grub_cmd_search): Handle platform-specific hints.
8389 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8390 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8391 (grub_util_biosdisk_data): Likewise.
8392 (grub_util_biosdisk_open): Set device_map.
8393 (read_device_map): Handle "" as indication of no map.
8394 Set device_map.
8395 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8396 (grub_util_biosdisk_get_compatibility_hint): New function.
8397 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8398 * include/grub/emu/hostdisk.h
8399 (grub_util_biosdisk_get_compatibility_hint): New proto.
8400 * util/grub-install.in: Don't call grub-mkdevicemap.
8401 Add platform-specific hint to load.cfg.
8402 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8403 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8404 hints. Set root preliminary to compatibility hint, not to OS name.
8405 * util/grub-probe.c (PRINT_*): Add hints.
8406 (print): Make static.
8407 (escape_of_path): New function.
8408 (guess_bios_drive): Likewise.
8409 (guess_efi_drive): Likewise.
8410 (guess_baremetal_drive): Likewise.
8411 (print_full_name): Likewise.
8412 (probe): Handle hints.
8413 (main): Likewise.
8414 * util/ieee1275/devicemap.c: Removed.
8415 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8416 updated.
8417 (grub_util_devname_to_ofpath): Return NULL on failure.
8418
8419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8420 resource leak.
8421 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8422
8423 * po/POTFILES.in: Regenerated.
8424
8425 Allow purely long options
8426
8427 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8428 (SHORT_ARG_USAGE): Likewise.
8429 (grub_arg_show_help): Compare opt with help_options.
8430 (parse_option): Receive opt as argument. If makes big simplificatons.
8431 All users updated
8432
00ce2df3
VS
84332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8436 Restructure to avoid warning.
8437
e77e325f
VS
84382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * util/grub-install.in: Account for possible escaped comma in device
8441 name.
8442
165099ea
VS
84432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8446 channel.
8447
ce4a999d
VS
84482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8451 allocation and zero-setting.
8452 (grub_ieee1275_get_devname): Check that alias is complete.
8453
379586ad
VS
84542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8457 unaligned segments.
8458
9197b0ad
VS
84592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8462 prefix.
8463 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8464 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8465 Add ieee1275 prefix.
8466
edddb7f9
VS
84672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * docs/grub.texi (Filesystems): Update.
8470
a1a8b1b9
VS
84712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Support odc, newc and bigendian cpio formats.
8474
8475 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8476 * grub-core/Makefile.core.def (newc): New module.
8477 (odc): Likewise.
8478 (cpio_be): Likewise.
8479 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8480 (MAGIC): Likewise.
8481 (MAGIC2): Likewise.
8482 (head) [MODE_ODC]: Adapt for the format.
8483 (head) [MODE_NEWC]: Likewise.
8484 (head) [!MODE_*]: Write fields of interest as arrays.
8485 (MAGIC_USTAR): Removed.
8486 (read_number) [MODE_NEWC]: Change to hex.
8487 (read_number) [!MODE_*]: Parse binary arrays.
8488 (grub_cpio_find_file): Factor out the code for better structure and
8489 always use read_number.
8490 (grub_cpio_mount): Use MAGIC and MAGIC2.
8491 (grub_cpio_dir): Exit on first hook non-0 return.
8492 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8493 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8494 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8495 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8496 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8497 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8498 * grub-core/fs/newc.c: New file.
8499 * grub-core/fs/odc.c: Likewise.
8500 * grub-core/fs/cpio_be.c: Likewise.
8501
58eba9ee
VS
85022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 Fix handling of tar numbers occupying the whole field.
8505
8506 * grub-core/fs/cpio.c (read_number): New function.
8507 (grub_cpio_find_file): Use read_number instead of strtoull.
8508
a54a0e12
VS
85092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8512 occupying the whole field size.
8513
a6120aca
LA
85142011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8515
8516 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8517
a93964ce
VS
85182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8521
3ea1ca46
SG
85222011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8523
8524 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8525 TARGET_IMG_LDFLAGS.
8526
b87f7ef2
VS
85272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8530 (mountinfo_entry): Increase the field size to take escaping into
8531 account.
8532 (find_root_device_from_libzfs): Add one byte to size of strings for
8533 security.
8534
62092395
VS
85352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8538 an assert.
8539 * util/grub-setup.c (setup): Likewise.
8540
1f0b1a77
VS
85412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8544 _LzmaDecodeA.
8545
8eba9997
VS
85462011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * docs/grub.texi (Internationalisation): New section.
8549
dd0c91e9
VS
85502011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * docs/grub.texi (Loopback booting): New section.
8553
85542011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
8555
8556 * util/grub-mkstandalone.in: Fix minor typo errors.
8557
198e150a
VS
85582011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8561
8562 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8563 net/icmp.c and net/icmp6.c.
8564 (http): New module.
8565 (priority_queue): Likewise.
8566 * grub-core/io/bufio.c: Rewritten.
8567 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8568 TYPE_WITH_CONFIGFILE_OPTION.
8569 (legacy_commands): Add bootp and dhcp.
8570 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8571 (grub_legacy_parse): Likewise.
8572 * grub-core/lib/priority_queue.c: New file.
8573 * grub-core/net/arp.c: Add missing license header.
8574 (arp_find_entry): Removed.
8575 (arp_find_entry): Likewise.
8576 (grub_net_arp_resolve): Rename to ...
8577 (grub_net_arp_send_request): ...this.
8578 (grub_net_arp_receive): New card argument.
8579 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8580 Set router and DNS server.
8581 (grub_net_configure_by_dhcp_ack): Handle routing information.
8582 (grub_cmd_bootp): Set checksum.
8583 (grub_bootp_init): Remove net_dhcp.
8584 * grub-core/net/dns.c: New file.
8585 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8586 completion.
8587 (get_card_packet): Handle allocation.
8588 (grub_efinet_findcards): Set mtu.
8589 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8590 (get_card_packet): Handle allocation.
8591 (emucard): Set mtu.
8592 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8593 (GRUB_MOD_INIT): Set mtu.
8594 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8595 mtu.
8596 (get_card_packet): Handle allocation.
8597 (grub_ofnet_findcards): Set mtu.
8598 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8599 assert.
8600 (grub_net_recv_ethernet_packet): Handle IPv6.
8601 * grub-core/net/http.c: New file.
8602 * grub-core/net/icmp.c: Likewise.
8603 * grub-core/net/icmp6.c: Likewise.
8604 * grub-core/net/ip.c (ip6addr): New type.
8605 (ip6hdr): Likewise.
8606 (reassemble): Likewise.
8607 (cmp): New function.
8608 (reassembles): New variable.
8609 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8610 (id): New variable.
8611 (send_fragmented): New function.
8612 (grub_net_send_ip_packet): Rename to ...
8613 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8614 Handle non-UDP.
8615 (grub_net_recv_ip_packets): Rename to ...
8616 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8617 (free_rsm): New function.
8618 (free_old_fragments): Likewise.
8619 (grub_net_recv_ip4_packets): New function.
8620 (grub_net_send_ip6_packet): Likewise.
8621 (grub_net_send_ip_packet): Likewise.
8622 (grub_net_recv_ip6_packets): Likewise.
8623 (grub_net_recv_ip_packets): Likewise.
8624 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8625 (LINK_LAYER_CACHE_SIZE): New const.
8626 (link_layer_find_entry): New function.
8627 (grub_net_link_layer_add_address): Likewise.
8628 (grub_net_link_layer_resolve_check): Likewise.
8629 (grub_net_link_layer_resolve): Likewise.
8630 (grub_net_ipv6_get_slaac): Likewise.
8631 (grub_net_ipv6_get_link_local): Likewise.
8632 (grub_cmd_ipv6_autoconf): Likewise.
8633 (parse_ip): Handle one number representation.
8634 (parse_ip6): New functoion.
8635 (match_net): Handle IPv6.
8636 (grub_net_resolve_address): Handle IPv6 and DNS.
8637 (grub_net_resolve_net_address): Handle IPv6.
8638 (route_cmp): New function.
8639 (grub_net_route_address): Find best route.
8640 (grub_net_addr_to_str): Handle IPv6.
8641 (grub_net_addr_cmp): New function.
8642 (grub_net_add_addr): Register local route.
8643 (print_net_address): Handle net address.
8644 (grub_net_poll_cards): Retransmit TCP.
8645 (grub_net_poll_cards_idle_real): Likewise.
8646 (have_ahead): New function.
8647 (grub_net_seek_real): Use underlying seek.
8648 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8649 * grub-core/net/tcp.c: New file.
8650 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8651 (cmp): New function.
8652 (ack): Likewise.
8653 (tftp_receive): Handle unordered input.
8654 (destroy_pq): New function.
8655 (tftp_close): Close pq.
8656 * grub-core/net/udp.c: Put missing license header.
8657 (grub_net_udp_socket): New function.
8658 (udp_socket_register): Likewise.
8659 (grub_net_udp_close): Likewise.
8660 (grub_net_recv_udp_packet): Check checksum.
8661 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8662 * include/grub/misc.h (grub_memchr): New function.
8663 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8664 (grub_net_card_driver): Return buf in recv.
8665 (grub_net_slaac_mac_list): New struct.
8666 (grub_network_level_protocol_id): Add ipv6.
8667 (grub_net_network_level_addr): Likewise.
8668 (grub_net_network_level_net_addr): Likewise.
8669 (grub_net_app_protocol): Add seek.
8670 (grub_net_socket): Removed.
8671 (grub_net_sockets): Likewise.
8672 (grub_net_socket_register): Likewise.
8673 (grub_net_socket_unregister): Likewise.
8674 (FOR_NET_SOCKETS): Likewise.
8675 (grub_net_add_addr): Add const.
8676 (GRUB_NET_BOOTP_*): New enum.
8677 (grub_net_addr_cmp): New proto.
8678 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8679 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8680 (grub_net_hwaddr_to_str): NEw proto.
8681 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8682 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8683 (grub_dns_init): New proto.
8684 (grub_dns_fini): Likewise.
8685 (grub_net_tcp_retransmit): Likewise.
8686 (grub_net_link_layer_add_address): Likewise.
8687 (grub_net_link_layer_resolve_check): Likewise.
8688 (grub_net_link_layer_resolve): Likewise.
8689 (grub_net_dns_lookup): Likewise.
8690 (grub_net_add_dns_server): Likewise.
8691 (grub_net_remove_dns_server): Likewise.
8692 (GRUB_NET_TRIES): New const.
8693 (GRUB_NET_INTERVAL): Likewise.
8694 * include/grub/net/arp.h: Mostly rewritten.
8695 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8696 * include/grub/net/ip.h: Mostly rewritten.
8697 * include/grub/net/netbuff.h: Indent.
8698 * include/grub/net/tcp.h: New file.
8699 * include/grub/net/udp.h: Mostly rewritten.
8700 * include/grub/priority_queue.h: New file.
8701 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8702 (grub_swap_bytes64_compile_time): Likewise.
8703 (grub_cpu_to_be16_compile_time): Likewise.
8704 (grub_cpu_to_be32_compile_time): Likewise.
8705 (grub_cpu_to_be64_compile_time): Likewise.
8706 (grub_be_to_cpu64_compile_time): Likewise.
8707
215c1800
VS
87082011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8711 UINT_TO_PTR with cast.
8712
c17e546c
VS
87132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8716 don't use them.
8717
ff6b18b6
VS
87182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8721 already there.
8722
70ffcc93
VS
87232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8726 confusing ipxe.
8727
e5f4d260
VS
87282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8731 Add missing const attribute.
8732 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8733 Likewise.
8734 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8735 Likewise.
8736
8e54b4b7
VS
87372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8740 misaligned access.
8741 (serpent_setkey): Likewise.
8742 (serpent_encrypt_internal): Likewise.
8743 (serpent_decrypt_internal): Likewise.
8744 (serpent_encrypt): Don't put an alignment-increasing cast.
8745 (serpent_decrypt): Likewise.
8746 (serpent_test): Likewise.
8747
813c0a2b
VS
87482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8751
f2b60fbd
VS
87522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8755
8756 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8757 grub_addr_t casts.
8758 (PTR_TO_UINT64): Likewise.
8759 (PTR_TO_UINT32): Likewise.
8760
5ef5c511
VS
87612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8764 because of stack.
8765 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8766 limit.
8767
c476e6df
VS
87682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8771 text_width > available width a bit more gracefully.
8772
384ad7cc
VS
87732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8776 current address calculation.
8777
96f8caf8
VS
87782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8781 stack.
8782 (encode_block): Likewise.
8783
276b7a8b
VS
87842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8787 certainety.
8788
e3fd394a
VS
87892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8792 non-RS part to avoid RS messing with GDT.
8793 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8794 Increase to suit in realmode routines.
8795
87962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/kern/i386/realmode.S: Increase alignment.
8799 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8800
ee9c2e7a
VS
88012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8804 be deterministic.
8805 (syndroms): Compute 0 syndrom.
8806 (rs_recover): Use 0 syndrom.
8807
7a7f7cc9
VS
88082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8811
a14b16d1
VS
88122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8815 brackets.
8816
9f59e9fc
VS
88172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8818
ca1b552c
VS
8819 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8820 account.
8821 (get_top_pad): Likewise.
8822 (get_right_pad): Likewise.
8823 (get_bottom_pad): Likewise.
8824
88252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 8828
e739d698
VS
88292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8832 attribute as the structure isn't guaranteed to be properly aligned.
8833 (grub_efi_pci_device_path): Likewise.
8834 (grub_efi_pccard_device_path): Likewise.
8835 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8836 specify the size of `memory_type'.
8837 (grub_efi_vendor_device_path): Likewise.
8838 (grub_efi_controller_device_path): Likewise.
8839 (grub_efi_acpi_device_path): Likewise.
8840 (grub_efi_expanded_acpi_device_path): Likewise.
8841 (grub_efi_atapi_device_path): Likewise.
8842 (grub_efi_scsi_device_path): Likewise.
8843 (grub_efi_fibre_channel_device_path): Likewise.
8844 (grub_efi_1394_device_path): Likewise.
8845 (grub_efi_usb_device_path): Likewise.
8846 (grub_efi_usb_class_device_path): Likewise.
8847 (grub_efi_i2o_device_path): Likewise.
8848 (grub_efi_mac_address_device_path): Likewise.
8849 (grub_efi_ipv4_device_path): Likewise.
8850 (grub_efi_ipv6_device_path): Likewise.
8851 (grub_efi_infiniband_device_path): Likewise.
8852 (grub_efi_uart_device_path): Likewise.
8853 (grub_efi_vendor_messaging_device_path): Likewise.
8854 (grub_efi_hard_drive_device_path): Likewise.
8855 (grub_efi_cdrom_device_path): Likewise.
8856 (grub_efi_vendor_media_device_path): Likewise.
8857 (grub_efi_file_path_device_path): Likewise.
8858 (grub_efi_protocol_device_path): Likewise.
8859 (grub_efi_piwg_device_path): Likewise.
8860 (grub_efi_bios_device_path): Likewise.
8861
cb8f88ea
VS
88622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8865 (grub_ucs4_to_utf8_alloc): Likewise.
8866 (grub_ucs4_to_utf8): Likewise.
8867 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8868 (grub_ucs4_to_utf8_alloc): Likewise.
8869
309e5352
VS
88702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 AFFS never uses unicode.
8873
8874 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8875 (grub_latin1_to_utf8): New inline function.
8876 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8877
e7987e1b
VS
88782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8881 overflow.
8882
efc2616e
VS
88832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8886 (grub_squash_dirent_header): Likewise.
8887 (read_chunk): Don't double swap.
8888 (grub_squash_iterate_dir): Fix swap sizes.
8889
3c349f5a
VS
88902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
8893
b453412d
VS
88942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
8897 (grub_hfs_iterate_dir): Likewise.
8898
12e9d4d1
VS
88992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 Fix video on platforms where unaligned access is forbidden.
8902 Make several optimisations while on it.
8903
8904 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
8905 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8906 (grub_video_fbblit_replace_32bit_1bit): Likewise.
8907 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8908 Disable.
8909 (grub_video_fbblit_replace_16bit_1bit):
8910 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8911 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8912 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
8913 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
8914 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8915 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8916 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
8917 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
8918 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
8919 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
8920 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
8921 (grub_video_fbblit_replace_index_RGB888): Likewise.
8922 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
8923 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
8924 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
8925 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
8926 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
8927 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8928 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8929 Disable.
8930 (grub_video_fbblit_blend_XXX565_1bit):
8931 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8932 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
8933 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
8934 void *.
8935 * grub-core/video/fb/video_fb.c (common_blitter)
8936 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
8937 (grub_video_fb_create_render_target_from_pointer)
8938 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8939 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
8940 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
8941 definition.
8942 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
8943
ace96609
VS
89442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
8947 HH22 and HM10 relocations.
8948
fd261d73
VS
89492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
8952
e59b7857
VS
89532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
8956 allocation succeeded.
8957
9b4baaa4
VS
89582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
8961 argument a u8 pointer. All users updated.
8962 Handle unaligned buffers.
8963
dc713193
VS
89642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
8967 add_part to workaround compiler bug.
8968
30dd48c2
VS
89692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
8972
0c6087a8
VS
89732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
8976 Reserve alignment invariants.
8977 (grub_multiboot_load): Likewise.
8978 (retrieve_video_parameters): Likewise.
8979 (grub_multiboot_make_mbi): Likewise.
8980
c2e77777
VS
89812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
8984 incorrect pointer.
8985
b70b6d11
VS
89862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
8989 (grub_pata_pio_write): Likewise.
8990
02a2bf83
VS
89912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 Add noreturn attributes and remove unreachable code.
8994
8995 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8996 code.
8997 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8998 code. Mark as noreturn.
8999 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9000 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9001 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9002 unreachable code.
9003 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9004 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9005 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9006 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9007 * include/grub/kernel.h (grub_main): Mark as noreturn.
9008 * include/grub/reader.h (grub_rescue_run): Likewise.
9009
2019d09e
VS
90102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9013 redundant declaration.
9014
d1c501ee
VS
90152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9018 redundant declaration.
9019 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9020
61664420
VS
90212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9024 to ensure alignment.
9025 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9026 alignment. Ensure tmp alignment.
9027 (grub_cmd_hdparm): Ensure buf alignment.
9028 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9029 to ensure alignment.
9030 (grub_ata_dumpinfo): Ensure text alignment.
9031 (grub_atapi_identify): Preserve alignment invariant.
9032 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9033
0d51ee20
VS
90342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9037 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9038 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9039 * include/grub/misc.h (grub_reboot)
9040 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9041 (grub_halt) [__mips__]: Likewise.
9042
753ef8c1
VS
90432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9046 Remove redundant declaration.
9047 (grub_mmap_get_post64): Likewise.
9048 (grub_mmap_get_upper): Likewise.
9049 (grub_mmap_get_lower): Likewise.
9050
85c85365
VS
90512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9054 uint32_t * to ensure alignment.
9055 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9056
a23f2cc4
VS
90572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9058
93018f64
VS
9059 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9060 uint16_t * to ensure alignment.
9061 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9062 alignment.
9063
90642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9067 to ensure alignment.
9068 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9069
58acccd6
VS
90702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9073 Handle unaligned pointers.
9074 (u32at): Likewise.
9075 (u64at): Likewise.
9076 (fixup): Use byte access instead of v16at.
9077 (find_attr): Fix imporper usage of v32at.
9078 (read_data): Likewise.
9079 (list_file): Handle byte-swapping and unaligned strings.
9080 (grub_ntfs_label): Likewise.
9081
9b05cad7
VS
90822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9085 as it's not necessarily aligned.
9086
b3950b84
VS
90872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9090 redundant declaration.
9091 (grub_serial_init): Likewise.
9092 (grub_terminfo_init): Likewise.
9093
fcd232b7
VS
90942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9097 function.
9098 (ZAP_HASH_IDX): Likewise.
9099 (ZAP_LEAF_HASH_SHIFT): Likewise.
9100 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9101 (LEAF_HASH): Likewise.
9102 (ZAP_LEAF_NUMCHUNKS): Likewise.
9103 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9104 alignment invariants. Return pointer. All users updated.
9105 (ZAP_LEAF_ENTRY): Make into inline function.
9106 (NBBY): Removed.
9107 (xor): LIkewise.
9108 (xor_out): Use grub_crypto_xor.
9109 (dnode_get_path): Use grub_get_unaligned.
9110 (nvlist_find_value): Likewise.
9111 (grub_zfs_nvlist_lookup_uint64): Likewise.
9112 (grub_zfs_nvlist_lookup_string): Likewise.
9113 (get_nvlist_size): Likewise.
9114 (grub_zfs_open): Likewise.
9115 (fill_fs_info): Likewise.
9116 (grub_zfs_dir): Likewise.
9117 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9118 alignment invariants.
9119 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9120 necessarily aligned.
9121
f138623a
VS
91222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9125
564840dc
VS
91262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9129 arithmetic to conserve alignment invariants.
9130
9b40df20
VS
91312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9134 redundant declaration.
9135 (grub_efiemu_mm_obtain_request): Likewise.
9136 (grub_efiemu_prepare): Likewise.
9137
d1c930f9
VS
91382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9141 to match types.
9142
4c5f3056
VS
91432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9146 case of aunaligned recptr.
9147 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9148 alignment.
9149 (grub_hfsplus_btree_search): Handle unaligned index.
9150
728cba91
VS
91512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9154 to get freetag and skip.
9155
eb561f31
VS
91562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9159 array.
9160 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9161 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9162
20993fbb
VS
91632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9166 name for checksum and fix allocation algorithm.
9167
1f313b94
VS
91682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * include/grub/types.h (grub_properly_aligned_t): New type.
9171 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9172 (grub_get_unaligned16): Add explicit casts.
9173 (grub_get_unaligned32): Likewise.
9174 (grub_get_unaligned64): Likewise.
9175 (grub_set_unaligned16): New function.
9176 (grub_set_unaligned32): Likewise.
9177
47ae27ec
VS
91782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9181
78c2cd1c
VS
91822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
9185 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
9186 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
9187
53072f9b
VS
91882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9191 conditionals.
9192
055dc239
VS
91932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
9196 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
9197
496bd074
VS
91982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 Unify and improve RAID and crypto xor.
9201
9202 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
9203 changed to grub_crypto_xor
9204 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
9205 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
9206 Use bigger types when possible.
9207
ef6e4335
VS
92082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/disk/raid.c (scan_devices): Fix condition.
9211
5d048bf2
VS
92122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
9215 Make name a const ptr.
9216
ee533335
VS
92172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
9220 first argument a const pointer.
9221 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
9223 proto.
9224 (grub_children_iterate): Likewise.
9225 (grub_machine_mmap_iterate): Remove redundant declaration.
9226
cc8f3668
VS
92272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
9230 (grub_cmd_acpi) [!x86]: Disable EBDA.
9231
c5fc563a
VS
92322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Enable UTF8 in gnulib regexp.
9235
9236 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
9237 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
9238 (isupper): Use grub_isupper.
9239 (isascii): New inline function.
9240 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
9241 * grub-core/lib/posix_wrap/wctype.h: Likewise.
9242 * grub-core/normal/charset.c (grub_utf8_process): New function.
9243 (grub_utf8_to_utf16): Use grub_utf8_process.
9244 (grub_encode_utf8_character): New function.
9245 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
9246 * include/grub/charset.h (grub_utf8_process): New declaration.
9247 (grub_encode_utf8_character): Likewise.
9248 * include/grub/misc.h (grub_islower): New inline function.
9249 (grub_isupper): Likewise.
9250 (grub_strchrsub): Moved down to fix the definitions.
9251
0af2346f
VS
92522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
9255 specification.
9256
74dbd244
VS
92572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * include/grub/loader.h (grub_loader_register_preboot_hook):
9260 Use struct preboot * and not void * for handle. All users updated.
9261 (grub_loader_unregister_preboot_hook): Likewise.
9262
1bc8f60d
VS
92632011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
9266 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
9267 UTF-16-BE. All users updated.
9268 (grub_hfsplus_cmp_catkey): Fix unicode handling.
9269 (grub_hfsplus_iterate_dir): Likewise.
9270 (grub_hfsplus_label): Likewise.
9271
48d6e456
VS
92722011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9275
bf3a3857
VS
92762011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Add missing const qualifiers.
9279
9280 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
9281 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
9282 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
9283 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
9284 (grub_lvm_check_flag): Likewise.
9285 * grub-core/efiemu/i386/coredetect.c
9286 (grub_efiemu_get_default_core_name): Likewise
9287 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9288 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
9289 * grub-core/fs/ntfs.c (fixup): Likewise.
9290 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
9291 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
9292 (fzap_lookup): Likewise.
9293 (zap_lookup): Likewise.
9294 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
9295 * grub-core/lib/legacy_parse.c (check_option): Likewise.
9296 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
9297 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
9298 (grub_freebsd_add_meta_module): Likewise.
9299 (grub_cmd_freebsd_module): Likewise.
9300 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
9301 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
9302 (grub_xnu_writetree_get_size): Likewise.
9303 (grub_xnu_writetree_toheap_real): Likewise.
9304 (grub_xnu_find_key): Likewise.
9305 (grub_xnu_create_key): Likewise.
9306 (grub_xnu_create_value): Likewise.
9307 (grub_xnu_register_memory): Likewise.
9308 (grub_xnu_check_os_bundle_required): Likewise.
9309 (grub_xnu_scan_dir_for_kexts): Likewise.
9310 (grub_xnu_load_kext_from_dir): Likewise.
9311 * grub-core/normal/color.c (color_list): Likewise.
9312 * grub-core/normal/completion.c (current_word): Likewise.
9313 * grub-core/normal/menu_entry.c (insert_string): Likewise.
9314 * grub-core/term/serial.c (grub_serial_find): Likewise.
9315 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
9316 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
9317 Likewise.
9318 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
9319 (grub_freebsd_add_meta_module): Likewise.
9320 * include/grub/lib/arg.h (grub_arg_option): Likewise.
9321 * include/grub/net.h (grub_net_card_driver): Likewise.
9322 (grub_net_card): Likewise.
9323 (grub_net_app_protocol): Likewise.
9324 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
9325 * include/grub/serial.h (grub_serial_find): Likewise.
9326 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
9327 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
9328 (grub_xnu_create_value): Likewise.
9329 (grub_xnu_find_key): Likewise.
9330 (grub_xnu_scan_dir_for_kexts): Likewise.
9331 (grub_xnu_load_kext_from_dir): Likewise.
9332
9333 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
9334 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
9335 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
9336 Moved from here ...
9337 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
9338
112b4837
CW
93392011-11-28 Colin Watson <cjwatson@ubuntu.com>
9340
9341 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9342
49e891ac
VS
93432011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
9346 (read_device): Fix size calculation.
9347
fd258e5c
RM
93482011-11-25 Robert Millan <rmh@gnu.org>
9349
9350 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9351 (find_root_device_from_libzfs): Add zpool output parser to be used
9352 as fallback when libzfs isn't available.
9353
78845dc2
SG
93542011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9355
9356 * po/Makefile.in.in: Add missing escape-continuation.
9357
adac5211
VS
93582011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9361
10b64f1c
VS
93622011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9365
bb416954
VS
93662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9369
bdfe9eeb
VS
93702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9373
581ffa8a
VS
93742011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/lib/adler32.c: Add missing license specification.
9377 * grub-core/lib/crc64.c: Likewise.
9378 * grub-core/loader/i386/pc/plan9.c: Likewise.
9379 * grub-core/partmap/plan.c: Likewise.
9380
2536cf64
LK
93812011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9382
9383 Add facility to debug GRUB with gdb under qemu.
9384
9385 * grub-core/gdb_grub.in: New file.
9386 * grub-core/gmodule.pl.in: Likewise.
9387 * grub-core/Makefile.core.def (gmodule.pl): New script.
9388 (gdb_grub): Likewise.
9389
bc108a4a
VS
93902011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * util/grub-mount.c (argp_parser): Accept relative pathes.
9393 * util/grub-fstest.c (argp_parser): Likewise.
9394
111c1778
VS
93952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Plan9 support.
9398
9399 * Makefile.util.def (libgrubmods): Add
9400 grub-core/partmap/plan.c.
9401 * docs/grub.texi: Notice Plan9 support.
9402 * grub-core/Makefile.core.def (plan9): New module.
9403 (part_plan): Likewise.
9404 * grub-core/loader/i386/pc/plan9.c: New file.
9405 * grub-core/partmap/plan.c: Likewise.
9406 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9407 define.
9408 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9409 * include/grub/mm.h (grub_extend_alloc): New inline function.
9410
c30be3b6
VS
94112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 Make Reed-Solomon faster by using power of generator representation of
9414 GF(256)*.
9415
9416 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9417 (gf_double_t): Likewise.
9418 (gf_invert): Removed.
9419 (gf_powx): New array.
9420 (gf_powx_inv): Likewise.
9421 (scratch): Move higher.
9422 (gf_reduce): Removed.
9423 (gf_mul): Use powx.
9424 (gf_invert): Likewise.
9425 (init_inverts): Replaced with ...
9426 (init_powx): ...this. All users updated.
9427 (pol_evaluate): Replace multiplications with additions.
9428 (rs_encode): Likewise.
9429 (gauss_eliminate): Call gf_invert.
9430 (grub_reed_solomon_add_redundancy): Call init_powx.
9431 (grub_reed_solomon_recover): Call init_powx unconditionally.
9432
fa5aeffc
VS
94332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9436
a346b81c
VS
94372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9440 disk->partiton for safety.
9441
d89ee414
VS
94422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9445 Fix a memory leak.
9446 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9447
91ee7b6d
VS
94482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9451
91e5a33d
VS
94522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9455
9edd7be2
VS
94562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 Fix spaces handling in proc/self/mountinfo.
9459
9460 * util/getroot.c (unescape): New function.
9461 (grub_find_root_device_from_mountinfo): Use unescape.
9462
ba102053
VS
94632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 Support ZFS embedding.
9466
9467 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9468 (grub_zfs_fs): Register grub_zfs_embed.
9469
aa94b870
VS
94702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Fix MIPS compilation.
9473
9474 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9475 * include/grub/offsets.h: Rename decompressor fields from
9476 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9477 * util/grub-mkimage.c (image_targets): Use new names.
9478
5fbdac14
VS
94792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 Defer multiboot device parsing until we're in compressed part.
9482
9483 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9484 bsd_part. setdevice has fallen into disuse.
9485 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9486 (bsd_part): Likewise.
9487 (boot_dev): New variable.
9488 (multiboot_trampoline): Don't parse multiboot device.
9489 Pass multiboot device in %edx.
9490 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9491 grub_boot_device.
9492 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9493 Likewise.
9494 * grub-core/kern/i386/pc/startup.S: Save edx.
9495 (grub_boot_drive): Removed.
9496 (grub_install_dos_part): Likewise.
9497 (grub_install_bsd_part): Likewise.
9498 (grub_boot_device): New variable.
9499 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9500 (grub_install_bsd_part): Likewise.
9501 (grub_boot_drive): Likewise.
9502 (grub_boot_device): New variable.
9503 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9504 Removed.
9505 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9506 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9507 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9508 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9509 * util/grub-install.in: Remove redundant condition.
9510
691cbb58
VS
95112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Fix bug introduced by previous commit.
9514
9515 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9516
60240b8b
VS
95172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 Use decompressors framework on i386-pc. It increases core size
9520 by 46 bytes but improves compatibility and maintainability.
9521
9522 * grub-core/Makefile.core.def (lzma_decompress): New image.
9523 (kernel): Add i386_pc_ldflags.
9524 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9525 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9526 to real_to_prot, prot_to_real and device info.
9527 * include/grub/offsets.h: Renamed decompressor offsets.
9528 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9529 (image_target_desc): Remove raw_size and rename decompressor fields.
9530 (compress_kernel): Handle lzma.
9531 (generate_image): Handle decompressors on i386-pc.
9532
e9d3421c
VS
95332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * configure.ac: Add -fno-asynchronous-unwind-tables.
9536
2b23074a
VS
95372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 Move assembly code to C by using intwrap. It increases core size
9540 by 88 bytes but improves compatibility and maintainability.
9541
9542 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9543 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9544 ... here. Translated to C.
9545 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9546 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9547 ... here. Translated to C.
9548 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9549 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9550 ... here. Translated to C.
9551 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9552 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9553 ... here. Translated to C.
9554 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9555 * grub-core/term/i386/pc/console.c (grub_console_cls):
9556 ... here. Translated to C.
9557 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9558 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9559 ... here. Translated to C.
9560 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9561 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9562 Translated to C.
9563 * grub-core/term/i386/pc/console.c (int10_9): New function.
9564 (grub_console_putchar): Likewise.
9565 * include/grub/i386/pc/console.h: Removed the not anymore shared
9566 functions.
9567
678f4b67
VS
95682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Move grub_chainloader_real_boot out of the kernel.
9571
9572 * grub-core/Makefile.am: Remove machine/loader.h.
9573 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9574 Removed.
9575 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9576 variable.
9577 (grub_relocator16_keep_a20_enabled): Likewise.
9578 (grub_relocator16_boot): Fill new variables.
9579 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9580 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9581 relocator.
9582 (grub_chainloader_unload): Likewise.
9583 (grub_chainloader_cmd): Likewise.
9584 * include/grub/i386/pc/loader.h: Removed.
9585 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9586 and esi. All initialisers updated.
9587
4626edf6
VS
95882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
95892011-11-12 Colin Watson <cjwatson@ubuntu.com>
9590
9591 * Makefile.util.def (grub-mount): New util.
9592 * .bzrignore: Add grub-mount.
9593 * configure.ac: Check for fuse and enable grub-mount if available.
9594 * docs/man/grub-mount.h2m: New file.
9595 * util/grub-mount.c: Likewise.
9596
10f0117b
VS
95972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/commands/efi/fixvideo.c: Gettextize.
9600 * grub-core/commands/hashsum.c: Likewise.
9601 * grub-core/commands/i386/cmostest.c: Likewise.
9602 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9603 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9604 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9605 * grub-core/commands/lsmmap.c: Likewise.
9606 * grub-core/commands/menuentry.c: Likewise.
9607 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9608 * grub-core/commands/setpci.c: Likewise.
9609 * grub-core/loader/i386/bsd.c: Likewise.
9610 * grub-core/loader/i386/linux.c: Likewise.
9611 * util/getroot.c: Likewise.
9612 * util/grub-editenv.c: Likewise.
9613 * util/grub-fstest.c: Likewise.
9614 * util/grub-mkfont.c: Likewise.
9615 * util/grub-mkimage.c: Likewise.
9616 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9617 * util/grub-pe2elf.c: Likewise.
9618 * util/grub-probe.c: Likewise.
9619 * util/grub-setup.c: Likewise.
9620 * util/ieee1275/ofpath.c: Likewise.
9621 * util/misc.c: Likewise.
9622 * util/raid.c: Likewise.
9623
566f779b
RM
96242011-11-11 Robert Millan <rmh@gnu.org>
9625
9626 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9627 __attribute__((unused)) from `os_dev', which *is* being used.
9628
b50787de
VS
96292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9632 forgotten define.
9633 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9634 GRUB_IA64_DL_GOT_ALIGN.
9635 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9636 GRUB_IA64_DL_TRAMP_ALIGN.
9637
119d11c8
VS
96382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 Replace grub_fatal with normal errors in i386 linux loader.
9641
9642 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9643 (allocate_pages): Check find_efi_mmap_size return value.
9644 (grub_e820_add_region): Return error.
9645 (grub_linux_boot): Check mmap return value.
9646
6e0632e2
VS
96472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/commands/acpihalt.c: Gettextized.
9650 * grub-core/commands/cacheinfo.c: Likewise.
9651 * grub-core/commands/cmp.c: Likewise.
9652 * grub-core/commands/efi/loadbios.c: Likewise.
9653 * grub-core/commands/gptsync.c: Likewise.
9654 * grub-core/commands/ieee1275/suspend.c: Likewise.
9655 * grub-core/commands/legacycfg.c: Likewise.
9656 * grub-core/commands/memrw.c: Likewise.
9657 * grub-core/commands/minicmd.c: Likewise.
9658 * grub-core/commands/parttool.c: Likewise.
9659 * grub-core/commands/time.c: Likewise.
9660 * grub-core/commands/videoinfo.c: Likewise.
9661 * grub-core/disk/geli.c: Likewise.
9662 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9663 * grub-core/disk/luks.c: Likewise.
9664 * grub-core/disk/lvm.c: Likewise.
9665 * grub-core/font/font_cmd.c: Likewise.
9666 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9667 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9668 * grub-core/gfxmenu/view.c: Likewise.
9669 * grub-core/kern/emu/hostdisk.c: Likewise.
9670 * grub-core/kern/emu/main.c: Likewise.
9671 * grub-core/kern/emu/misc.c: Likewise.
9672 * grub-core/kern/emu/mm.c: Likewise.
9673 * grub-core/kern/mips/arc/init.c: Likewise.
9674 * grub-core/kern/mips/loongson/init.c: Likewise.
9675 * grub-core/kern/partition.c: Likewise.
9676 * grub-core/lib/i386/halt.c: Likewise.
9677 * grub-core/lib/mips/arc/reboot.c: Likewise.
9678 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9679 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9680 * grub-core/loader/i386/xnu.c: Likewise.
9681 * grub-core/loader/multiboot.c: Likewise.
9682 * grub-core/net/bootp.c: Likewise.
9683 * grub-core/net/net.c: Likewise.
9684 * grub-core/normal/term.c: Likewise.
9685 * grub-core/partmap/bsdlabel.c: Likewise.
9686 * grub-core/parttool/msdospart.c: Likewise.
9687 * grub-core/term/gfxterm.c: Likewise.
9688 * grub-core/term/terminfo.c: Likewise.
9689 * grub-core/video/i386/pc/vbe.c: Likewise.
9690 * util/grub-menulst2cfg.c: Likewise.
9691 * util/grub-mkdevicemap.c: Likewise.
9692 * util/grub-mklayout.c: Likewise.
9693 * util/grub-mkrelpath.c: Likewise.
9694 * util/grub-script-check.c: Likewise.
9695 * util/ieee1275/grub-ofpathname.c: Likewise.
9696 * util/resolve.c: Likewise.
9697
073aa7a9
VS
96982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 Support %1$d syntax.
9701
9702 * tests/printf_unit_test.c: New file.
9703 * Makefile.util.def (printf_test): New test.
9704 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9705
c76b5417
VS
97062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9709 fix.
9710
df067ad1
VS
97112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9714 dprintf.
9715 * grub-core/font/font.c (grub_font_load): Likewise.
9716
5b289bc5
VS
97172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * util/grub-macho2img.c: Add comment concerning gettext.
9720 * grub-core/lib/legacy_parse.c: Likewise.
9721
c1860f87
VS
97222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9725 (grub_xvasprintf): Likewise.
9726
d35d0d37
VS
97272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Add const keyword to grub_env_get and gettextize week days.
9730
9731 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9732 (grub_read_hook_datetime): Return const char *.
9733 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9734 updated.
9735 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9736 Mark for gettext.
9737 (grub_get_weekday_name): Return const char *. Call gettext.
9738 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9739 char * and len as the argument. All users updated.
9740 (grub_script_argv_split_append): Receive const char *.
9741 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9742 * include/grub/env.h (grub_env_get): Likewise.
9743 (grub_env_read_hook_t): Return const char *.
9744 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9745 (grub_script_argv_split_append): Likewise.
9746
9aed8a71
VS
97472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9750
067fdf00
VS
97512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9754 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9755
a8bd9d39
VS
97562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9759 Fix prototype.
9760
f7ce5baf
VS
97612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Fix mips compilation.
9764
9765 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9766 normal decoder.
9767 (hashes): Use in embed decoder as well (for sizes).
9768 (dec_stream_header): Fix embed decompressor logic.
9769 (dec_stream_footer): Likewise.
9770
9bb182f3
VS
97712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9774 an error and not a fatal on unrecognised relocation types.
9775
63a9e6f6
VS
97762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9779 Issue error rather than printf on unknown arguments.
9780
4c458569
VS
97812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9784 Make buf a const.
9785
e2d22baf
VS
97862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9789 Fix module name.
9790
53dc8590
VS
97912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9794 leftover debug printf.
9795
6c189294
VS
97962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9799
f7688369
VS
98002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9803 A stylistic fix.
9804
11a775a3
VS
98052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9808
33f784e8
SL
98092011-11-10 Shea Levy <slevy@tieronedesign.com>
9810
9811 Allow all modules to perform serial IO
9812
9813 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9814 * include/grub/serial.h (grub_serial_port_configure): New inline
9815 function.
9816 (grub_serial_port_fetch): Likewise.
9817 (grub_serial_port_put): Likewise.
9818 (grub_serial_port_fini): Likewise.
9819 (grub_serial_find): New proto.
9820
f6276525
VS
98212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 Put symlink at the end of the node and fix a potential
9824 memory corruption.
9825
9826 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9827 Make symlink into an array.
9828 (set_rockridge): Set have_symlink and alloc_dirents.
9829 (grub_iso9660_read_symlink): Use new layout.
9830 (grub_iso9660_iterate_dir): Fix memory corruption.
9831 Use new layout.
9832 (grub_iso9660_dir): Set have_symlink.
9833 (grub_iso9660_open): Likewise.
9834
c3591189
VS
98352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 Remove local keyword.
9838
9839 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9840 (version_test_gt): Likewise.
9841 (version_find_latest): Likewise.
9842 (gettext_printf): Likewise.
9843 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9844
cb544caa
VS
98452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9848
45bd824d
VS
98492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Fix ZFS memory and resource leaks.
9852
9853 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9854 All users updated.
9855 Free type on exit.
9856 (fill_vdev_info): New parameter inserted. All users updated.
9857 (check_pool_label): Likewise.
9858 (scan_disk): Likewise.
9859 (scan_devices): Close non-inserted disks.
9860 (fzap_iterate): Free l.
9861 (unmount_device): Free children descripto memory.
9862
ad9a2f44
VS
98632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9866 argument (access out of bounds).
9867
6b68db81
VS
98682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9871 >= 6 drives.
9872
28840fda
VS
98732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9876 Fix declaration.
9877
8a5a3a5b
VS
98782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 Fix several memory leaks.
9881
9882 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9883 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9884 (grub_cpio_dir): Likewise.
9885 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9886 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9887 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9888 (grub_romfs_label): Likewise.
9889 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
9890 (squash_unmount): New function.
9891 (grub_squash_dir): Fix memory leak.
9892 (grub_squash_open): Likewise.
9893 (grub_squash_read): Likewise.
9894 (grub_squash_mtime): Likewise.
9895 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
9896 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
9897 * util/grub-fstest.c (fstest): Likewise.
9898
57b01250
VS
98992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
9902 avoid accessing beyond the array.
9903
19e81ba7
VS
99042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
9907
52b656c0
VS
99082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 Several AFFS fixes.
9911
9912 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
9913 (GRUB_AFFS_FLAG_FFS): Removed.
9914 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
9915 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
9916 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
9917 (grub_fshelp_node): Make block 32-bit.
9918 Add block_cache and last_block_cache.
9919 (grub_affs_read_block): Fill and use block cache.
9920 (grub_affs_read_file): Removed.
9921 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
9922 boot block.
9923 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
9924 safety.
9925 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
9926 space.
9927 (grub_affs_close): Free block cache.
9928 (grub_affs_read): Use grub_fshelp_read_file directly.
9929
438a746a
VS
99302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
9933 with no error set.
9934
49a45021
VS
99352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
9938 used variable.
9939 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9940 Likewise.
9941
3ae17eb8
VS
99422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
9945
9946 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
9947 byteswap when needed.
9948
27610c38
VS
99492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Fix FreeBSD compilation.
9952
9953 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
9954 to avoid circular dependency.
9955 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
9956 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
9957 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
9958
4a19b601
VS
99592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 Fix ZFS crypto error types.
9962
9963 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
9964 (grub_gcm_decrypt): Likewise.
9965 (grub_zfs_load_key_real): Fix error code type. Handle possible error
9966 from PBKDF2.
9967
958ee221
VS
99682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 Illumos support.
9971
9972 * Makefile.util.def (10_illumos): New script.
9973 * configure.ac: Set COND_HOST_ILLUMOS.
9974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
9975 Support Illumos calls.
9976 (find_partition_start) [__sun__]: Likewise.
9977 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
9978 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
9979 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
9980 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
9981 device.
9982 * util/grub-probe.c (probe) [__sun__]: Do character check.
9983 * util/grub.d/10_illumos.in: New file.
9984
cac14fb6
VS
99852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Support escaped commas in hostdisk.
9988
9989 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
9990 (find_grub_drive): Use unescape_cmp.
9991 (make_device_name): Escape commas.
9992
78e08dc3
VS
99932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9996
9f421dd1
VS
99972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10000 variable.
10001
ed64e9e2
VS
100022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 Support trampoline jumps on powerpc.
10005
10006 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10007 __ia64__ path.
10008 (grub_dl_load_segments): Set mod->sz.
10009 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10010 segments.
10011 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10012 (jump): Likewise.
10013 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10014 function.
10015 (trampoline): New struct.
10016 (trampoline_template): New const.
10017 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10018 * include/grub/dl.h (grub_dl): Add sz element.
10019 [__powerpc__]: Follow __ia64__.
10020 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10021 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10022 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10023 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10024
3084ede4
VS
100252011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 ZFS crypto support.
10028
10029 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10030 * grub-core/Makefile.core.def (zfscrypt): New module.
10031 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10032 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10033 it. All users updated.
10034 (grub_zfs_decrypt): New var.
10035 (grub_zfs_load_key): Likewise.
10036 (zio_checksum_functions): Add SHA256+MAC.
10037 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10038 (zio_read): Handle encrypted blocks.
10039 (zap_verify): Remove incorrect check.
10040 (fzap_iterate): Handle non-standard fzap.
10041 (zap_iterate): Likewise.
10042 (zap_iterate_u64): New function.
10043 (dnode_get_fullpath): Load keys.
10044 * grub-core/fs/zfs/zfscrypt.c: New file.
10045 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10046 (grub_crypto_ecb_encrypt): Make input const.
10047 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10048 (grub_crypto_ecb_encrypt): Make input const.
10049 (GRUB_CIPHER_AES): New macro.
10050 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10051 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10052 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10053 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10054 prefix. All users updated.
10055 (grub_zfs_add_key): New proto.
10056 (grub_zfs_decrypt): Likewise.
10057 (grub_zfs_load_key): Likewise.
10058 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10059 * util/grub-fstest.c (options): Add -K option.
10060 (argp_parser): Likewise.
10061
b632b404
VS
100622011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 Support zle compression on ZFS.
10065
10066 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10067 (decomp_table): Add zle.
10068 * include/grub/zfs/zio.h (zio_compress): Add zle.
10069
c7ba4f69
VS
100702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 Support BtrFS embedding.
10073
10074 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10075 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10076 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10077 * util/grub-setup.c (setup): Use fs embedding if available.
10078 Add additional sanity check.
10079
455377d9
VS
100802011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * util/grub-install.in: Fix condition for config_opt.
10083
c2fd16ca
VS
100842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Support third redundancy strip on raidz3.
10087
10088 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10089 Return error on singularity. All users updated.
10090 (read_device): Don't stop on 3rd failure on raidz3.
10091
8622923b
VS
100922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Support case-insensitive ZFS subvolumes.
10095
10096 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10097 All users updated.
10098 (zap_hash): Likewise.
10099 (name_cmp): New function.
10100 (zap_leaf_array_equal): New parameter case_insensitive.
10101 All users updated.
10102 (zap_leaf_lookup): Likewise.
10103 (fzap_lookup): Likewise.
10104 (zap_lookup): Likewise.
10105 (dnode_get_path): New parameter case_insensitive. Retrieve case
10106 sensitiviness of a volume. All users updated.
10107 (dnode_get_fullpath): New parameter case_insensitive.
10108 All users updated.
10109 (grub_zfs_dir): Set info.case_insensitiveness.
10110
95f2e860
VS
101112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 Support second redundancy strip on raidz(2,3).
10114
10115 * grub-core/fs/zfs/zfs.c (powx): New array.
10116 (powx_inv): Likewise.
10117 (poly): New const.
10118 (xor_out): New function.
10119 (gf_mul): Likewise.
10120 (recovery): Likewise.
10121 (read_device): Use second redundancy strip.
10122
11ee4389
VS
101232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 Use a power of generator representation of GF(256) multiplication group
10126 to save space time and complexity.
10127
10128 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10129 (raid6_table2): Likewise.
10130 (powx): New array.
10131 (powx_inv): Likewise.
10132 (poly): New const.
10133 (grub_raid_block_mul): Replace with ...
10134 (grub_raid_block_mulx): ...this.
10135 (grub_raid6_init_table): Rewritten.
10136 (grub_raid6_recover): Use power of generator representation.
10137
09e2763f
VS
101382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10141 for the right device.
10142
8bec9a28
VS
101432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10146 expected by grub-mkimage and it's more clear since there is no implicit
10147 padding.
10148
dbd3a32e
VS
101492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10152 disk.
10153 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10154
182c872a
PMH
101552011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10156
10157 * util/grub-mkrescue.in: Fix handling xorriso option.
10158
1e51cabd
VS
101592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10162 NULL.
10163
9cc3581d 101642011-11-03 crocket <crockabiscuit@gmail.com>
10165
10166 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10167
158dc1ea
VS
101682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 XZ CRC64 and SHA256 support.
10171
10172 * Makefile.util.def (libgrubmods): Add crc64.c.
10173 * grub-core/Makefile.core.def (crc64): New module.
10174 * grub-core/lib/crc64.c: New file.
10175 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10176 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10177 Fix the type.
10178 (MAX_HASH_SIZE): New define.
10179 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10180 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10181 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10182 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10183 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
10184 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
10185 Handle non-crc32 hashes.
10186 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
10187 (dec_stream_header): Handle non-crc32 hashes.
10188 (dec_stream_footer): Likewise.
10189 (dec_block_header): Likewise.
10190 (dec_main): Likewise.
10191 (xz_dec_init): Likewise.
10192 (xz_dec_reset): Likewise.
10193 (xz_dec_end): Likewise.
10194 * util/import_gcry.py: Add CRC64 line.
10195
9d9b3d2f
VS
101962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
10199 as well.
10200
7d0ac931
VS
102012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Make reiserfs label retrieval similar to other *_label functions.
10204
10205 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
10206 (REISERFS_MAX_LABEL_LENGTH): Removed.
10207 (REISERFS_LABEL_OFFSET): Likewise.
10208 (grub_reiserfs_label): Rewritten.
10209
102102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
10213 field.
10214
cf5ba824
VS
102152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10218
17744004
VS
102192011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
10222 drive failure on both raidz and raidz2.
10223
aca5aefc
VS
102242011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 Fix RAIDZ(2) for >= 5 devices.
10227
10228 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
10229 asize argument. All users updated.
10230
ce8ca56e
VS
102312011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Fix RAIDZ(2).
10234
10235 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
10236 (fill_vdev_info_real): Set ashift.
10237 (read_device): Rewrite RAIDZ part based on reverse engineering.
10238
7c01e783
VS
102392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
10242 don't report potentially unavialiable fields in debug output.
10243 (find_path): Fix double-free and memory leak.
10244
ce109e84
VS
102452011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 Read label on UFS1.
10248
10249 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
10250 (grub_ufs_fs): Always set .label.
10251
87661123
VS
102522011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 Use shifts in UFS.
10255
10256 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
10257 (grub_ufs_data): New field log2_blksz.
10258 (grub_ufs_read_file): Use shifts.
10259 (grub_ufs_mount): Check block size and logarithm it.
10260
46bc1dc2
VS
102612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
10264 long symlinks.
10265
19ee2987
VS
102662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 Handle symlinks and long names on tar and cpio.
10269
10270 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
10271 (ATTR_FILE): Likewise.
10272 (ATTR_DIR): Likewise.
10273 (ATTR_LNK): Likewise.
10274 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
10275 (grub_cpio_find_file): Fill mode, handle linkname field as well as
10276 L and K entries.
10277 (grub_cpio_mount): Zero-fill data.
10278 (handle_symlink): New function.
46bc1dc2
VS
10279 (grub_cpio_dir): Handle symlinks.
10280 (grub_cpio_open): Likewise.
10281 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 10282
c83a08d8
VS
102832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 Fix iso9660 filename limitations and fix memory leaks.
10286
10287 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
10288 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
10289
45cdd3ea
VS
102902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 Fix JFS file name length limitations.
10293
10294 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
10295 (grub_jfs_diropen): Fix maximum filename length.
10296 (grub_jfs_getent): Fix filename length.
10297 (grub_jfs_lookup_symlink): Fix size checks.
10298
94ef05c2
VS
102992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10302 string.
10303
785ab8c7
VS
103042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10305
eb0b6b45
VS
10306 Leverage BFS implementation to read AFS.
10307
10308 * Makefile.util.def (libgrubmods): Add afs.c.
10309 * grub-core/Makefile.core.def (afs): New module
10310 * grub-core/fs/afs.c: New file.
10311 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
10312
103132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 10316
c4a1628f
VS
103172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * grub-core/fs/bfs.c: Run indent.
10320
5825b379
VS
103212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 BFS implementation based on the specification.
10324
10325 * grub-core/fs/bfs.c: New file.
10326 * Makefile.util.def (libgrubmods): Add bfs.c.
10327 * grub-core/Makefile.core.def (bfs): New module.
10328
42b2a706
VS
103292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * util/grub-fstest.c (cmd_cp): Clarify error message.
10332 (cmd_cmp): Likewise.
10333
61b99bfc
YB
103342011-10-30 Yves Blusseau <blusseau@zetam.org>
10335
10336 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
10337 and befs_be.
10338
faba3d16
VS
103392011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 Remove afs and befs because of copyright problem.
10342
10343 * grub-core/fs/afs.c: Removed.
10344 * grub-core/fs/afs_be.c: Removed.
10345 * grub-core/fs/befs.c: Removed.
10346 * grub-core/fs/befs_be.c: Removed.
10347 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
10348 * grub-core/Makefile.core.def (afs): Removed.
10349 (afs_be): Likewise.
10350 (befs): Likewise.
10351 (befs_be): Likewise.
10352
c39224b0
VS
103532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Prefer rockridge over Joliet.
10356
10357 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10358 to ...
10359 (set_rockridge): ... here.
10360 (grub_iso9660_mount): Check rockridge on the primary label when
10361 discovering. Ignore Joliet if Rockridge is present.
10362
e551115a
VS
103632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 Use shifts in nilfs2.
10366
10367 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10368 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10369 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10370 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10371 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10372 (grub_nilfs2_entries_per_block): Replaced with ...
10373 (grub_nilfs2_log_entries_per_block_log): ... this.
10374 (grub_nilfs2_blocks_per_group): Replaced with ...
10375 (grub_nilfs2_blocks_per_group_log): ... this.
10376 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10377 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10378 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10379 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10380 (grub_nilfs2_palloc_entry_offset): Replaced ...
10381 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10382 (grub_nilfs2_dat_translate): Use shifts.
10383 (grub_nilfs2_read_inode): Likewise.
10384 (GRUB_MOD_INIT): Ensure that logs are correct.
10385
564dd58c
VS
103862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Use shifts in minix filesystem.
10389
10390 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10391 (GRUB_MINIX_ZONE2SECT): Likewise.
10392 (grub_minix_data): Replace block_size with log_block_size.
10393 (grub_minix_read_file): Use shifts.
10394 (grub_minix_mount): Check block size and take a logarithm.
10395
ed9ba06d
VS
103962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 Use shifts in squash4.
10399
10400 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10401 (squash_mount): Check block size and take logarithm.
10402 (direct_read): Use shifts.
10403
ad03fe76
VS
104042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 Correct befs block counting logic.
10407
10408 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10409 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10410 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10411 (grub_afs_read_inode): Use block_shift.
10412 (RANGE_SHIFT): New definition.
10413 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10414 unexpected conditions, use shifts and appropriate types.
10415 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10416
6563f63d
VS
104172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/disk/raid.c (scan_devices): Check partition.
10420 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10421
5b1ae25f
VS
104222011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Support BFS (befs) UUID.
10425
10426 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10427 (grub_afs_small_data_element_header): New struct.
10428 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10429 (grub_afs_read_attribute) [MODE_BFS]: New function.
10430 (grub_afs_iterate_dir): Allocate for complete inode.
10431 (grub_afs_mount): Likewise.
10432 (grub_afs_uuid) [MODE_BFS]: New function.
10433 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10434
f8d82408
VS
104352011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10438 (zfs_unmount): Fix memory leak.
10439
5773fb64
VS
104402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 Support NTFS reparse points.
10443
10444 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10445 (symlink_descriptor): New struct.
10446 (grub_ntfs_read_symlink): New function.
10447 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10448 (grub_ntfs_open): Likewise.
10449
91c3fdde
VS
104502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10453
3be82e10
VS
104542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 fstest xnu_uuid subcommand.
10457
10458 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10459 grub-core/commands/xnu_uuid.c.
10460 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10461 (fstest): Handle xnu_uuid.
10462 (options): Document xnu_uuid.
10463 (argp_parser): Parse xnu_uuid.
10464
8e32442e
VS
104652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10468 -l argument. Add newline at the end if printing.
10469 (GRUB_MOD_INIT): Document -l.
10470
52a05075
VS
104712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10474
1869edb5
VS
104752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 ZFS multi-device and version 33 support.
10478
10479 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10480 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10481 (grub_zfs_data): Add multidev-ice-related fields.
10482 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10483 (dva_get_offset): Make dva const.
10484 (zfs_fetch_nvlist): New function.
10485 (fill_vdev_info_real): Likewise.
10486 (fill_vdev_info): Likewise.
10487 (check_pool_label): Likewise.
10488 (scan_disk): Likewise.
10489 (scan_devices): Likewise.
10490 (read_device): Likewise.
10491 (read_dva): Likewise.
10492 (zio_read_gang): Use read_dva.
10493 (zio_read_data): Likewise.
10494 (zap_leaf_lookup): Add missing endian conversion.
10495 (zap_verify): Add missing endian conversion. All users updated.
10496 (fzap_lookup): Likewise.
10497 (fzap_iterate): Likewise.
10498 (dnode_get_path): Handle SA bonus.
10499 (nvlist_find_value): Make input const. All users updated.
10500 (unmount_device): New function.
10501 (zfs_unmount): Use unmount_device.
10502 (zfs_mount): Use scan_disk.
10503 (zfs_mtime): New function.
10504 (grub_zfs_open): Handle system attributes.
10505 (fill_fs_info): Likewise.
10506 (grub_zfs_dir): Likewise.
10507 (grub_zfs_fs): Add mtime.
10508 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10509 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10510 (SA_MTIME_OFFSET): Likewise.
10511 (SA_SYMLINK_OFFSET): Likewise.
10512 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10513 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10514 (fstest): Support zfsinfo.
10515 (argp_parser): Likewise.
10516
186b4028
VS
105172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10520 error.
10521
105222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
10523
10524 ZFS fixes.
10525
10526 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10527 sharing the same block. Iterate over correct number of indices.
10528 (dnode_get_path): Handle symlinks correctly.
10529
c0584900
VS
105302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10533
67e2bd71
VS
105342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Read label on HFS+.
10537
10538 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10539 (grub_hfsplus_btree_search): Fix types.
10540 (grub_hfsplus_label): Implement.
10541
e9cc6b7b
VS
105422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10545
19832ddb
VS
105462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10549
66b40850
VS
105502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 Fix symlink handling on iso9660.
10553
10554 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10555 All users updated.
10556 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10557 (grub_iso9660_read_symlink): Moved most of code ...
10558 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10559
db821363
VS
105602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10563 Use union to avoid breaking strict-aliasing rules.
10564
e1211949
VS
105652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Support multi-extent iso files.
10568
10569 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10570 Add node.
10571 (grub_fshelp_node): Revamp. All users updated.
10572 (FLAG_*): New enum.
10573 (read_node): New function.
10574 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10575 All users updated.
10576 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10577 (get_node_size): New function.
10578 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10579 entries.
10580 Fix memory leak on . and ..
10581 (grub_iso9660_read): Use read_node.
10582 (grub_iso9660_close): Free node.
10583
d4888031
VS
105842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 Fix tar 4G limit and handle paths containing dot.
10587
10588 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10589 (canonicalize): New function.
10590 (grub_cpio_find_file): Use canonicalize. Store offs in
10591 grub_disk_addr_t.
10592 (grub_cpio_dir): Use grub_disk_addr_t.
10593 (grub_cpio_open): Likewise.
10594
9f12e664
VS
105952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10598
10599 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10600 unused flags.
10601 (grub_squash_inode): Add long_file and block_size.
10602 (grub_squash_cache_inode): New struct.
10603 (grub_squash_dirent): Make types into enum.
10604 (SQUASH_TYPE_LONG_REGULAR): New type.
10605 (grub_squash_frag_desc): Add field size.
10606 (SQUASH_BLOCK_FLAGS): New enum.
10607 (grub_squash_data): Use grub_squash_cache_inode.
10608 (grub_fshelp_node): Make ino_chunk 64-bit.
10609 (read_chunk): Minor argument change. All users updated.
10610 (squash_mount): Use correct le_to_cpu.
10611 (grub_squash_open): Handle LONG_REGULAR.
10612 (direct_read): New function.
10613 (grub_squash_read_data): Handle blocks correctly.
10614
9f326fba
VS
106152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10618
f4d9b64b
VS
106192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10622
5bbd28b8
VS
106232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Fix 2G limit on ZFS.
10626
10627 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10628 types.
10629 (uberblock_verify): Likewise.
10630 (dmu_read): Likewise.
10631 (grub_zfs_read): Likewise. Remove invalid cast.
10632
68c72069
VS
106332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10636 (grub_jfs_blkno): Fix incorrect shift.
10637 (grub_jfs_read_file): Use more appropriate types.
10638
6e536dc8
VS
106392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 Support triple indirect on minix2 and minix3.
10642
10643 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10644 Declare triple_indir_zone.
10645 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10646 indirect.
10647
e0864e7a
VS
106482011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 Minix FS fixes.
10651
10652 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10653 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10654 Rename ctime to mtime. All users updated.
10655 (grub_minix_get_file_block): Fix types and double indirect computations.
10656
89481cab
VS
106572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10660 if no label is found.
10661 (grub_fat_iterate_dir): Fix file size type.
10662 (grub_fat_iterate_dir): Likewise.
10663
f646e143
VS
106642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10667 save some space.
10668 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10669 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10670
534d769e
VS
106712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10674
e084ba18
VS
106752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * util/import_gcry.py: Accept space between # and include.
10678
3471ecdf
VS
106792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10682
124df5f6
VS
106832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10686
10687 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10688 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10689 yylex_strncpy.
10690 * grub-core/script/yylex.l: Add fine-grained #pragma.
10691
4defb8d5
VS
106922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10695 New inline function.
10696 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10697 Likewise.
10698 (memset) [GRUB_UTIL]: Likewise.
10699 (memcmp) [GRUB_UTIL]: Likewise.
10700
4e94ae65
VS
107012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10704 inline function rather than a define.
10705
18c575e5
VS
107062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * util/grub-setup.c: Add missing include.
10709
f8bc22a8
VS
107102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * util/ieee1275/grub-ofpathname.c: Add missing include.
10713
3ce69fc9
VS
107142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10717 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10718 Likewise.
10719
d1e293bb
VS
107202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10723 grub_memcmp usage.
10724
7a5c54a4
VS
107252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * util/grub-install.in: Add datarootdir as per automake manual
10728 suggestion.
10729 * util/grub-mknetdir.in: Likewise.
10730
107312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
10732
10733 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10734 suggestion.
10735 * util/grub.d/10_kfreebsd.in: Likewise.
10736 * util/grub.d/10_linux.in: Likewise.
10737 * util/grub.d/10_netbsd.in: Likewise.
10738 * util/grub.d/10_windows.in: Likewise.
10739 * util/grub.d/20_linux_xen.in: Likewise.
10740
766f7d08
VS
107412011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 Remove redundant grub_kernel_image_size.
10744
10745 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10746 _edata and _start.
10747 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10748 the small code. It moves it only by few bytes but simplifies the code.
10749 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10750 _start.
10751 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10752 (grub_kernel_image_size): Removed.
10753 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10754 (grub_kernel_image_size): Removed.
10755 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10756 compiled with Apple toolchain.
10757 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10758 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10759 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10760 (grub_total_module_size): Likewise.
10761 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10762 Removed.
10763 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10764 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10765 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10766 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10767 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10768 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10769 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10770 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10771 Removed.
10772 (grub_total_module_size): Removed.
10773 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10774 (image_targets): Likewise.
10775 Set .compressed_size to no field on sparc.
10776 (generate_image): Remove kernel_image_size handling.
10777
fcf1d672
SJ
107782011-10-19 Szymon Janc <szymon@janc.net.pl>
10779
10780 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10781 NULL pointer dereference.
10782
de9c615e
VS
107832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10786 done with a dedicated section.
10787
10788 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10789 Ensure the correct position of boot_path.
10790 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10791 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10792 other fields.
10793 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10794 * include/grub/boot.h: Removed. All references removed.
10795 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10796 Removed.
10797 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10798
e55599dc
VS
107992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10802 name.
10803
36dd20ad
VS
108042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10807
f8f72eb8
VS
108082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10811 Don't add the bogus brackets.
10812
a374751b
VS
108132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 ExFAT support.
10816
10817 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10818 * grub-core/Makefile.core.def (exfat): New module.
10819 * grub-core/fs/exfat.c: New file.
10820 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10821 (GRUB_FAT_ATTR_*): Make into an enum.
10822 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10823 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10824 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10825 (GRUB_FAT_MAXFILE): Removed.
10826 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10827 (grub_current_fat_bpb_t): New type.
10828 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10829 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10830 (grub_fat_dir_node_t): New type.
10831 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10832 (fat_log2) [MODE_EXFAT]: Removed.
10833 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10834 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10835 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10836 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10837 (grub_fat_label) [MODE_EXFAT]: New function.
10838 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10839 reserved_first_sector to 0.
10840
544c2487
VS
108412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Move grub_reboot out of the kernel.
10844
10845 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10846 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10847 * grub-core/lib/efi/reboot.c: ... here.
10848 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10849 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10850 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10851 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10852 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10853 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10854 * grub-core/lib/ieee1275/reboot.c: ... here.
10855 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10856 * grub-core/lib/mips/arc/reboot.c: ... here.
10857 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10858 * grub-core/lib/mips/loongson/reboot.c: ...here.
10859 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10860 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10861 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10862 * include/grub/i386/reboot.h: New file.
10863 * include/grub/mips/loongson/ec.h: Fix includes.
10864 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10865 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10866 * grub-core/lib/i386/reboot.c: New file.
10867
a97501d2
VS
108682011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 Make grub_prefix into module to fix the arbitrary limit and save
10871 some space.
10872
10873 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10874 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10875 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10876 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10877 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10878 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10879 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10880 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10881 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10882 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10883 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10884 * include/grub/ia64/efi/kernel.h: Removed.
10885 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10886 (grub_prefix): Removed.
10887 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10888 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
10889 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
10890 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
10891 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
10892 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
10893 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
10894 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
10895 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
10896 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
10897 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10898 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10899 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10900 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10901 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
10902 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
10903 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
10904 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10905 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
10906 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
10907 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
10908 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
10909 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
10910 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
10911 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
10912 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
10913 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
10914 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
10915 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
10916 from module.
10917 * util/grub-mkimage.c (image_target_desc): Removed prefix and
10918 prefix_end.
10919 (image_targets): Likewise.
10920 (generate_image): Put prefix as a module.
10921
39705fad
VS
109222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Replace grub_module_iterate with FOR_MODULES.
10925
10926 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
10927 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
10928 (grub_efi_modules_addr): ...this.
10929 * grub-core/kern/efi/init.c (grub_modbase): New variable.
10930 (grub_efi_init): Set grub_modbase.
10931 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
10932 (grub_modbase): New variable.
10933 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
10934 (grub_modbase): New variable.
10935 (grub_machine_init): Set grub_modbase.
10936 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
10937 (grub_modbase): New variable.
10938 (grub_machine_init): Set grub_modbase.
10939 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
10940 (grub_modbase): New variable.
10941 (grub_machine_init): Set grub_modbase.
10942 * grub-core/kern/main.c (grub_module_iterate): Remove.
10943 (grub_modules_get_end): Use grub_modbase.
10944 (grub_load_modules): Use FOR_MODULES.
10945 (grub_load_config): Likewise.
10946 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
10947 (grub_modbase): New variable.
10948 (grub_machine_init): Set grub_modbase.
10949 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
10950 (grub_modbase): New variable.
10951 (grub_machine_init): Set grub_modbase.
10952 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
10953 Removed.
10954 (grub_modbase): New variable.
10955 (grub_machine_init): Set grub_modbase.
10956 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
10957 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
10958 (grub_module_iterate): Likewise.
10959 (grub_modbase): New variable declaration.
10960 (FOR_MODULES): New macro.
10961
2afb7f6c
VS
109622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * configure.ac: Check for __ctzdi2 and __ctzsi2.
10965 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
10966
366e34fa
VS
109672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Fix few obvious type discrepancies.
10970
10971 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
10972 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
10973 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
10974 variable.
10975 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
10976 and connected types.
10977 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
10978 offset.
10979 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
10980 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
10981 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
10982 and connected types.
10983
177b960e
VS
109842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 Fix python 3.x incompatibilities.
10987
10988 * gentpl.py: Put brackets around print strings.
10989 * util/import_gcry.py: Open explicitly as utf-8.
10990 Use in instead of has_key.
10991
3b619ae1
VS
109922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10995 (GRUB_XFS_INO_AGBITS): Make into inline function.
10996 (GRUB_XFS_INO_INOINAG): Likewise.
10997 (GRUB_XFS_INO_AG): Likewise.
10998 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10999 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11000 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11001 (GRUB_XFS_EXTENT_SIZE): Likewise.
11002 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11003 (GRUB_XFS_NEXT_DIRENT): Likewise.
11004 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11005 (grub_xfs_read_file): Fix offset type.
11006
8bcebcb8
RM
110072011-10-15 Robert Millan <rmh@gnu.org>
11008
11009 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11010
0017e5ef
RM
110112011-10-15 Robert Millan <rmh@gnu.org>
11012
11013 Fix build problem on FreeBSD and GNU/kFreeBSD.
11014
11015 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11016
d8919552
VS
110172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11020
11021 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11022 types.
11023 (grub_hfsplus_btree_recoffset): Likewise.
11024 (grub_hfsplus_btree_recptr): Likewise.
11025 (grub_hfsplus_find_block): Likewise.
11026 (grub_hfsplus_btree_search): Likewise.
11027 (grub_hfsplus_read_block): Likewise.
11028 (grub_hfsplus_read_file): Likewise.
11029 (grub_hfsplus_mount): Likewise.
11030 (grub_hfsplus_btree_iterate_node): Likewise.
11031 (grub_hfsplus_btree_search): Likewise.
11032 (grub_hfsplus_iterate_dir): Likewise.
11033 (grub_hfsplus_read): A small code simplification.
11034
c81296b6
VS
110352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/kern/emu/hostdisk.c
11038 (convert_system_partition_to_system_disk): Don't assume that children
11039 of mapper nodes are mapper nodes.
11040
0eb8ffb1
VS
110412011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11044 * include/grub/misc.h (grub_isxdigit): New function.
11045 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11046 switched to grub_isxdigit.
11047 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11048 number starting with a letter.
11049
a98f4a08
RM
110502011-10-09 Robert Millan <rmh@gnu.org>
11051
11052 LVM support for FreeBSD and GNU/kFreeBSD.
11053
11054 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11055 GNU/kFreeBSD.
11056 (LVM_DEV_MAPPER_STRING): Move from here ...
11057 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11058 * util/getroot.c: Include `<grub/util/lvm.h>'.
11059 (grub_util_get_dev_abstraction): Enable
11060 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11061 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11062 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11063 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11064 support it.
11065 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11066 GNU/kFreeBSD.
11067 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11068 when LVM abstraction is required for ${GRUB_DEVICE}.
11069
050e8e90
SJ
110702011-10-06 Szymon Janc <szymon@janc.net.pl>
11071
11072 Add support for LZO compression in GRUB:
11073 - import of minilzo library,
11074 - LZO decompression for btrfs,
11075 - lzop files decompression.
11076
11077 * grub-core/io/lzopio.c: New file.
11078 * grub-core/lib/adler32.c: Likewise.
11079 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11080 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11081 * grub-core/lib/minilzo/minilzo.c: Likewise.
11082 * grub-core/lib/minilzo/minilzo.h: Likewise.
11083 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11084 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11085 grub-core/lib/minilzo/minilzo.c to common.
11086 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11087 cflags in cppflags.
11088 * grub-core/Makefile.core.def (btrfs): Likewise.
11089 * grub-core/Makefile.core.def (lzopio): New module.
11090 (adler32): Likewise.
11091 * grub-core/fs/btrfs.c: Include minilzo.h.
11092 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11093 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11094 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11095 (grub_btrfs_lzo_decompress): New function.
11096 (grub_btrfs_extent_read): Add support for LZO compression type.
11097 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11098 (GRUB_USHRT_MAX): Likewise.
11099 (GRUB_UINT_MAX): Likewise.
11100 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11101 (UINT_MAX): Likewise.
11102 (CHAR_BIT): Likewise.
11103 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11104 grub-core/lib/posix_wrap/limits.h
11105 (UCHAR_MAX): Likewise.
11106 * include/grub/file.h (grub_file_filter_id): New compression filter
11107 GRUB_FILE_FILTER_LZOPIO.
11108 * include/grub/file.h (grub_file_filter_id): Set
11109 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11110 * include/grub/types.h (grub_get_unaligned16): New function.
11111 (grub_get_unaligned32): Likewise.
11112 (grub_get_unaligned64): Likewise.
11113 * util/import_gcry.py (cryptolist): Add adler32.
11114
0eb8ffb1
VS
111152011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11118 in perspective decreases the complexity of build system and fixes
11119 compilation right now.
11120
ce79cc99 111212011-10-01 Ales Nesrsta <starous@volny.cz>
11122
11123 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11124 (fixed problem related to using UHCI with coreboot).
11125
8667a314
BC
111262011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11127
11128 * gentpl.py: Use Autogen macros so that the output template file
11129 (Makefile.tpl) size is reduced.
11130
fc5efcc0
MK
111312011-09-29 Mads Kiilerich <mads@kiilerich.com>
11132
11133 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11134 extra_dist.
11135
d1ab689d
ML
111362011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11137
11138 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11139 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11140
c05de032
ML
111412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11142
11143 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11144 _fullpath.
11145
cca7ccd8
ML
111462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11147
11148 Remove extra declaration of sleep for mingw32.
11149
11150 * util/misc.c (sleep) [__MINGW32__]: Removed.
11151 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11152
e0b0dc83
GS
111532011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11154
11155 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11156 type and packname.
11157 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11158 Resurrected.
11159 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11160 (grub_netbsd_btinfo_bootwedge): New struct.
11161 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11162 New function.
11163 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11164
91a1a164
TH
111652011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11166
11167 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11168 loader.
11169
2ded951e
AB
111702011-09-28 Andreas Born <futur.andy@googlemail.com>
11171
11172 Fix incorrect identifiers in bash-completion.
11173
11174 * util/bash-completion.d/grub-completion.bash.in
11175 (_grub_mkpasswd-pbkdf2): Rename to ...
11176 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11177 (_grub_script-check): Rename to ...
11178 (_grub_script_check): ... this. All users updated.
11179
69915030
VS
111802011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11183 Return 0 if disk isn't biosdisk.
11184
20fd15f9
GS
111852011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11186
11187 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
11188 on NetBSD.
11189 * Makefile.util.def (grub-fstest): Likewise.
11190
1a7d7db9
GS
111912011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11192
11193 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
11194 Get sector size from disk label.
11195
2221ab6c
CW
111962011-09-05 Colin Watson <cjwatson@ubuntu.com>
11197
11198 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
11199 */README* as well as README*.
11200 Reported by: Axel Beckert.
11201
ca51c4a0
VS
112022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
11205 case of less than 256 MiB of RAM.
11206
ab80f326
VS
112072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/commands/wildcard.c (make_regex): Handle @.
11210
4155e697
VS
112112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11214
ab178c08
SJ
112152011-08-21 Szymon Janc <szymon@janc.net.pl>
11216
11217 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
11218 AC_LANG_CONFTEST macros.
11219
7dc3c686
SJ
112202011-08-20 Szymon Janc <szymon@janc.net.pl>
11221
11222 Add grub-fstest option to uncompress data for commands.
11223
11224 * util/grub-fstest.c (uncompress): New var.
11225 (options): New option -u.
11226
fe8d4a7b
SJ
112272011-08-20 Szymon Janc <szymon@janc.net.pl>
11228
11229 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
11230 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
11231
a5219af1
SJ
112322011-08-20 Szymon Janc <szymon@janc.net.pl>
11233
11234 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
11235 file type was not recognized correctly (not gzip or corrupted).
11236
f87abff5
VS
112372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
11240 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
11241
d94497ea
VS
112422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
11245 loongson.
11246 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11247 video_radeon_fuloong2e.
11248 * grub-core/video/radeon_fuloong2e.c: New file.
11249 * include/grub/video.h (grub_video_id_t): Add new ID
11250 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
11251
0d1fd011
VS
112522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
11255 define.
11256 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
11257 that PRID matches the detected subplatform and reset the subplatform
11258 if it doesn't.
11259
84beb0ee
VS
112602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11263
1227c133
VS
112642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Fix PCI iterating on functions >= 4.
11267
11268 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
11269 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
11270 Removed.
11271 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
11272 (grub_pci_read): Fix bitmask.
11273 (grub_pci_read_word): Likewise.
11274 (grub_pci_read_byte): Likewise.
11275 (grub_pci_write): Likewise.
11276 (grub_pci_write_word): Likewise.
11277 (grub_pci_write_byte): Likewise.
11278
9594c689
VS
112792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
11282 can still be specified in TARGET_CFLAGS)
11283
14a2562c
VS
112842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
11287
11288 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
11289 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
11290 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
11291 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
11292 (FULOONG): Rename to ...
11293 (FULOONG2F): ... this. All users updated.
11294 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
11295 (machtype_fuloong2f_str): ... this.
11296 (machtype_fuloong2e_str): New string.
11297 Check for machtype_fuloong2e_str.
11298 * grub-core/loader/mips/linux.c (loongson_machtypes)
11299 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
11300 * grub-core/term/serial.c (loongson_defserial)
11301 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
11302 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
11303 loongson_defserial.
11304 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
11305 Rename to ...
11306 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
11307 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
11308 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
11309 to IMAGE_FULOONG2F_FLASH. All users updated.
11310 (image_targets): Rename images.
11311 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
11312
b526cbb6
SJ
113132011-08-19 Szymon Janc <szymon@janc.net.pl>
11314
11315 Make enable of disk cache statistics code configurable.
11316
11317 * configure.ac: --enable-cache-stats added.
11318 * config.h.in (DISK_CACHE_STATS): New define.
11319 * grub-core/Makefile.core.def (cacheinfo): New command.
11320 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
11321 * grub-core/commands/cacheinfo.c: New file.
11322 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
11323 moved to cacheinfo.c.
11324 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
11325 debug code.
11326 * include/grub/disk.h: Likewise.
11327
fb739ccd
SJ
113282011-08-19 Szymon Janc <szymon@janc.net.pl>
11329
11330 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
11331 * grub-core/Makefile.am: Likewise.
11332
2bba8cfd
VS
113332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
11336 non-zero pull.
11337
43526629
VS
113382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
11341 All users updated.
11342 (grub_jfs_lookup_symlink): Use correct starting inode.
11343
5c144cc8
VS
113442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * util/grub-setup.c (main): Add missing gcry initialisation.
11347
b1257f65
VS
113482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 Don't accept text modes on EFI when booting Linux.
11351
11352 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11353 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11354
828bc390
ML
113552011-08-15 Mario Limonciello <mario_limonciello@dell.com>
113562011-08-15 Colin Watson <cjwatson@ubuntu.com>
11357
11358 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11359 use of "/path/.." as in grub-install for EFI as well as handling
11360 symlinks correctly.
11361 Fixes Debian bug #637768.
11362
5f60ccac
CW
113632011-08-15 Colin Watson <cjwatson@ubuntu.com>
11364
11365 * util/grub-probe.c: Remove duplicate #include.
11366
6dc212f9
RM
113672011-08-10 Robert Millan <rmh@gnu.org>
11368
11369 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11370
11371 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11372 function.
11373 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11374 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11375
66816d85
RM
113762011-08-03 Robert Millan <rmh@gnu.org>
11377
11378 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11379 la_array as packed.
11380 Reported by: Zachary Bedell
11381
20168fca
CW
113822011-07-26 Colin Watson <cjwatson@ubuntu.com>
11383
11384 * configure.ac: The Loongson port requires grub-mkfont due to its
11385 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11386 be built.
11387
303b6246
CW
113882011-07-26 Colin Watson <cjwatson@ubuntu.com>
11389
11390 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11391 processing arguments (otherwise help2man fails when GRUB has not yet
11392 been installed).
11393
6795300e
VS
113942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11395
41aa28ea
VS
11396 New script grub-mkstandalone.
11397
11398 * Makefile.util.def (grub-mkstandalone): New script.
11399 * docs/man/grub-mkstandalone.h2m: New file.
11400 * util/grub-mkstandalone.in: Likewise.
11401
114022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 Support ATA disks with 4K sectors.
6795300e
VS
11405
11406 * include/grub/ata.h (grub_ata): New member log_sector_size.
11407 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11408 (grub_ata_identify): Read sector size.
11409 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11410
92227597
VS
114112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * util/grub-install.in: Don't use uhci outside of x86.
11414
c77069f5
VS
114152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11416
11417 * util/grub-mkrescue.in: Add missing quotes.
11418
114192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
11420
11421 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11422 dereference.
11423
583168a2
VS
114242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11427
6be1c01f
VS
114282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * include/grub/video.h: add missing EXPORT_FUND on
11431 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11432
a1167439
VS
114332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * include/grub/mips/kernel.h: Fix define conflict.
11436
bf66054f
VS
114372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11440 all four ways.
11441
8fc4fa45
CW
114422011-07-21 Colin Watson <cjwatson@ubuntu.com>
11443
11444 Preferred resolution detection for VBE.
11445
11446 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11447 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11448 the Flat Panel extension, in line with the X.org VESA driver.
11449 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11450 New function.
11451 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11452 (grub_vbe_bios_read_edid): Likewise.
11453 (grub_vbe_get_preferred_mode): Likewise.
11454 (grub_video_vbe_setup): When the mode is "auto", try to get the
11455 preferred mode from VBE, and use the largest mode that is no larger
11456 than the preferred mode (some BIOSes expose a preferred mode that is
11457 not in their mode list!). If this fails, fall back to 640x480 as a
11458 safe conservative choice.
11459 (grub_video_vbe_get_edid): New function.
11460 (grub_video_vbe_adapter): Add get_edid.
11461 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11462 (struct grub_video_adapter): Add get_edid.
11463 (grub_video_edid_checksum): Add prototype.
11464 (grub_video_edid_preferred_mode): Likewise.
11465 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11466 structure.
11467
11468 * grub-core/commands/videoinfo.c (print_edid): New function.
11469 (grub_cmd_videoinfo): Print EDID if available.
11470
11471 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11472 is more appropriate on a wider range of platforms than 640x480.
11473 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11474 documentation.
11475
ca5572a9
VS
114762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11479
e4bcf625
VS
114802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * po/POTFILES.in: Regenerate.
11483
c4edd548
VS
114842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11487 incorrect memory usage.
11488
16a2bab0
VS
114892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * util/grub-install.in: Source grub-mkconfig_lib.
11492
2e418de6
VS
114932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 Remove getroot.c from core on emu platform.
11496
11497 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11498 kern/emu/raid.c.
11499 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11500 useless.
11501 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11502 * util/getroot.c (get_win32_path): ... here.
11503 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11504 * util/getroot.c (fini_libzfs): ... here.
11505 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11506 * util/getroot.c (grub_get_libzfs_handle): ... here.
11507 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11508 Moved from here...
11509 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11510 * grub-core/kern/emu/misc.c
11511 (grub_make_system_path_relative_to_its_root): Moved from here...
11512 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11513 * grub-core/kern/emu/getroot.c: Moved from here ...
11514 * util/getroot.c: ... here. All users updated.
11515 * grub-core/kern/emu/raid.c: Moved from here ...
11516 * util/raid.c: ... here. All users updated.
11517
def9832a
VS
115182011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * po/POTFILES.in: Regenerate.
11521
cd8fe79a
VS
115222011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 Fix compilation on GNU/Linux.
11525
11526 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11527 Disable geli.
11528 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11529 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11530 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11531
a251b719
VS
115322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
115332011-07-07 Michael Gorven <michael@gorven.za.net>
115342011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11535
11536 LUKS and GELI support.
11537
11538 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11539 grub-core/disk/luks.c, grub-core/disk/geli.c,
11540 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11541 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11542 grub-core/lib/arg.c.
11543 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11544 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11545 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11546 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11547 (grub-bin2h): Add libgcry.a.
11548 (grub-mkimage): Likewise.
11549 (grub-mkrelpath): Likewise.
11550 (grub-script-check): Likewise.
11551 (grub-editenv): Likewise.
11552 (grub-mkpasswd-pbkdf2): Likewise.
11553 (grub-pe2elf): Likewise.
11554 (grub-fstest): Likewise.
11555 (grub-mkfont): Likewise.
11556 (grub-mkdevicemap): Likewise.
11557 (grub-probe): Likewise.
11558 (grub-ofpath): Likewise.
11559 (grub-mklayout): Likewise.
11560 (example_unit_test): Likewise.
11561 (grub-menulst2cfg): Likewise.
11562 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11563 * grub-core/Makefile.core.def (cryptodisk): New module.
11564 (luks): Likewise.
11565 (geli): Likewise.
11566 * grub-core/disk/AFSplitter.c: New file.
11567 * grub-core/disk/cryptodisk.c: Likewise.
11568 * grub-core/disk/geli.c: Likewise.
11569 * grub-core/disk/luks.c: Likewise.
11570 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11571 grub_util_is_lvm.
11572 (grub_util_get_dm_abstraction): New function.
11573 (grub_util_follow_gpart_up): Likewise.
11574 (grub_util_get_geom_abstraction): Likewise.
11575 (grub_util_get_dev_abstraction): Use new functions.
11576 (grub_util_pull_device): Pull GELI and LUKS.
11577 (grub_util_get_grub_dev): Handle LUKS and GELI.
11578 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11579 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11580 (follow_geom_up): Removed.
11581 (grub_util_fd_seek): New function.
11582 (open_device): Use grub_util_fd_seek.
11583 (nread): Rename to ..
11584 (grub_util_fd_read): ... this. All users updated.
11585 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11586 (grub_crypto_cbc_decrypt): Likewise.
11587 (grub_crypto_hmac_write): Likewise.
11588 (grub_crypto_hmac_buffer): Likewise.
11589 (grub_password_get): Extend to util.
11590 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11591 New member modname.
11592 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11593 * include/grub/cryptodisk.h: New file.
11594 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11595 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11596 LUKS and GELI.
11597 (grub_util_follow_gpart_up): New proto.
11598 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11599 (grub_util_fd_read): Likewise.
11600 (grub_cryptodisk_cheat_mount): Likewise.
11601 (grub_util_cryptodisk_print_uuid): Likewise.
11602 (grub_util_get_fd_sectors): Likewise.
11603 * util/grub-fstest.c (mount_crypt): New var.
11604 (fstest): Mount crypto if requested.
11605 (options): New option -C.
11606 (argp_parser): Parse -C.
11607 (main): Init and fini gcry.
11608 * util/grub-install.in: Support cryptodisk install.
11609 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11610 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11611 cryptodisk.
11612 (prepare_grub_to_access_device): Likewise.
11613 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11614 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11615 (probe_cryptodisk_uuid): New function.
11616 (probe_abstraction): Likewise.
11617 (probe): Use new functions.
11618 * util/import_gcry.py: Create Makefile.utilgcry.def.
11619 Add modname member.
11620
9bfdcbbc
VS
116212011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 Lazy device scanning.
11624
11625 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11626 (grub-setup): Remove util/raid.c.
11627 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11628 * grub-core/disk/lvm.c (scan_depth): New variable.
11629 (grub_lvm_iterate): Rescan if necessary.
11630 (find_lv): New function based on grub_lvm_open.
11631 (grub_lvm_open): Use find_lv. Rescan on error.
11632 (is_node_readable): New function.
11633 (is_lv_readable): Likewise.
11634 (grub_lvm_scan_device): Skip already found disks.
11635 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11636 Stop if searched device is found and readable.
11637 * grub-core/disk/raid.c (inscnt): New variable.
11638 (scan_depth): Likewise.
11639 (scan_devices): New function based on grub_raid_register. Abort if
11640 looked for device is found.
11641 (grub_raid_iterate): Rescan if needed.
11642 (find_array): NEw function based on -grub_raid_open.
11643 (grub_raid_open): Use find_array and rescan.
11644 (insert_array): Set became_readable_at.
11645 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11646 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11647 New function.
11648 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11649 (grub_util_pull_device): New function.
11650 (grub_util_get_grub_dev): Call grub_util_pull_device.
11651 * util/raid.c: Moved to ..
11652 * grub-core/kern/emu/raid.c: ... here.
11653 (grub_util_raid_getmembers): New parameter "bootable".
11654 All users updated. Support 1.x.
11655 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11656 All users updated.
11657 * include/grub/disk.h (grub_disk_pull_t): New enum.
11658 (grub_disk_dev): Change iterate prototype.
11659 All users updated.
11660 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11661 New proto.
11662 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11663 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11664 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11665 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11666 All users updated.
11667 * include/grub/util/raid.h: Removed.
11668
1c358e59
VS
116692011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * po/POTFILES.in: Regenerate.
11672
abee94ed
VS
116732011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 Unify sparc init with other ieee1275.
11676
11677 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11678 instead of kern/sparc64/ieee1275/init.c.
11679 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11680 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11681 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11682 grub/machine/kernel.h.
11683 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11684 (grub_claim_heap) [__sparc__]: Use sparc version.
11685 (grub_machine_init): Moved args parsing to
11686 (grub_parse_cmdline): ...this.
11687 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11688 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11689 New definition.
11690 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11691
11692 Move BOOTP to separate file.
11693
11694 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11695 * grub-core/net/net.c: Move all BOOTP functions to
11696 * grub-core/net/bootp.c: ... here.
11697
11698 Use frame interface on PXE.
11699
11700 * grub-core/Makefile.core.def (pxecmd): Removed.
11701 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11702 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11703 * grub-core/i386/pc/pxe.c: Moved from here ...
11704 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11705 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11706 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11707
11708 EFI network support.
11709
11710 * grub-core/Makefile.core.def (efinet): New module.
11711 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11712 here...
11713 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11714 All users updated.
11715 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11716 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11717 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11718 * grub-core/net/drivers/efi/efinet.c: New file.
11719 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11720 (grub_efi_net_config): New extern var.
11721
11722 Various cleanups and bugfixes.
11723
11724 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11725 error.
11726 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11727 disk declared as partition.
11728 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11729 leak on failure.
11730 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11731 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11732 (grub_debug_zalloc): Likewise.
11733 (grub_debug_realloc): Likewise.
11734 (grub_debug_memalign): Likewise.
11735 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11736 Check that target is IPv4.
11737 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11738 local-mac-address as fallback.
11739 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11740 memory leak.
11741 * grub-core/net/ip.c (ipchksum): Rename to ...
11742 (grub_net_ip_chksum): ... this. All users updated.
11743 (grub_net_recv_ip_packets): Special handling for DHCP.
11744 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11745
11746 Unify prefix handling
11747
11748 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11749 (grub_machine_get_bootlocation): ... this.
11750 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11751 (grub_machine_get_bootlocation): ... this.
11752 (grub_prefix): New variable.
11753 (prefix): Removed.
11754 (root_dev): New variable.
11755 (dir): Likewise.
11756 (main): Use new variables.
11757 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11758 Revamped into ...
11759 (grub_machine_get_bootlocation): ... this.
11760 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11761 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11762 (grub_machine_get_bootlocation): ... this.
11763 (grub_machine_set_prefix): Removed.
11764 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11765 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11766 Revamped into ...
11767 (grub_machine_get_bootlocation): ... this.
11768 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11769 (grub_set_prefix_and_root): ... this. All users updated.
11770 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11771 Revamped into ...
11772 (grub_machine_get_bootlocation): ... this.
11773 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11774 (grub_machine_get_bootlocation): New proto.
11775 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11776
11777 Less intrusive and more reliable seek on network implementation.
11778
11779 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11780 (grub_file_seek): Don't call grub_file_net_seek.
11781 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11782 (grub_net_fs_read_real): .. this.
11783 (grub_net_seek_real): Use net->offset.
11784 (grub_net_fs_read): Seek if necessary.
11785
11786 Unify IEEE1275 netwotk config with the other platforms.
11787
11788 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11789 New variable.
11790 (grub_machine_get_bootlocation): Support network.
11791 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11792 Support type and device parsing.
11793 (grub_ieee1275_get_device_type): New function.
11794 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11795 into ...
11796 (grub_ieee1275_net_config_real): ... this.
11797 (grub_ofnet_probecards): Removed.
11798 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11799 * include/grub/ieee1275/ofnet.h: Removed.
11800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11801 extern var.
11802 (grub_ieee1275_get_device_type): New function.
11803
11804 Unify network device closing across platforms and make more robust.
11805
11806 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11807 grub_grubnet_fini.
11808 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11809 already.
11810 * grub-core/net/net.c (grub_net_network_level_interface_register):
11811 Update num_ifaces.
11812 (grub_net_card_unregister): Close all interfaces.
11813 (receive_packets): Don't poll if no iterfaces are registered.
11814 Open if necessary.
11815 (grub_net_fini_hw): New function.
11816 (grub_net_restore_hw): Likewise.
11817 (fini_hnd): New variable.
11818 (GRUB_MOD_INIT): Register preboot hook.
11819 (GRUB_MOD_FINI): Run and unregister preboot hook.
11820
11821 Poll network cards when idle.
11822
11823 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11824 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11825 * grub-core/net/net.c (receive_packets): Save last poll time.
11826 (grub_net_poll_cards_idle_real): New function.
11827 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11828 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11829 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11830
11831 Rename ofnet interfaces.
11832
11833 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11834 (grub_ofnet_findcards): Use ofnet_%s names.
11835
11836 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11837
11838 Cleanup socket opening.
11839
11840 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11841 (grub_net_fs_close): Likewise.
11842 (grub_net_fs_read_real): Use eof member.
11843 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11844 (+grub_net_udp_close): New inline function.
11845
11846 * include/grub/net/tftp.h: Moved to the top of ...
11847 * grub-core/net/tftp.c: ... here.
11848 * include/grub/net/ip.h: Moved mostly to the top of ...
11849 * grub-core/net/ip.c: ... here.
11850 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11851 * grub-core/net/ethernet.c: ... here.
11852
11853 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11854
11855 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11856 FS name.
11857
11858 * include/grub/net/ip.h (ipv4_ini): Removed.
11859 (ipv4_fini): Likewise.
11860
11861 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11862 (grub_net_send_ip_packets): Likewise.
11863
cf1337aa
VS
118642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11867 grub_read_cmos prototype.
11868
93c06ff9
VS
118692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 VGA text support in qemu-mips
11872
11873 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11874 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11875 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11876 text.
11877 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11878 * grub-core/kern/vga_init.c: ... this.
11879 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11880 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11881 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11882 Adjust.
11883 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11884 GRUB_MACHINE_PCI_IO_BASE.
11885
748ccabe
VS
118862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 MIPS qemu flash support.
11889
11890 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
11891 magic.
11892 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
11893 (grub_machine_init): Probe memory if its size isn't known.
11894 * util/grub-mkimage.c (image_targets): Add flash targets.
11895 (generate_image): Handle flash targets.
11896
d7345994
VS
118972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 MIPS qemu at_keyboard support.
11900
11901 * gentpl.py (videoinkernel): Add qemu-mips.
11902 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
11903 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
11904 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
11905 modules.
11906 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
11907 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
11908 * grub-core/term/serial.c (grub_serial_register)
11909 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
11910
a07a81b3
VS
119112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 CMOS support on sparc.
11914
11915 * gentpl.py (cmos): Add powerpc and sparc.
11916 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
11917 powerpc and sparc.
11918 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
11919 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
11920 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
11921 grub_set_datetime_cmos.
11922 * grub-core/lib/ieee1275/cmos.c: New file.
11923 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
11924 (find_rtc): Set no_ieee1275_rtc on error.
11925 (grub_get_datetime): Call grub_get_datetime_cmos on error.
11926 (grub_set_datetime): Call grub_set_datetime_cmos on error.
11927 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
11928 fail. Move value to argument. All users updated
11929 (grub_cmos_write): Likewise.
11930 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
11931 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
11932 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
11933 grub_get_datetime_cmos and grub_set_datetime_cmos.
11934
77546584
GS
119352011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11936
11937 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
11938 sourcing grub-mkconfig_lib.
11939 * util/update-grub_lib.in: Likewise.
11940 * util/grub.d/00_header.in: Likewise.
11941 * util/grub.d/10_hurd.in: Likewise.
11942 * util/grub.d/10_kfreebsd.in: Likewise.
11943 * util/grub.d/10_linux.in: Likewise.
11944 * util/grub.d/10_netbsd.in: Likewise.
11945 * util/grub.d/10_windows.in: Likewise.
11946 * util/grub.d/20_linux_xen.in: Likewise.
11947 * util/grub.d/30_os-prober.in: Likewise.
11948
54894791
CW
119492011-06-28 Colin Watson <cjwatson@ubuntu.com>
11950
11951 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
11952 default_bg_color rather than black.
11953 (grub_gfxterm_fullscreen): Likewise.
11954 (grub_gfxterm_background_color_cmd): Save new background color in
11955 default_bg_color.
11956
8d5d8444
VS
119572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
11960
5afeb5bd
VS
119612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
11964 mismerge.
11965
ba7df45e
VS
119662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 Chainloading on coreboot support.
11969
11970 * grub-core/Makefile.core.def (chain): Add coreboot.
11971 * grub-core/loader/i386/coreboot/chainloader.c: New file.
11972
d0b526b2
VS
119732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
11976 if it happens.
11977
5ff1d945
VS
119782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 Implement time command.
11981
11982 * grub-core/Makefile.core.def (time): New module.
11983 * grub-core/commands/time.c: New file.
11984 * grub-core/script/parser.y: Remove "time" keyword.
11985 * grub-core/script/yylex.l: Likewise.
11986
5ebaad7e
VS
119872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
11990
bdea3798
VS
119912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11994 when handling leftovers.
11995
b28c5655
VS
119962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11999 so that help2man doesn't fail.
12000
b6f945dc
VS
120012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12004 type in pointers on sparc64.
12005 (get_card_packet): Likewise.
12006
f9b75e8a
CW
120072011-06-27 Colin Watson <cjwatson@ubuntu.com>
12008
12009 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12010 with `*'.
12011 (grub_cmd_videoinfo): Fetch current video mode.
12012
1e3d9b86
VS
120132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12016 because of underlying system restrictions.
12017
efff4b1c
VS
120182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12021 necessary.
12022
9fc9ce37
VS
120232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 Coreboot video support.
12026
12027 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12028 (vbe): Likewise.
12029 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12030 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12031 here ...
12032 * grub-core/kern/i386/int.S: ... here.
12033 * grub-core/video/i386/pc/vbe.c: Updated includes.
12034 * grub-core/video/i386/pc/vga.c: Likewise.
12035 * include/grub/i386/coreboot/memory.h
12036 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12037 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12038 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12039 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12040 Disable interrupts.
12041 * include/grub/i386/pc/vga.h: Removed. All users updated.
12042
41bec7fe
VS
120432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12046 definitions for dprintf.
12047 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12048
ca80309d
VS
120492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12052 prototype.
12053 (get_card_packet): Likewise.
12054
9e322ce8
YB
120552011-06-26 Yves Blusseau <blusseau@zetam.org>
12056
12057 Display the path of the file when file is not found
12058
12059 * grub-core/fs/fat.c: Display the filename when file is not found.
12060 * grub-core/fs/fshelp.c: Likewise.
12061 * grub-core/fs/hfs.c: Likewise.
12062 * grub-core/fs/jfs.c: Likewise.
12063 * grub-core/fs/minix.c: Likewise.
12064 * grub-core/fs/ufs.c: Likewise.
12065 * grub-core/fs/btrfs.c: Likewise.
12066 * grub-core/commands/i386/pc/play.c: Likewise.
12067
cbf597af
SJ
120682011-06-26 Szymon Janc <szymon@janc.net.pl>
12069
12070 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12071 pointer checks before calling grub_free().
12072 * grub-core/commands/wildcard.c (match_devices): Likewise.
12073 * grub-core/commands/wildcard.c (match_files): Likewise.
12074 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12075 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12076 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12077 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12078 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12079 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12080 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12081 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12082 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12083
6295b32f
P
120842011-06-25 Patrick <p55@mailinator.com>
12085
12086 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12087
77c0840b
VS
120882011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12091 (grub_pxe_send): Likewise.
12092 (GRUB_MOD_INIT): Fix types.
12093
40ea05de
SJ
120942011-06-24 Szymon Janc <szymon@janc.net.pl>
12095
12096 * grub-core/io/xzio.c: Fix code style issues
12097
90162423
MRA
120982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
120992011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
12100
12101 Network infrastructure.
12102 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12103
12104 * include/grub/net/arp.h: New file.
90162423
MRA
12105 * include/grub/net/device.h: Likewise.
12106 * include/grub/net/ethernet.h: Likewise.
12107 * include/grub/net/ip.h: Likewise.
12108 * include/grub/net/netbuff.h: Likewise.
12109 * include/grub/net/tftp.h: Likewise.
12110 * include/grub/net/udp.h: Likewise.
12111 * include/grub/ieee1275/ofnet.h: Likewise.
12112 * include/grub/emu/export.h: Likewise.
12113 * include/grub/net.h: Likewise.
12114 * grub-core/net/arp.c: Likewise.
12115 * grub-core/net/ethernet.c: Likewise.
12116 * grub-core/net/ip.c: Likewise.
12117 * grub-core/net/udp.c: Likewise.
12118 * grub-core/net/tftp.c: Likewise.
12119 * grub-core/net/netbuff.c: Likewise.
12120 * grub-core/net/net.c: Likewise.
12121 * grub-core/net/drivers/emu/emunet.c: Likewise.
12122 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12123 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12124 export.h.
12125 * grub-core/Makefile.core.def (net): New module.
12126 (tftp): Likewise.
12127 (ofnet): Likewise.
12128 (emunet): Likewise.
12129 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12130 network protocols.
12131 * grub-core/kern/device.c (grub_net_open) : New variable.
12132 (grub_device_open): Handle network device.
12133 (grub_device_close): Likewise.
12134 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12135 (grub_grubnet_fini): Likewise.
12136 (grub_file_seek): Seek in network device.
12137 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12138 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12139 network root.
12140 (grub_machine_fini): Call grub_grubnet_fini.
12141 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12142 network.
12143 (grub_ieee1275_get_aliasdevname): New function.
12144 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12145 Add unofficial Solaris network info.
12146 (grub_multiboot_make_mbi): Likewise.
12147 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12148 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12149 * include/grub/device.h (grub_fs): Removed.
12150 * include/grub/err.h (grub_err_t): Add network-related values.
12151 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12152 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12153 (grub_ieee1275_get_aliasdevname): New proto.
12154 * include/grub/net.h: Rewritten.
423a1849 12155
031f22a0
VS
121562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12159 names.
12160
4388ca72
VS
121612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12164 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12165 it truncates the output.
12166 Reported by: Ximin Luo.
12167
98e2f506
VS
121682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12171
2a5e94d8
VS
121722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12175 partmap before abstraction.
12176
535c1910
AK
121772011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12178
12179 * util/grub-mkconfig_lib.in: Add missing quotes.
12180
bc09e1a2
VS
121812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
12184 old method if mountinfo would return /dev/root and /dev/root doesn't
12185 exist.
12186
290766fb
VS
121872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 ZFS zlib support
12190
12191 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
12192 (decomp_table): Add zlib entries.
12193 (zio_read): USe 8 bits for compression function rather than 3.
12194 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
12195
121962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * grub-core/disk/ahci.c: Add missing license statements.
12199 * grub-core/fs/romfs.c: Likewise.
12200 * grub-core/lib/ia64/setjmp.S: Likewise.
12201 * grub-core/loader/i386/pc/freedos.c: Likewise.
12202 * grub-core/loader/ia64/efi/linux.c: Likewise.
12203 * grub-core/video/colors.c: Likewise.
12204 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
12205
5ab3f48a
VS
122062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 AHCI support.
12209
12210 * grub-core/Makefile.core.def (ata_pthru): Removed.
12211 (ahci): New module.
12212 (pata): Likewise.
12213 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
12214 on unload.
12215 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
12216 readwrite.
12217 (grub_hdparm_do_check_powermode_cmd): Likewise.
12218 (grub_hdparm_do_smart_cmd): Likewise.
12219 (grub_hdparm_set_val_cmd): Likewise.
12220 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
12221 * grub-core/disk/ahci.c: New file.
12222 * grub-core/disk/ata.c: Factor out the low-level part into ...
12223 * grub-core/disk/pata.c: ... here.
12224 * grub-core/disk/ata_pthru.c: Contents moved to ...
12225 * grub-core/disk/pata.c: ... here.
12226 * grub-core/disk/scsi.c (grub_scsi_names): New array.
12227 (grub_scsi_iterate): Use grub_scsi_names.
12228 (grub_scsi_open): Likewise.
12229 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
12230 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
12231 (grub_ata_regs_t): New struct.
12232 (grub_disk_ata_pass_through_parms): Likewise.
12233 (grub_ata_device): Renamed to ...
12234 (grub_ata): ... this.
12235 (grub_ata_dev): New struct.
12236 Removed all low-level inline functions.
12237 * include/grub/scsi.h: Add PATA and AHCI subsystems.
12238 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
12239 iterate hooks and open. All users updated.
12240 * util/grub-install.in: Handle AHCI disk module.
12241
c31dc5f5
SJ
122422011-06-23 Szymon Janc <szymon@janc.net.pl>
12243
12244 Add support for DRI and RSTn markers in JPEG files.
12245
12246 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
12247 (JPEG_MARKER_RST0): Likewise.
12248 (JPEG_MARKER_RST1): Likewise.
12249 (JPEG_MARKER_RST2): Likewise.
12250 (JPEG_MARKER_RST3): Likewise.
12251 (JPEG_MARKER_RST4): Likewise.
12252 (JPEG_MARKER_RST5): Likewise.
12253 (JPEG_MARKER_RST6): Likewise.
12254 (JPEG_MARKER_RST7): Likewise.
12255 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
12256 (grub_jpeg_decode_dri): New function.
12257 (grub_jpeg_decode_sos): Move image data related part into
12258 grub_jpeg_decode_data function.
12259 (grub_jpeg_decode_data): New function.
12260 (grub_jpeg_reset): New function.
12261 (grub_jpeg_decode_jpeg): Handle new markers.
12262
fe12fd5b
VS
122632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * util/ieee1275/ofpath.c (check_sas): Close fd.
12266 (main): Free of_path.
12267 Reported by: David Volgyes <dvolgyes>.
12268
03147f46
VS
122692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
12272 Reported by: David Volgyes <dvolgyes>.
12273
cad3237f
VS
122742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
12277 file after stat.
12278 Reported by: David Volgyes <dvolgyes>.
12279
13548d26
VS
122802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
12283
12284 Reported by: David Volgyes <dvolgyes>.
12285
e061a1b5
VS
122862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12289 Prevent memory leak.
12290
1abe47dc
VS
122912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
12294 (main): Close file.
e061a1b5 12295 Reported by: David Volgyes <dvolgyes>.
1abe47dc 12296
fbc62666
VS
122972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
12300 to continue if allocation is failed.
12301
12302 Reported by: David Volgyes <dvolgyes>.
12303
e98c83e9
DV
123042011-06-23 David Volgyes <dvolgyes>
12305
12306 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12307 dereference.
12308
a199a8cd
VS
123092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Fix spurious warning.
12312
12313 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
12314 (acorn_partition_map_find): Use .bin member.
12315
e2d1dba0
VS
123162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
12319 /dev/root as a valid device.
12320
8a5d6919
JM
123212011-06-23 Jim Meyering <meyering@redhat.com>
12322
e2d1dba0
VS
12323 Avoid NULL deref in grub_device_open.
12324
8a5d6919
JM
12325 * grub-core/kern/device.c (grub_device_open): Don't dereference
12326 a NULL pointer upon failed grub_env_get.
12327
f7db6f4a
VS
123282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 Support non-512B sectors and agglomerate reads.
12331
12332 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
12333 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
12334 (disk_io_guid): Removed.
12335 (make_devices): Locate solely by BlockIO.
12336 (grub_efidisk_open): Fill log_sector_size and total_sectors.
12337 (grub_efidisk_read): Use read_blocks.
12338 (grub_efidisk_write): Use write_blocks.
12339 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
12340 log_sector_size.
12341 (get_safe_sectors): Handle non-512B sectors.
12342 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
12343 sectors.
12344 (grub_biosdisk_write): Handle non-512B sectors.
12345 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
12346 (grub_scsi_read): Remove special non-512B block handling (now handled
12347 one level up).
12348 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12349 and do sanity checks.
12350 (grub_disk_adjust_range): Handle non-512B sectors.
12351 (transform_sector): New function.
12352 (grub_disk_read_small): Likewise.
12353 (grub_disk_read): Rewritten.
12354 (grub_disk_write): Handle non-512B sectors.
12355 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12356 log_sector_size.
12357 (open_device): Use log_sector_size.
12358 (grub_util_biosdisk_read): Likewise.
12359 (grub_util_biosdisk_write): Likewise.
12360 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12361 non-512B sectors.
12362 (pc_partition_map_embed): Likewise.
12363 * include/grub/disk.h (grub_disk): New field log_sector_size.
12364 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12365 (GRUB_DISK_CACHE_BITS): Increased to 6.
12366 * util/grub-fstest.c (fstest): New command testload.
12367 (argp_parser): Likewise.
12368
881ac815
RM
123692011-06-16 Robert Millan <rmh@gnu.org>
12370
12371 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12372 `ata' driver on kernel of FreeBSD 9.
12373
12374 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12375 (get_ataraid_disk_name): New functions.
12376 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12377 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12378 get_ataraid_disk_name() and get_ada_disk_name().
12379
1e9aef7d
CW
123802011-06-13 Colin Watson <cjwatson@ubuntu.com>
12381
12382 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12383 input format.
12384
351c7c8a
CW
123852011-05-29 Colin Watson <cjwatson@ubuntu.com>
12386
12387 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12388 `ftp.gnu.org' for `alpha.gnu.org'.
12389
6b4e6430
CW
123902011-05-27 Colin Watson <cjwatson@ubuntu.com>
12391
12392 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12393 partitions under /dev/disk/by-id/.
12394
c64db050
CW
123952011-05-27 Colin Watson <cjwatson@ubuntu.com>
12396
12397 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12398 after ten consecutive open failures. Scanning all the way up to
12399 10000 is excessive and can cause serious performance problems in
12400 some configurations.
12401 Fixes Ubuntu bug #787461.
12402
245f4aba
VS
124032011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12406 opening new one.
12407
f767c929
VS
124082011-05-21 Colin Watson <cjwatson@ubuntu.com>
124092011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Don't stat devices unless we have to.
12412
12413 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12414 dir == /dev/mapper.
12415 (grub_guess_root_device): Use already known os_dev if possible.
12416 * grub-core/kern/emu/hostdisk.c
12417 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12418 if device is known to be a dm one.
12419
f35fa3a6
CW
124202011-05-20 Colin Watson <cjwatson@ubuntu.com>
12421
12422 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12423 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12424 Reported by: Pawel Tecza.
12425
9a79fcf2
VS
124262011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12429 (lsefisystab): Likewise.
12430 (lssal): Likewise.
12431 (lsefimmap): Likewise.
12432 (hdparm): Enable on qemu-mips.
12433 (setjmp): Add ia64 nodist.
12434 (serial): Simplify tags.
12435
63e3eea9
CW
124362011-05-18 Colin Watson <cjwatson@ubuntu.com>
12437
12438 * Makefile.util.def (grub-ofpathname): Install manual page.
12439
09728256
CW
124402011-05-18 Colin Watson <cjwatson@ubuntu.com>
12441
12442 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12443
8b63a142
CW
124442011-05-18 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12447
e775d8ed
VS
124482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12451 into dprintf.
12452
bf947d36
VS
124532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 Use full 64-bit division.
12456
12457 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12458 (grub_divmod64): ... this.
12459 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12460 version.
12461
b84f26c5
CW
124622011-05-18 Colin Watson <cjwatson@ubuntu.com>
12463
12464 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12465 `source'.
12466
5626056f
CW
124672011-05-18 Colin Watson <cjwatson@ubuntu.com>
12468
12469 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12470 to avoid accidents when debugging with 'sh -x'.
12471 * grub-core/gensyminfo.sh.in: Likewise.
12472 * tests/example_scripted_test.in: Likewise.
12473 * tests/grub_cmd_regexp.in: Likewise.
12474 * tests/grub_script_blanklines.in: Likewise.
12475 * tests/grub_script_dollar.in: Likewise.
12476 * tests/grub_script_expansion.in: Likewise.
12477 * tests/grub_script_final_semicolon.in: Likewise.
12478 * tests/partmap_test.in: Likewise.
12479 * tests/util/grub-shell-tester.in: Likewise.
12480 * tests/util/grub-shell.in: Likewise.
12481
e2965f4a
CW
124822011-05-18 Colin Watson <cjwatson@ubuntu.com>
12483
12484 Move gfxmenu color handling to video, so that gfxterm can use it
12485 too.
12486
12487 * grub-core/gfxmenu/named_colors.c: Move to ...
12488 * grub-core/video/colors.c: ... here. Rename
12489 grub_gui_get_named_color to grub_video_get_named_color.
12490 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12491 * grub-core/video/colors.c (my_isxdigit): ... here.
12492 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12493 Move to ...
12494 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12495 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12496 to ...
12497 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12498
12499 * include/grub/gui.h (grub_gui_color_t): Move to ...
12500 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12501 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12502 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12503 * include/grub/gui.h (grub_gui_map_color): Move to ...
12504 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12505 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12506 to ...
12507 * include/grub/video.h (grub_video_get_named_color): ... here.
12508 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12509 * include/grub/video.h (grub_video_parse_color): ... here.
12510
12511 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12512 video/colors.c.
12513 (gfxmenu): Remove gfxmenu/named_colors.c.
12514 (video) [videomodules]: Add video/colors.c.
12515
12516 Add a background_color command.
12517
12518 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12519 function.
12520 (GRUB_MOD_INIT): Register background_color command.
12521 (GRUB_MOD_FINI): Unregister background_color command.
12522 (redraw_screen_rect): Allow blend/replace of text layer to be
12523 controlled independently from whether there is a background bitmap.
12524 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12525 changing bitmap.
12526
1e4b4390
VS
125272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12528
26618ff0
VS
12529 Patch BPB in ntldr and chainloader --bpb.
12530
1e4b4390
VS
12531 * grub-core/fs/fat.c: Include grub/fat.h.
12532 (grub_fat_bpb): Moved to ...
12533 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12534 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12535 grub/ntfs.h.
12536 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12537 Moved from here...
12538 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12539 here.
12540 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12541 New function.
12542 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12543 (GRUB_MOD_INIT): Show --bpb.
12544 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12545 * grub-core/normal/main.c (features): New variable.
12546 (GRUB_MOD_INIT): Set feature_* variables.
12547 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12548 proto.
12549 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12550
cf02731e
VS
125512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12554 for cleanness.
12555
e3a1073f
VS
125562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 FreeDOS direct loading support.
12559
12560 * docs/grub.texi (Supported OS): Add FreeDOS.
12561 * grub-core/Makefile.core.def (freedos): New module.
12562 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12563 variable.
12564 (grub_relocator16_boot): Handle %ebx.
12565 * grub-core/lib/i386/relocator16.S: Likewise.
12566 * grub-core/loader/i386/pc/freedos.c: New file.
12567
05caa461
VS
125682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 Long Linux command line support.
12571
12572 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12573 (maximal_cmdline_size): New variable.
12574 (allocate_pages): Use maximal_cmdline_size.
12575 (grub_cmd_linux): Set and use maximal_cmdline_size.
12576 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12577 (allocate_pages): Use maximal_cmdline_size.
12578 (grub_cmd_linux): Set and use maximal_cmdline_size.
12579 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12580 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12581 and cmdline_size.
12582
a2491e23
VS
125832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
125842011-05-18 Colin Watson <cjwatson@ubuntu.com>
12585
12586 Improve devmapper support
12587
12588 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12589 (grub_util_is_lvm): New function.
12590 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12591 than lvm if not dmraid.
12592 Handle mapped md nodes.
12593 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12594 (grub_util_device_is_mapped): ... this. Make always available. All users
12595 updated.
12596 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12597 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12598 dmraid nodes.
12599 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12600
6ad6223e
VS
126012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12604
12605 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12606 * grub-core/modinfo.sh.in: New file.
12607 * grub-core/Makefile.core.def (modinfo.sh): New script.
12608 * util/grub-mknetdir.in: Use modinfo.sh.
12609 * util/grub-mkrescue.in: Likewise.
12610
543a8f6e
VS
126112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12614 Fix potential usage of Elf32 instead of Elf64 when compiling on
12615 32-bit architecture. Add endianness macros while on it.
12616
4959e111
VS
126172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Use mipsel- rather than mips- in directories involving mipsel ports to
12620 allow both endiannesses coexist.
12621
12622 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12623 mips. All conditions adjusted.
12624 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12625 variable.
12626 * util/grub-install.in: Adjust conditions to take renaming into account.
12627 * util/grub-mkimage.c (image_targets): Likewise. New target
12628 mips-qemu_mips-elf for bigendian mips.
12629
35341bbc
VS
126302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Avoid unnecessary copying on MIPS.
12633
12634 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12635 early if src == dest.
12636 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12637 compression is none.
12638
b772baed
VS
126392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 Reduce memory footprint on SGI by putting modules before the kernel
12642 as opposed to after.
12643
12644 * grub-core/Makefile.core.def (kernel): Increase linking address.
12645 (none_decompress): Likewise.
12646 (xz_decompress): Likewise.
12647 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12648 address.
12649 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12650 layout change.
12651 (grub_arch_modules_addr): New function.
12652 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12653 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12654 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12655 here.
12656 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12657 (grub_total_modules_size): ... this. Make global.
12658 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12659 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12660 New definition.
12661 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12662 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12663 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12664 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12665 * util/grub-mkimage.c (image_target_desc): New flag
12666 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12667 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12668 (generate_image): Handle images with modules before kernel.
12669
566a1917
VS
126702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 Prevent potential loss of memory map by overwrite on qemu-mips.
12673
12674 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12675 Save ram size in $s4.
12676 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12677 All users changed to grub_arch_memsize.
12678 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12679 Loongson.
12680 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12681 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12682 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12683 external variable.
12684
5d420cd9
CW
126852011-05-17 Colin Watson <cjwatson@ubuntu.com>
12686
12687 * .bzrignore: Remove grub-dumpbios.
12688
d064b830
CW
126892011-05-17 Colin Watson <cjwatson@ubuntu.com>
12690
12691 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12692 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12693 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12694 existing options which append).
12695 * docs/grub.texi (Simple configuration): Document new options.
12696 Reported by: Ian Jackson. Fixes Debian bug #617538.
12697
3ca2b466
CW
126982011-05-17 Colin Watson <cjwatson@ubuntu.com>
12699
12700 * util/grub-fstest.c (cmd_cat): New function.
12701 (fstest): Handle CMD_CAT.
12702 (options): Add cat.
12703 (argp_parser): Handle cat.
12704
24c9143a
CW
127052011-05-17 Colin Watson <cjwatson@ubuntu.com>
12706
12707 * Makefile.util.def (grub-bin2h): Don't install.
12708 * docs/man/grub-bin2h.h2m: Remove.
12709
90f7ac19
VS
127102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12713 place.
12714
8d4a5178
VS
127152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Reenable qemu-mips port.
12718
12719 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12720 Fix small arc bug while on it.
12721 * gentpl.py: Handle qemu_mips.
12722 * grub-core/Makefile.am: Likewise.
12723 * grub-core/Makefile.core.def: Likewise.
12724 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12725 inappropriate includes.
12726 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12727 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12728 * grub-core/kern/main.c (grub_modules_get_end)
12729 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12730 * grub-core/kern/mips/qemu-mips: Moved to ..
12731 * grub-core/kern/mips/qemu_mips: ... this.
12732 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12733 (grub_machine_init): Call terminfo_init and serial_init.
12734 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12735 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12736 New variable.
12737 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12738 parameter passing.
12739 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12740 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12741 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12742 * include/grub/mips/qemu_mips/cmos.h: New file.
12743 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12744 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12745 Removed.
12746 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12747 Use correct mips-style address.
12748 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12749 (GRUB_TICKS_PER_SECOND): Removed.
12750 (grub_get_rtc): Likewise.
12751 (grub_cpu_idle): Likewise.
12752 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12753 New definition.
12754 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12755 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12756 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12757 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12758 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12759 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12760 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12761 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12762
400b9371
VS
127632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 SGI ARCS port.
12766
12767 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12768 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12769 platforms.
12770 * configure.ac: New target mips-arc.
12771 * gentpl.py: Likewise.
12772 * grub-core/Makefile.am: Likewise.
12773 * grub-core/Makefile.core.def: Likewise.
12774 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12775 (none_decompress): Likewise.
12776 (lsdev): New module.
12777 (datetime): Use lib/arc/datetime.c on ARC.
12778 (part_dvh): New module.
12779 * grub-core/commands/arc/lsdev.c: New file.
12780 * grub-core/disk/arc/arcdisk.c: Likewise.
12781 * grub-core/kern/mips/arc/init.c: Likewise.
12782 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12783 aligned addresses.
12784 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12785 support.
12786 (grub_arch_dl_relocate_symbols): Likewise.
12787 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12788 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12789 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12790 platforms.
12791 * grub-core/lib/arc/datetime.c: New file.
12792 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12793 pci.h on non-loongson.
12794 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12795 (grub_linux_boot): Set unused registers to 0.
12796 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12797 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12798 * grub-core/mmap/mips/uppermem.c: ...here.
12799 * grub-core/partmap/dvh.c: New file.
12800 * grub-core/term/arc/console.c: Likewise.
12801 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12802 (grub_terminfo_set_current): Add terminal "arc".
12803 (grub_terminfo_readkey): Support ARC sequences.
12804 * include/grub/arc/arc.h: New file.
12805 * include/grub/arc/console.h: Likewise.
12806 * include/grub/disk.h (grub_disk_dev_id): Add
12807 GRUB_DISK_DEVICE_ARCDISK_ID.
12808 * include/grub/mips/arc/kernel.h: New file.
12809 * include/grub/mips/arc/memory.h: Likewise.
12810 * include/grub/mips/arc/time.h: Likewise.
12811 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12812 * include/grub/mips/kernel.h (grub_halt): ... here.
12813 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12814 here...
12815 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12816 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12817 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12818 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12819 proto.
12820 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12821 from here ...
12822 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12823 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12824 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12825 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12826 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12827 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12828 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12829 (grub_phys_addr_t): Moved from here ...
12830 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12831 (grub_vtop): Moved from here ...
12832 * include/grub/mips/memory.h (grub_vtop): ... here.
12833 (grub_map_memory): Moved from here ...
12834 * include/grub/mips/memory.h (grub_map_memory): ... here.
12835 (grub_unmap_memory): Moved from here ...
12836 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12837 (grub_machine_mmap_iterate): Moved from here ...
12838 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12839 (grub_mmap_get_lower): Moved from here ...
12840 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12841 (grub_mmap_get_upper): Moved from here ...
12842 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12843 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12844 here ...
12845 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12846 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12847 here ...
12848 * include/grub/mips/time.h (grub_get_rtc): ... here.
12849 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12850 here ...
12851 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12852 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12853 here ...
12854 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12855 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12856 definition.
12857 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12858 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12859 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12860 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12861 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12862 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12863 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12864 (GRUB_MACHINE_LINK_ADDR): Likewise.
12865 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12866 to 6.
12867 * util/grub-install.in: Run dvhtool on ARC.
12868 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 12869 (generate_image): Handle ECOFF output for mips-arc.
400b9371 12870
c8ecc840
VS
128712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12874 blocks.
12875
153a4b55
VS
128762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12879 after enabling port.
12880
ff44d107
VS
128812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Skip incorrect USB devices.
12884
12885 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12886 configcnt == 0.
12887 * include/grub/usb.h (grub_usb_err_t): New enum value
12888 GRUB_USB_ERR_BADDEVICE.
12889
638dbe4f
VS
128902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 Fuloong video init support.
12893
12894 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
12895 well.
12896 (grub_vga_read_arx): New function.
12897 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
12898 definition.
12899 (framebuffer): New members io, mmioptr and mmiobase.
12900 (read_sis_cmd): New function.
12901 (write_sis_cmd): Likewise.
12902 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
12903 rather than 640x400.
12904 * grub-core/video/sis315_init.c: New file.
12905
c3fc520c
VS
129062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
12909 non-loongson.
12910 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
12911 to grub_dl_register_symbol.
12912
67b1e5c9
VS
129132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Fix compilation errors.
12916
12917 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
12918 potentially unused.
12919 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
12920 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
12921 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
12922 to loongson machines.
12923
b756f75f
VS
129242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 Several FS mtime support.
12927
12928 * grub-core/fs/affs.c (grub_affs_time): New struct.
12929 (grub_affs_file): New field mtime.
12930 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
12931 type. Removed 'size'. New field 'di'. All users updated.
12932 (grub_affs_mount): Simplify checsum checking.
12933 (grub_affs_iterate_dir): New helper grub_affs_create_node.
12934 (grub_affs_dir): Handle mtime.
12935 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
12936 (grub_cpio_dir): Likewise.
12937 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
12938 (grub_hfs_filerec): New field mtime.
12939 (grub_hfs_dir): Handle mtime.
12940 (grub_hfs_mtime): New function.
12941 (grub_hfs_fs): Register grub_hfs_mtime.
12942 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
12943 (grub_iso9660_dir): New field mtime.
12944 (grub_fshelp_node): New field dirent.
12945 (iso9660_to_unixtime): New function.
12946 (iso9660_to_unixtime2): Likewise.
12947 (grub_iso9660_read_symlink): Use node->dirent.
12948 (grub_iso9660_iterate_dir): Likewise.
12949 (grub_iso9660_dir): Set mtime.
12950 (grub_iso9660_mtime): New function.
12951 (grub_iso9660_fs): Register grub_iso9660_mtime.
12952 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
12953 (grub_jfs_inode): New fields atime, ctime and mtime.
12954 (grub_jfs_dir): Set mtime.
12955 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12956 * grub-core/fs/ntfs.c (list_file): Set mtime.
12957 (grub_ntfs_dir): Likewise.
12958 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
12959 (grub_reiserfs_iterate_dir): Set mtime.
12960 (grub_reiserfs_dir): Likewise.
12961 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
12962 (grub_fshelp_node): Likewise.
12963 (grub_sfs_iterate_dir): Set mtime.
12964 (grub_sfs_dir): Likewise.
12965 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
12966 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
12967 (grub_xfs_inode): New fields atime, mtime, ctime.
12968 (grub_xfs_dir): Set mtime.
12969 * include/grub/datetime.h (grub_datetime2unixtime): New function.
12970 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
12971 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
12972
12973 Support UDF symlinks.
12974
12975 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
12976 (grub_ufs_read_symlink): New function. All users updated.
12977
12978 Check amiga partmap checksum.
12979
12980 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
12981 (grub_amiga_partition): Likewise.
12982 (amiga_partition_map_checksum): New function.
12983 (amiga_partition_map_iterate): Check checksum.
12984
5470225d
VS
129852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 ROMFS support.
12988
12989 * Makefile.util.def (libgrubmods.a): Add romfs.
12990 * grub-core/Makefile.core.def (romfs): New module.
12991 * grub-core/fs/romfs.c: New file.
12992
d4680a35
VS
129932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Squashfs v4 support.
12996
12997 * Makefile.util.def (libgrubmods.a): Add squash4.
12998 * grub-core/Makefile.core.def (squash4): New module.
12999 * grub-core/fs/squash4.c: New file.
13000 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13001 disk_input_start, disk_input.
13002 (get_byte): Handle disk_input.
13003 (grub_zlib_disk_read): New function.
13004 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13005
bcb18e74
FZ
130062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
130072011-05-15 Feiran Zheng <famcool@gmail.com>
13008
13009 * Makefile.util.def (libgrubmods.a): Add minix3.
13010 * grub-core/Makefile.core.def (minix3): New module.
13011 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13012 (GRUB_MINIX_BSIZE): Removed.
13013 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13014 (grub_minix_ino_t): New type.
13015 (grub_minix_le_to_cpu_ino): New macro.
13016 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13017 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13018 (grub_minix_data): New field block_size.
13019 (grub_minix_read_file): Handle 64-bit correctly.
13020 * grub-core/fs/minix3.c: New file.
13021
32297d5f
TG
130222011-05-15 Tristan Gingold <gingold@free.fr>
130232011-05-15 Robert Millan <rmh.grub@aybabtu.com>
130242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 IA64 support.
13027
13028 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13029 * configure.ac: Add ia64-efi target.
13030 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13031 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13032 * gentpl.py: Add ia64_efi platform.
13033 Rename x86_efi to efi and Add ia64-efi. All users updated.
13034 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13035 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13036 Remove kern/generic/rtc_get_time_ms.c on EFI.
13037 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13038 kern/ia64/dl_helper.c on ia64-efi.
13039 Add kern/emu/cache.c on emu.
13040 (linux): Use on loader/ia64/efi/linux.c on ia64.
13041 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13042 whether symbol is a function.
13043 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13044 (grub_symbol): New field 'isfunc'.
13045 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13046 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13047 (grub_dl_load_segments): Place all sections into the same region.
13048 [__ia64__]: Create trampolines and got.
13049 [GRUB_MACHINE_EMU]: Call mprotect.
13050 (grub_dl_resolve_symbols): Resolve symbol type as well.
13051 [__ia64__]: Create function descriptors.
13052 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13053 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13054 (grub_get_rtc): New function.
13055 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13056 * grub-core/kern/emu/cache.S: Renamed to ...
13057 * grub-core/kern/emu/cache_s.S: ... this.
13058 [__ia64__]: Add a nop.
13059 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13060 [__ia64__]: New function.
13061 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13062 * grub-core/kern/ia64/dl.c: New file.
13063 * grub-core/kern/ia64/dl_helper.c: Likewise.
13064 * grub-core/kern/ia64/efi/init.c: New file.
13065 * grub-core/kern/ia64/efi/startup.S: Likewise.
13066 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13067 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13068 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13069 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13070 * grub-core/loader/ia64/efi/linux.c: New file.
13071 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13072 (GRUB_MOD_DEP): Likewise.
13073 (grub_dl) [__ia64__]: New fields got and tramp.
13074 (grub_dl): New field 'base'.
13075 (grub_dl_register_symbol): New argument isfunc. All users updated.
13076 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13077 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13078 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13079 (grub_ia64_dl_get_tramp_got_size): New proto.
13080 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13081 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13082 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13083 * include/grub/efi/api.h: Skip call wrappers on ia64.
13084 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13085 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13086 * include/grub/elf.h (ELF_ST_INFO): New definition.
13087 * include/grub/ia64/efi/kernel.h: New file.
13088 * include/grub/ia64/efi/memory.h: Likewise.
13089 * include/grub/ia64/efi/time.h: Likewise.
13090 * include/grub/ia64/kernel.h: Likewise.
13091 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13092 * include/grub/ia64/time.h: New file.
13093 * include/grub/ia64/types.h: Likewise.
13094 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13095 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13096 New protos.
13097 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13098 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13099 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13100 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13101 All users updated.
13102 (EFI64_HEADER_SIZE): New definition. All users updated.
13103 (image_targets): Add ia64-efi.
13104 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13105 jumpers_addr. All users updated.
13106 Create function descriptors.
13107 (count_funcs): New function.
13108 (unaligned_uint32): New struct.
13109 (MASK20): New definition.
13110 (MASK19): Likewise.
13111 (MASKF21): Likewise.
13112 (add_value_to_slot_20b): New function.
13113 (add_value_to_slot_21_real): Likewise.
13114 (add_value_to_slot_21): Likewise.
13115 (ia64_kernel_trampoline): New struct.
13116 (nopm): New variable.
13117 (jump): Likewise.
13118 (make_trampoline): New function.
13119 (relocate_addresses): Handle ia64.
13120 (make_reloc_section): Likewise.
13121 (load_image): Likewise.
13122
983b414d
VS
131232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13126 warning. Move variables before code while on it.
13127
5d063cdc
VS
131282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 Fuloong support.
13131
13132 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13133 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13134 * grub-core/boot/mips/loongson/fuloong.S: New file.
13135 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13136 Explicitly init CS5536.
13137 [FULOONG]: Don't use serial until CS5536 is available.
13138 Set GPIO based on dumps.
13139 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13140 [FULOONG]: Handle GPIO and memory controller differences.
13141 Parse machine type in $a2.
13142 * grub-core/boot/mips/startup_raw.S: Determine and save the
13143 architecture.
13144 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13145 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13146 init on architecture type.
13147 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13148 SIS315E. Don't init at_keyboard on fuloong.
13149 (grub_halt): Support Fuloong.
13150 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13151 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13152 (loongson_machtypes): New array.
13153 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13154 type.
13155 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13156 config. All users updated. Handle CS5536 serial.
13157 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13158 default port on machine type. Register serial as inactive.
13159 * grub-core/video/sis315pro.c: New file.
13160 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13161 definition.
13162 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13163 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13164 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13165 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13166 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13167 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13168 to ...
13169 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13170 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13171 definition.
13172 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13173 (grub_arch_machine): New extern var.
13174 * include/grub/mips/loongson/serial.h
13175 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13176 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13177 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13178 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13179 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13180 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13181 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13182 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13183 * include/grub/term.h (grub_term_register_input_inactive): New inline
13184 function.
13185 (grub_term_register_output_inactive): Likewise.
13186 * include/grub/video.h (grub_video_driver_id): New value
13187 GRUB_VIDEO_DRIVER_SIS315PRO.
13188 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
13189 New field "names". All users updated.
13190 New field value IMAGE_FULOONG_FLASH.
13191 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
13192
6ada82d1
JU
131932011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
13194
13195 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
13196 and add some clarification.
13197
90c571a4
VS
131982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
13201 platforms if kernel is compressed.
13202
de04eecf
VS
132032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
13206 unused modules since currently referrence counter isn't reliable and
13207 there isn't much memory to recover there anyway.
13208
57688121
VS
132092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
13212 rather than resetting it to allow modules to reference themselves
13213 in init.
13214
3d2c7e35
VS
132152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
13218 counter on dependencies since grub_dl_unref already handles this.
13219
b25db218
VS
132202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
13223 on error if not already done.
13224
25a45338
VS
132252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Fix few potential memory misusage.
13228
13229 * grub-core/font/font.c (load_font_index): Don't free char_index to
13230 avoid double free.
b25db218
VS
13231 (grub_font_load): Zero-fill font at alloc for safety.
13232 Close file on error.
13233 (free_font): Free bmp_idx.
25a45338 13234
0cac83df
VS
132352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * docs/grub.texi (Installation): Fix several outdated claims.
13238
2217a143
VS
132392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 Handle module_license on windows.
13242
13243 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
13244 sections shifted.
13245 (insert_string): Make argument const char * instead of char *.
13246 (write_section_data): Handle long section names.
13247 Handle module_license.
13248
d4de6b01
VS
132492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
13252 handle class-free menuentries.
13253 (grub_normal_add_menu_entry): Add a check to be sure.
13254
4c2a3b43
VS
132552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
13258 PgUp and PgDown.
13259
85c6210f
VS
132602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * configure.ac: Bump version to 1.99.
13263
36084912
VS
132642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Give ATA device a bit more time on first try in order to allow disks
13267 to spin up.
13268
13269 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
13270 if dev->present is 1. Reset dev->present on failure.
13271 (grub_ata_device_initialize): Set dev->present to 1.
13272 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
13273 (grub_ata_device): New member 'present'.
13274
bda0e219
VS
132752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * util/grub-mkimage.c (generate_image): Update hash.
13278
19e1c41b
VS
132792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 Flush caches on DMA memory.
13282
13283 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
13284 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
13285 (grub_dma_free): Likewise.
13286 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
13287
91bbcc0c
VS
132882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
13291 to avoid asm treating ld and sd as macros.
13292
60ddfad3
VS
132932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13296 decompressor.
13297
a298aa04
VS
132982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
13301 grub_decompress_core since later would fail if grub_decompress_core
13302 is too far.
13303
9b44feca
VS
133042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
13307 R_MIPS_JALR since it's used by newer compiler.
13308
56dbe7b4
VS
133092011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13312
52856af2
VS
133132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
13316 file_path to 0 for surety.
13317 (grub_chainloader_boot): Set exit_data to NULL.
13318 Unset the loader once done.
13319 (grub_cmd_chainloader): Fix confusing error message if file is empty.
13320
9c9bfc6d
VS
133212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
13324 unknown key into a dprintf.
13325
dd94a3df
VS
133262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
13329 on first non-existant partition.
13330
fa68d99c
VS
133312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
13334 openning fails.
13335 Reported by: Mark Korenberg.
13336
157effb7
VS
133372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13340 overflow.
13341
ea75312f
VS
133422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * util/grub-mkimage.c (main): Explicitely flush and sync the output
13345 before closing to ensure that it will be readable by grub-setup.
13346
072b5d31
VS
133472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13350 (devpath_1): Use MAKE_PIWG_PATH.
13351 (devpath_2): Likewise.
13352 (devpath_3): Likewise.
13353 (devpath_4): Likewise.
13354 (devpath_5): Likewise.
13355 (devpath_6): Likewise.
13356
13357 The appleldr.mod was checked that to be binary identical to previous
13358 version.
13359
7fae0051
Z
133602011-05-05 Zach <mikezackles>
13361
13362 Support 2010 Macbooks.
13363
13364 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13365 (devs): Add devpath_6.
13366
7c515bee
VS
133672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13370 /dev/random. /dev/urandom is good enough for our purposes (salting).
13371
ed660bd8
VS
133722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13375
ee5614b7
VS
133762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13379 hexadecimal.
13380
664889a6
VS
133812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13384 and not 0 on failure.
13385
bd405bbc
CW
133862011-05-03 Colin Watson <cjwatson@ubuntu.com>
13387
13388 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13389 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13390 disk; otherwise grub_fs_probe will not fall back to the next
13391 filesystem.
13392 (grub_pxefs_open): Likewise, for consistency.
13393 Reported and tested by: Ezekiel Grave.
13394
4ebff753
CW
133952011-05-03 Colin Watson <cjwatson@ubuntu.com>
13396
13397 * tests/partmap_test.in: Don't hardcode path to parted.
13398 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13399
8f942553
CW
134002011-05-01 Colin Watson <cjwatson@ubuntu.com>
13401
13402 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13403 of `ls' to find out which devices are available.
13404
3c62402d
VS
134052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13408 than source address for efi mmap buffer.
13409
723f63f2
VS
134102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13413 wrong action on non-detecting the magic.
13414
68797f92
VS
134152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13418 already supplied by another part of the module (fixes compilation on
13419 FreeBSD).
13420
6be8715d
VS
134212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13424 match the one used by mdadm.
13425
e91dba5b
CW
134262011-04-21 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * po/README: Add instructions for creating po/LINGUAS.
13429
c85140b3
CW
134302011-04-21 Colin Watson <cjwatson@ubuntu.com>
13431
13432 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13433 #551428.
13434
13435 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13436 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13437 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13438 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13439 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13440 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13441 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13442 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13443 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13444 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13445 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13446 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13447 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13448 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13449 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13450 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13451 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13452 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13453 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13454 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13455 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13456 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13457
92051871
CW
134582011-04-21 Colin Watson <cjwatson@ubuntu.com>
13459
13460 * grub-core/kern/emu/getroot.c
13461 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13462 test that was incorrectly reintroduced in r3214.
13463 Reported by: Ian Dall. Fixes Savannah bug #33133.
13464
b13f79a4
CW
134652011-04-21 Colin Watson <cjwatson@ubuntu.com>
13466
13467 Fix stack pointer handling in 16-bit relocator.
13468
13469 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13470 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13471 Fixes Ubuntu bug #683904.
13472
9b710a88
VS
134732011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * configure.ac: Bump version to 1.99~rc2.
13476
d97e7b59
VS
134772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13480 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13481 * grub-core/lib/x86_64/setjmp.S: Likewise.
13482 * grub-core/lib/mips/setjmp.S: Likewise.
13483 * grub-core/lib/powerpc/setjmp.S: Likewise.
13484 * grub-core/lib/sparc64/setjmp.S: Likewise.
13485
0624551c
VS
134862011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13489 * grub-core/lib/efi/datetime.c: Likewise.
13490
e8f28d4c
VS
134912011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13494 New function.
13495 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13496 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13497 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13498
bba79a15
VS
134992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13502 bitmap.
13503 (grub_gfxterm_term_init): Likewise.
13504
abc474ef
VS
135052011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 Take into account the decorations the computing menu entry width.
13508
13509 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13510 (grub_gfxmenu_create_box): Register get_border_width.
13511 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13512 if available.
13513 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13514 get_border_width.
13515
e74b3947
EP
135162011-04-18 Endres Puschner <code@e7p.de>
13517
13518 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13519 Don't skip first class.
13520
34faa595
VS
135212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13524 chunks.
13525 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13526
93a777e3
VS
135272011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 Complete 64-bit division support.
13530
13531 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13532 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13533 * include/grub/misc.h (grub_divmod64): Rename to ...
13534 (grub_divmod64_full): ... this.
13535 (grub_divmod64): New inline function.
13536
a5102d94
VS
135372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13540
f3fb7b36
VS
135412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13544 performing the necessary test.
13545
9ac718b0
VS
135462011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13549 (kfreebsd.elf): Likewise.
13550 (pc-chainloader.elf): Likewise.
13551 (ntldr.elf): Likewise.
13552
50d2cc5a
VS
135532011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 Identify RAID by its UUID rather than (guessed) name.
13556
13557 * grub-core/disk/raid.c (ascii2hex): New function.
13558 (grub_raid_open): Accept mduuid/%s specification.
13559 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13560 (get_mdadm_uuid): ... this.
13561 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13562
e03f7bea
VS
135632011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13566 to negative size.
13567
e74c3112
CW
135682011-04-13 Colin Watson <cjwatson@ubuntu.com>
13569
13570 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13571 btrfs subvolume.
13572 * util/grub.d/20_linux_xen.in: Likewise.
13573
78fa584f
CW
135742011-04-13 Colin Watson <cjwatson@ubuntu.com>
13575
13576 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13577 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13578
13579 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13580 Build a list of relevant visible mounts using the mnt_id and
13581 parent_mnt_id fields, and then scan that list at the end.
13582
9d5f8162
CW
135832011-04-12 Colin Watson <cjwatson@ubuntu.com>
13584
13585 * docs/grub.texi (normal): New section.
13586 (normal_exit): New section.
13587 (Embedded configuration): Add reference to normal.
13588 (GRUB only offers a rescue shell): Likewise.
13589 * docs/grub-dev.texi (Error Handling): Fix typo.
13590
09a9d66f
CW
135912011-04-12 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * NEWS: Drop obsolete entry about probe-only btrfs support.
13594
0c676933
CW
135952011-04-12 Colin Watson <cjwatson@ubuntu.com>
13596
13597 * util/import_gcry.py: Fix typo.
13598
ec9f5e0d
VS
135992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * NEWS: Add btrfs support.
13602
fe6b2cba
VS
136032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
136042011-04-11 Colin Watson <cjwatson@ubuntu.com>
13605
13606 BtrFS support. Written by me (Vladimir) with important bugfixes and
13607 even more important testing by Colin.
13608
13609 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13610 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13611 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13612 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13613 mem_input_off and mem_input. All users updated to accept in-RAM input.
13614 (gzio_seek): New function.
13615 (test_zlib_header): Likewise.
13616 (grub_gzio_read): Likewise.
13617 (grub_zlib_decompress): Likewise.
13618 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13619 Accept partial and non-virtual mounts.
13620 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13621 avoid receiving /dev/dm-X as device.
13622 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13623 Handle bind and partial mounts.
13624 * grub-core/lib/crc.c: New file.
13625 * include/grub/deflate.h: Likewise.
13626 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13627 proto.
13628 * include/grub/lib/crc.h: New file.
13629
e745cf0c
VS
136302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 Implement automatic module license checking according to new GNU
13633 guidelines.
13634
13635 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13636 (grub_dl_load_core): Use grub_dl_check_license.
13637 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13638 (GRUB_MOD_LICENSE): Likewise.
13639 (GRUB_MOD_DUAL_LICENSE): Likewise.
13640 All modules updated.
13641
2a9bc016
CW
136422011-04-11 Colin Watson <cjwatson@ubuntu.com>
13643
13644 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13645 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13646 loaders.
13647 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13648
8a3bc88e
VS
136492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13652
af869a4a
VS
136532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13656 failed.
13657
9ee8d94f
VS
136582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13661 parenthesis in the middle of the filename.
13662
b01abe3e
VS
136632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13666 rather than trying to put initrd way too high.
13667 Reported by: Ryan Lortie <desrt@desrt.ca>
13668
335bda1e
VS
136692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13672 improperly removed string.
13673
5ca1a64d
VS
136742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13677 is_disk.
13678 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13679 (open_device) Likewise.
13680 (grub_util_biosdisk_close): Likewise.
d8ce9995 13681 Reported by: Mark Korenberg.
5ca1a64d 13682
cbac5b1e
AK
136832011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13684
13685 * util/grub-mkconfig_lib.in: Add missing quotes.
13686
088cdb65
CW
136872011-04-10 Colin Watson <cjwatson@ubuntu.com>
13688
13689 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13690 is NULL.
13691
8b8a81fa
VS
136922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Dynamically count the number of lines for the lower banner.
13695
13696 * grub-core/normal/menu_entry.c (per_term_screen): New member
13697 num_entries.
13698 (print_down): Use num_entries.
13699 (update_screen): Likewise.
13700 (grub_menu_entry_run): Set num_entries.
13701 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13702 num_entries.
13703 (grub_print_message_indented): Move real part to ...
13704 (grub_print_message_indented_real): ... here. Additional argument
13705 dry_run.
13706 (draw_border): Additional argument num_entries.
13707 (print_message): Additional argument dry_run.
13708 (print_entries): Receive menu viewer data.
13709 (grub_menu_init_page): New argment num_entries.
13710 (menu_text_set_chosen_entry): Use num_entries.
13711 (grub_menu_try_text): Likewise.
13712 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13713 All users updated.
13714 (grub_ucs4_count_lines): New function.
13715 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13716 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13717 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13718 (grub_term_border_height): Likewise.
13719 (grub_term_num_entries): Likewise.
13720
277f955b
VS
137212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13724 Remove now unused string.
13725
536ce85a
CW
137262011-04-09 Colin Watson <cjwatson@ubuntu.com>
13727
13728 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13729 build system.
13730 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13731
13732 (Comment): Fix typo.
13733 (Getting started): General copy-editing.
13734 (Typical Development Experience): Likewise.
13735 (Error Handling): Likewise.
13736 (Video API): Likewise.
13737
2cf09e32
CW
137382011-04-09 Colin Watson <cjwatson@ubuntu.com>
13739
13740 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13741 throughout.
13742
1ec652f4
VS
137432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13746 directory.
13747
2c583728
CW
137482011-04-08 Colin Watson <cjwatson@ubuntu.com>
13749
13750 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13751 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13752 "development".
13753
d7a565e9
VS
137542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13757 grub_strcpy since the lines aren't necessarily 0-terminated.
13758
7c2e4909
VS
137592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13762 root on legacy.
13763
34c09785
VS
137642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13767 (GRUB_MOD_INIT): DEVICE isn't optional.
13768
6a6f8058
VS
137692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13772 word on new line if it's too long anyway. Fixes a hang.
13773
2e335e90
VS
137742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13777 const.
13778 * util/grub-setup.c (main): Reuse md device name if available.
13779 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13780 not GRUB name as argument.
13781 Based on patch by: Florian Wagner <fwagner>.
13782
10a7a867
VS
137832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13786 Place mbi on low memory for better compatibility.
13787
7a3d6cd9
VS
137882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13791
18dd6b47
VS
137922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
137932011-04-08 Colin Watson <cjwatson@ubuntu.com>
13794
13795 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 13796 * conf/Makefile.common: Likewise.
18dd6b47 13797
3c0e3f14
VS
137982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13799
f7148863
VS
13800 * grub-core/normal/menu.c: Add missing include.
13801
138022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 13805
6d1fa41f
MZ
138062011-04-08 Martin Zuther <mzuther@mzuther.de>
13807
13808 * util/grub-mkconfig.in: Ignore emacsen backup.
13809
478182a8
VS
138102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13813 on open.
13814 (grub_util_biosdisk_close): Likewise.
13815
72a89a54
VS
138162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13819 const attribute and use grub_isdigit.
13820
b5ebecfa
A
138212011-04-06 Andrey <dev_null@ukr.net>
13822
13823 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13824 gcc warning.
13825
7755f66e
VS
138262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13829 useful grub_dprintf's.
13830
461121ff
VS
138312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13834
2a961775
VS
138352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13838
adf594cc
VS
138392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 Output errors if theme loading failed.
13842
13843 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13844 grub_gfxterm_fullscreen on error paths to ...
13845 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13846 theme loading error.
13847
665900a3
VS
138482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13851 space for older compilers.
13852 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13853
a562b479
VS
138542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13857 and report them as not RAID members since they are useless for GRUB.
13858 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13859
850e9373
VS
138602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 Increase LVM implementation robustness in order not to crash on
13863 configurations like pvmove. Previously code assumed that in some places
13864 only lvs or only pvs are used whereas it seems that they are used
13865 interchangeably.
13866
13867 * grub-core/disk/lvm.c (read_node): New function.
13868 (read_lv): Use read_node.
13869 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13870 Match volumes only at the end when all lvs are found. Take both
13871 pvs (first) and lvs (second) into account.
13872 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13873 mirror_* into node_*. All users updated.
13874 (grub_lvm_stripe): Merge this ...
13875 (grub_lvm_mirror): ... and this ...
13876 (grub_lvm_node): ... into this. All users updated.
13877
6f332153
VS
138782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13881 of function to allow further scanning for LVMs.
13882
829ea451
VS
138832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13886 on failed seek as it breaks open fd reusage.
13887
09ceb9a5
VS
138882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * util/grub-install.in: Add a recommendation to use --recheck before
13891 reporting bugs.
13892
67e11623
VS
138932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
13896 are obtained.
13897
caee5efd
VS
138982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 GRUB developper manual based on existing Internals section and
13901 contributions by the various authors with active copyright assignment.
13902
13903 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
13904 * docs/font_char_metrics.png: New file.
13905 * docs/font_char_metrics.txt: Likewise.
13906 * docs/grub-dev.texi: Likewise.
13907 * docs/grub.texi (Internals): Move from here ...
13908 * docs/grub-dev.texi: ... here.
13909
2cccc747
CW
139102011-04-01 Colin Watson <cjwatson@ubuntu.com>
13911
13912 Store the loopback device as data on loopback grub_disk structures,
13913 rather than the file it points to. This fixes use of freed memory
13914 if an existing loopback device is replaced.
13915
13916 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
13917 disk->data, not dev->file.
13918 (grub_loopback_read): Adjust file assignment to match.
13919 Fixes Ubuntu bug #742967.
13920
186ae367
CW
139212011-04-01 Colin Watson <cjwatson@ubuntu.com>
13922
13923 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
13924 when replacing an existing device.
13925
cfed2ad0
VS
139262011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
13929 memory corruptions.
13930
13931 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
13932 unsigned.
13933 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
13934 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
13935 (grub_jfs_read_inode): Likewise.
13936 (grub_jfs_opendir): Likewise. Remove now useless casts.
13937 (grub_jfs_getent): Likewise.
13938 Make ino a grub_uint32_t rather than int.
13939 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
13940 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
13941 division and module with bit operations.
13942 (grub_jfs_find_file): Make ino a grub_uint32_t.
13943 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
13944
05d2ed32
CW
139452011-04-01 Colin Watson <cjwatson@ubuntu.com>
13946
13947 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
13948 warning. (This was in fact always initialised before use, but GCC
13949 wasn't smart enough to prove that.)
13950 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13951
91dc6073
VS
139522011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
13955 stack alignment.
13956 (efi_wrap_1): Likewise.
13957 (efi_wrap_2): Likewise.
13958 (efi_wrap_3): Likewise.
13959 (efi_wrap_4): Likewise.
13960 (efi_wrap_5): Likewise.
13961 (efi_wrap_6): Likewise.
13962 (efi_wrap_10): Likewise.
13963 Based on information by: Red Hat/Peter Jones.
13964
a8afc1d1
CW
139652011-03-31 Colin Watson <cjwatson@ubuntu.com>
13966
13967 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
13968 set-but-not-used variable.
13969
a826cc7d
CW
139702011-03-31 Colin Watson <cjwatson@ubuntu.com>
13971
13972 * docs/grub.texi (Simple configuration): Be more explicit about
13973 GRUB_DEFAULT, and add an example.
13974 Reported by: Leslie Rhorer.
13975
875b67ba
CW
139762011-03-30 Colin Watson <cjwatson@ubuntu.com>
13977
13978 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
13979 shell".
13980
fd7cd914
AS
139812011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13982
13983 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
13984 * util/grub.d/20_linux_xen.in: Likewise.
13985
090b1b6a
VS
139862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * util/grub.d/10_linux.in: Try alternative config filenames where
13989 we parse config file.
13990 * util/grub.d/20_linux_xen.in: Likewise.
13991
baad885c
AS
139922011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13993
13994 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13995 * util/grub.d/20_linux_xen.in: Likewise.
13996
241e41f5
VS
139972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * grub-core/disk/raid.c (insert_array): Add few potentially
14000 useful grub_util_info.
14001 (grub_raid_register): Likewise.
14002
56445fb2
VS
140032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14006 Preserve partition number in mdadm code path.
14007
c871b1c6
VS
140082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14011 few potentially useful grub_util_info.
14012
5e631b4f
CW
140132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14016
2d5d0333
CW
140172011-03-30 Colin Watson <cjwatson@ubuntu.com>
14018
14019 * docs/grub.texi (default): Use @example rather than nested
14020 itemized lists to avoid breaking gendocs.
14021
3d7ed04e
CW
140222011-03-30 Colin Watson <cjwatson@ubuntu.com>
14023
14024 * docs/grub.texi (Future): Update.
14025
abf04200 140262011-03-30 Colin Watson <cjwatson@ubuntu.com>
14027
14028 * docs/grub.texi (Environment): New chapter.
14029 (Changes from GRUB Legacy): Link to "Environment block" section for
14030 details of limitations.
14031 (Simple configuration): Likewise. Link to documentation of gfxmode
14032 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14033 respectively.
14034 (Shell-like scripting): Note that normal variables are stored in the
14035 environment.
14036 (gettext): Link to documentation of lang and locale_dir.
14037 (list_env): New section.
14038 (load_env): New section.
14039 (save_env): New section.
14040
14041 (Reporting bugs): Fix typo.
14042
e1ad0edd
VS
140432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14046 the example.
14047
5d803174
VS
140482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/term/at_keyboard.c (set_scancodes)
14051 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14052
2a2da1d0
CW
140532011-03-30 Colin Watson <cjwatson@ubuntu.com>
14054
14055 * docs/grub.texi (Menu-specific commands): Remove some semantics
14056 that were true in GRUB Legacy but not in GRUB 2.
14057 (submenu): New section.
14058 (false): New section.
14059 (read): New section.
14060 (true): New section.
14061
a7527639
CW
140622011-03-30 Colin Watson <cjwatson@ubuntu.com>
14063
14064 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14065
140662011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14067
14068 * docs/grub.texi (Simple configuration): Explain some of the
14069 current limitations of grub-mkconfig.
8a748df2 14070 Reported by: Leslie Rhorer.
e30af029 14071
fc858482
VS
140722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 Old macs search for boot.efi rather than for bootia32.efi.
14075
14076 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14077 * util/grub-mkrescue.in: Likewise.
14078 Suggested by: Peter Jones.
14079
e1eb511d
VS
140802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14083
70e75364
VS
140842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14087 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14088 (grub_lvm_mirror): New struct.
14089 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14090 (grub_lvm_iterate): Iterate only visible volumes.
14091 (grub_lvm_read): Factor out to ..
14092 (read_lv): ... this. Support mirrors.
14093 (grub_lvm_read): New wrapper function.
14094 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14095 stripped or mirrored.
14096
fc18f6a3
VS
140972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14100
5c650f4c
CW
141012011-03-29 Colin Watson <cjwatson@ubuntu.com>
14102
14103 * docs/grub.texi (loopback): New section.
14104
61d7156b
CW
141052011-03-29 Colin Watson <cjwatson@ubuntu.com>
14106
14107 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14108 removed -p option.
14109
994b8264
CW
141102011-03-29 Colin Watson <cjwatson@ubuntu.com>
14111
14112 * docs/grub.texi (BIOS installation): New section, partly based on
14113 previous text in other sections.
14114 (Installing GRUB using grub-install): Replace BIOS discussion with a
14115 cross-reference.
14116 (Images): Likewise.
14117
9e4d19e0
VS
141182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14121 [HAVE_DIOCGDINFO]: Add safety checks.
14122
a307c0b2
VS
141232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14126 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14127
b4db4f39
CW
141282011-03-29 Colin Watson <cjwatson@ubuntu.com>
14129
14130 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14131 real_sb->size is zero (e.g. RAID-0), get the disk size from
14132 real_sb->data_size instead.
14133 Fixes Ubuntu bug #743136.
14134
35e5f84c
VS
141352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14138 printf clauses for printing size and start.
14139
d2e29d81
VS
141402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14143 Reported and tested by: Timothy Nikkel.
14144
ed5587af
VS
141452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14148 (dirty_region_add_real): ... this.
14149 (dirty_region_add): Don't discard margin refresh when performing
14150 scheduled repaint.
14151
a1dc717c
VS
141522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/lib/relocator.c (allocate_regstart)
14155 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14156 terminals are capabple of malloc-free operation.
14157 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14158 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14159
9f3677d3
VS
141602011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14161
14162 * util/grub-setup.c: Copy the partition table zone if floppy support
14163 is disabled, even if no partition table is found.
14164
14165 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14166 during POST if an invalid partition table is contained in the PBR
14167 of the active partition when GRUB is installed to a partition.
14168
24148725
CW
141692011-03-28 Colin Watson <cjwatson@debian.org>
14170
14171 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14172 comment.
14173
f329eda7
CW
141742011-03-28 Colin Watson <cjwatson@debian.org>
14175
14176 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14177 to be specific about what kind of RAID device we're scanning for.
14178
c482ad98
SG
141792011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14180
14181 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14182 return freed string.
14183
5ee04984
VS
141842011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14187
f4727da9
VS
141882011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 Use libgeom on FreeBSD to detect partitions.
14191
14192 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
14193 (grub-mkrelpath): Likewise.
14194 (grub-script-check): Likewise.
14195 (grub-editenv): Likewise.
14196 (grub-mkpasswd-pbkdf2): Likewise.
14197 (grub-fstest): Likewise.
14198 (grub-mkfont): Likewise.
14199 (grub-mkdevicemap): Likewise.
14200 (grub-probe): Likewise.
14201 (grub-setup): Likewise.
14202 (grub-ofpathname): Likewise.
14203 (grub-mklayout): Likewise.
14204 (example_unit_test): Likewise.
14205 (grub-menulst2cfg): Likewise.
14206 * grub-core/Makefile.core.def (grub-emu): Likewise.
14207 (grub-emu-lite): Likewise.
14208 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
14209 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
14210 define HAVE_DIOCGDINFO.
14211 (follow_geom_up) [FreeBSD]: New function.
14212 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
14213 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
14214 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
14215 unconditionally of HAVE_DIOCGDINFO.
14216
82fe6c75
VS
142172011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Fix FreeBSD compilation problem.
14220
14221 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
14222 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
14223
4c6c9431
CW
142242011-03-24 Colin Watson <cjwatson@ubuntu.com>
14225
14226 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
14227 Switch back to page zero before loading a kernel, since some kernel
14228 drivers expect that.
14229 Thanks to: Felix Kuehling.
14230
c7064d94
VS
142312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
14234 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
14235 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
14236
3f71cded
VS
142372011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
14240 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
14241
ef6de21a
VS
142422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
14245 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
14246 malloc is disabled.
14247
8bc66a2c
VS
142482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
14251 for modules headers when counting the needed allocation size.
14252
5657722c
VS
142532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
14256 if no ASCII character is found to prevent crash.
14257
41a85f55
AK
142582011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14259
14260 * grub-core/video/bitmap.c (match_extension): Ignore case.
14261
59e1e5f1
VS
142622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14265
bd4d051a
VS
142662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/script/parser.y: Declare "time" as valid argument.
14269
bae7fcc1
PJ
142702011-03-23 Peter Jones <pjones@redhat.com>
14271
14272 Fix incorrect assert failure reporting.
14273
14274 * grub-core/tests/example_functional_test.c (example_test): Add
14275 a failure comment.
14276 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
14277 (failure_start): ...this. Check that malloc succeeded.
14278 Don't call xvasprintf. Return failure struct.
14279 (failure_append_vtext): New function.
14280 (failure_append_text): Likewise.
14281 (add_failure): Likewise.
14282 (grub_test_assert_helper): Likewise.
14283 * include/grub/test.h (grub_test_assert_helper): New declaration.
14284 (grub_test_assert): Macro rewritten.
14285
537dc9be
VS
142862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14289
fa3e01bf
VS
142902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14293
b1d28404
VS
142942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
14297 into GRUB-style one.
14298
2e3e2e09
VS
142992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
14302 error and not grub_errno.
14303 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
14304
ed57e557
VS
143052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
14308 GRUB_USB_SPEED_NONE in case of failure and not the error code.
14309
d1611f01
VS
143102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14311
14312 * grub-core/efiemu/i386/pc/cfgtables.c
14313 (grub_machine_efiemu_init_tables): Make declaration a prototype.
14314 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
14315 (grub_xnu_unlock): Likewise.
14316 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
14317
7d4e39d6
VS
143182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
14321 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
14322 * grub-core/commands/hashsum.c (aliases): Likewise.
14323 * grub-core/commands/setpci.c (pci_registers): Likewise.
14324 * grub-core/disk/usbms.c (attach_hook): Likewise.
14325 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
14326 (zio_checksum_table): Likewise.
14327 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
14328 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
14329 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
14330 * grub-core/lib/relocator.c (leftovers): Likewise.
14331 (extra_blocks): Likewise.
14332 * grub-core/loader/i386/bsd.c (relocator): Likewise.
14333 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
14334 (modules_last): Likewise.
14335 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
14336 (devices): Likewise.
14337 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
14338 (modules_last): Likewise.
14339 * grub-core/normal/auth.c (users): Likewise.
14340 * grub-core/normal/context.c (initial_menu): Likewise.
14341 (current_menu): Likewise.
14342 * grub-core/normal/crypto.c (crypto_specs): Likewise.
14343 * grub-core/term/serial.c (grub_serial_ports): Likewise.
14344 (grub_serial_terminfo_input_template): Likewise.
14345 (grub_serial_terminfo_output_template): Likewise.
14346 (grub_serial_terminfo_input): Likewise.
14347 (grub_serial_terminfo_output): Likewise.
14348 (registered): Likewise.
14349 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14350
40fc4659
VS
143512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14354 grub_video_mode_type_t.
14355 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14356 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14357 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14358
2da48d28
VS
143592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * util/grub-install.in: Correct the x86-64 name as x86_64.
14362
9b43bf39
CW
143632011-03-11 Colin Watson <cjwatson@ubuntu.com>
14364
14365 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14366 initial chunk read from the kernel always includes GRUB's multiboot
14367 header, which is now outside the first sector.
14368
be1a7ce0
CW
143692011-03-09 Colin Watson <cjwatson@ubuntu.com>
14370
14371 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14372 cached mmap_size, so that this works correctly when called multiple
14373 times.
14374 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14375
83a3c48d
CW
143762011-03-09 Colin Watson <cjwatson@ubuntu.com>
14377
14378 * docs/grub.texi (Simple configuration): Tidy up formatting.
14379
57d75699
SJ
143802011-03-07 Szymon Janc <szymon@janc.net.pl>
14381
14382 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14383 Set-but-not-used variable removed.
14384
028501a0
VS
143852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 Workaround yet another IEEE1275 bug.
14388
14389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14390 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14391 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14392 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14393 is set.
14394 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14395 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14396
d998657d
VS
143972011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14400 error.
14401
fee7cdd4
CW
144022011-02-11 Colin Watson <cjwatson@ubuntu.com>
14403
14404 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14405 empty, since in that case we can only generate either nothing or a
14406 syntactically invalid configuration file.
14407 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14408
97286eb5
CW
144092011-02-09 Colin Watson <cjwatson@ubuntu.com>
14410
14411 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14412 (Making a GRUB bootable CD-ROM): Likewise.
14413 (Invoking grub-mkrescue): New section.
14414 Reported by: Yann Dirson. Fixes Debian bug #612585.
14415
22b28eb3
CW
144162011-02-09 Colin Watson <cjwatson@ubuntu.com>
14417
14418 * util/grub-install.in: Remove unnecessary brackets from tr
14419 arguments.
14420 * util/grub.d/10_hurd.in: Likewise.
14421 * util/grub.d/10_kfreebsd.in: Likewise.
14422 * util/grub.d/10_linux.in: Likewise.
14423 * util/grub.d/20_linux_xen.in: Likewise.
14424 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14425
7e735e43
CW
144262011-02-08 Colin Watson <cjwatson@ubuntu.com>
14427
14428 * include/grub/file.h (not_easly_seekable): Rename to ...
14429 (not_easily_seekable): ... this. Update all users.
14430
800f1881
CW
144312011-01-28 Colin Watson <cjwatson@ubuntu.com>
14432
14433 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14434 grub-mkrescue.
14435
3281d3d6
VS
144362011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * util/grub-mkimage.c (generate_image): Refuse to create the images
14439 bigger than the actual flash (512K) in Loongson machines. 512K is also
14440 the biggest chip supported by them.
14441
3533413c
VS
144422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14445
73ae4f4f
VS
144462011-01-22 Anthony DeRobertis <anthony@derobert.net>
14447
14448 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14449 super_offset field.
14450
37f4f608
VS
144512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * util/grub-install.in: Ignore install device on platforms
14454 where it doesn't make sense. Always use UUIDs except on pc, efi and
14455 sparc64.
14456 Reported by: Daniel Kahn Gillmor.
14457
03a4ccb5
VS
144582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14461
ffc8f4d8
VS
144622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14465 (iterate_real): Don't rely on partition being non-NULL.
14466
80f23be7
VS
144672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14470 supported platforms. Put a compile time assert for this rather than
14471 generate a warning with 32-bit shift.
14472
5d4f4dd5
VS
144732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14476 logical expression more readable.
14477
e489601a
VS
144782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14481 even if some elements have a name.
14482 Reported by: Alexander GQ Gerasiov.
14483
96e0a6ea
CW
144842011-01-22 Colin Watson <cjwatson@ubuntu.com>
14485
14486 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14487 path unreadable if `grub-probe -t abstraction' fails, for example if
14488 memberlist fails on an LVM volume group.
14489 Reported by: Darius Jahandarie.
14490
81431e2b
CW
144912011-01-22 Colin Watson <cjwatson@ubuntu.com>
14492
14493 * docs/grub.texi (Simple configuration): Document
14494 GRUB_PRELOAD_MODULES.
14495
5e79d66a
CW
144962011-01-17 Colin Watson <cjwatson@ubuntu.com>
14497
14498 * .bzrignore: Remove nonexistent grub-pbkdf2.
14499
646ada34
VS
145002011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 * configure.ac: Bump version to 1.99~rc1.
14503
04360337
VS
145042011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14507 for safety.
14508
46c9db88
VS
145092011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14512 module.
14513
145142011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
14515
14516 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14517
4fbf1852
VS
145182011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14521 diskdevid.
14522
f1632d4d
VS
145232011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 Fix compilation on cygwin.
14526
14527 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14528 -R .drectve on cygwin.
14529 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14530 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14531 (COND_CYGWIN): New condition.
14532 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14533 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14534 not @TARGET_OBJ2ELF@.
14535 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14536 type to determine whether aux is to be used.
14537
0b5e127b
VS
145382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14541 realpath'ed device string.
14542 Handle floppy (somewhat).
14543 Issue error in unknown case rather than garbage.
14544 Reported by: Axel Beckert.
14545
173b71e9
VS
145462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 * util/grub.d/00_header.in (load_video): Handle the case when no video
14549 drivers available.
14550 Thanks to: Axel Beckert.
14551
f8f479db
VS
145522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14555 variable. Fixes problem on big endian platforms.
14556
8fc0a245
VS
145572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14560 It doesn't work well there.
14561
b8494fbe
VS
145622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14565 warning.
14566 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14567 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14568 counter.
14569
b44a558c
VS
145702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Use alias->path rather than buggy "canon".
14573
14574 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14575 (ofdisk_hash_add): New argument curcan. All users updated.
14576
51fa856c
CW
145772011-01-11 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14580
9da068a5
VS
145812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14584 loadmask before doing any calculations. Use correct type for offset.
14585 (grub_linux_load64): Likewise.
14586
86205c94
CW
145872011-01-11 Colin Watson <cjwatson@ubuntu.com>
14588
14589 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14590 with NULL.
14591 (console_grub_equivalences_unshift): Likewise.
14592 Reported by: Daniel Dehennin.
14593
4531a206
VS
145942011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14597 (set_env_limn_ro): Likewise.
14598 (GRUB_MOD_INIT): Likewise.
14599 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14600 ARRAY_SIZE while on it.
14601 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14602 * grub-core/normal/context.c (grub_env_export): Move from here ...
14603 * grub-core/kern/env.c (grub_env_export): ... here.
14604 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14605 prefix.
14606 * grub-core/kern/main.c (grub_main): Export root and prefix.
14607 * include/grub/env.h (grub_env_export): Export.
14608 Reported by: Seth Goldberg.
14609
45146057
VS
146102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14613 Take into account space used by ELF sections and multiboot palette.
14614 Reported by: Grégoire Sutre.
14615
f093110b
VS
146162011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * BUGS: New file.
14619
3395fe52
VS
146202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 Pass more appropriate video id to Linux.
14623
14624 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14625 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14626 fill have_vga.
14627 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14628 shift params->lfb_size.
14629 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14630
c2fa6cbb
VS
146312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14634
b3ff6ff0
VS
146352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14638 separator and pass bootpath/devid even if only one of them is available.
14639 Reported by: Seth Goldberg.
14640
ae67942e
VS
146412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14644 implementations bug on them.
14645
14646 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14647 memory.
14648 (filter_memory_map): Likewise.
14649
d570097a
VS
146502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14653 Reported by: nebuchadnezzar.
14654
a508e776
VS
146552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14658 Reported by: nebuchadnezzar.
14659
dcb883b1
VS
146602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 Submenu default support.
14663
14664 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14665 auto_boot. All users updated.
14666 Declared static.
14667 Handle chosen and default with submenus.
14668 (grub_menu_execute_with_fallback): Declared static.
14669 Don't notify failure if autobooted. Upper level does it.
14670 (menuentry_eq): New function.
14671 (get_entry_number): Use menuentry_eq.
14672 (show_menu): New parameter "autobooted". All users updated.
14673 (grub_show_menu): Likewise.
14674 * include/grub/normal.h (grub_show_menu): Likewise.
14675 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14676 (grub_menu_execute_with_fallback): Likewise.
14677
6fef99b4
VS
146782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * util/grub-mklayout.c (usage): Update help text.
14681
47a77af5
VS
146822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14685
ce6bb3ee
VS
146862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * util/grub-menulst2cfg.c (main): Trim the line.
14689
db87be2a
VS
146902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14693 (grub_machine_init): Don't check amount of low memory as reportedly
14694 INT 12h can be broken and if low memory is too low we wouldn't have
14695 gotten into grub_machine_init anyway.
14696
c49849cc
VS
146972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14700 (grub_machine_mmap_iterate): Take low memory into account
14701
b1969b30
VS
147022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14705 badfs.
14706 Reported by: TiCPU.
14707
cf0eaf13
VS
147082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14711 members errors.
14712
1f060f39
GS
147132011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14714
14715 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14716 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14717
a21e5672
GS
147182011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14719
14720 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14721 openbsd and netbsd types being in part_bsd module.
14722
c88172fa
VS
147232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14726 (_FILE_OFFSET_BITS): Likewise.
14727 Reported by: Seth Goldberg.
14728
53798c4b
GS
147292011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14730
14731 * configure.ac: Check for libdevmapper header.
14732
e7121b69
VS
147332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14734
14735 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14736 avoid aliasing.
14737 (fzap_lookup): Likewise.
14738 (dnode_get): Likewise.
14739 (make_mdn): Likewise.
14740 (zfs_mount): Likewise.
14741 (fzap_iterate): Use temporary pointer to avoid aliasing.
14742 (grub_zfs_read): Likewise.
14743 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14744 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14745 pointers to avoid aliasing.
14746 (grub_cmd_xnu_kernel64): Likewise.
14747 (grub_xnu_load_driver): Likewise.
14748
fc836af9
VS
147492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14752 aliasing warning.
14753 (grub_cmd_terminal_output): Likewise.
14754 Reported and tested by: Grégoire Sutre.
14755
f9f37648
VS
147562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14759 warning.
14760 Reported and tested by: Grégoire Sutre.
14761
ec1dfd63
VS
147622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * configure.ac: Do CPU substitution even if it's specified explicitly.
14765 Reported and tested by: Alain Greppin.
14766
9462775a
VS
147672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14770 Reported and tested by: Alain Greppin.
14771
0fd48e35
VS
147722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 Satisfy some bison versions need for inttypes.h.
14775
14776 * grub-core/lib/posix_wrap/inttypes.h: New file.
14777 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14778 (int16_t): Likewise.
14779 (int32_t): Likewise.
14780 (int64_t): Likewise.
14781 Reported and tested by: Alain Greppin.
14782
43f1bc83
VS
147832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14786 Silence spurious warning.
14787 Reported and tested by: Alain Greppin.
14788
64d1f041
SJ
147892011-01-07 Szymon Janc <szymon@janc.net.pl>
14790
14791 * docs/grub.texi (Support automatic decompression): Update with xz
14792 decompression support.
14793
25953e10
SJ
147942011-01-07 Szymon Janc <szymon@janc.net.pl>
14795
14796 Improve loaders' kernel command line handling.
14797
14798 * grub-core/lib/cmdline.c: New file.
14799 * include/grub/lib/cmdline.h: Likewise.
14800 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14801 grub_create_loader_cmdline to create kernel command line.
14802 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14803 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14804 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14805 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14806 (linux): Add lib/cmdline.c on common.
14807
e72d259f
VS
148082011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14811 inopos might be unaligned.
14812
c0cf26da
VS
148132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14816 endian transformations.
14817 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14818 Based on report by: Doug Nazar.
14819
0ca09e6c
DN
148202011-01-07 Doug Nazar <nazard.michi@gmail.com>
14821
14822 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14823 array->members[i].start_sector.
14824 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14825
014b6806
VS
148262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14829 Reported and tested by: Grégoire Sutre.
14830
415502c2
CW
148312011-01-06 Colin Watson <cjwatson@ubuntu.com>
14832
14833 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14834 avoid causing test failures by clearing the screen.
14835
71b6a2b7
CW
148362011-01-06 Colin Watson <cjwatson@ubuntu.com>
14837
14838 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14839 Fix prefix check to handle the case where dir ends with a slash
14840 (most significantly, "/" itself).
14841 Reported by: Michael Vogt.
14842
b3f8d28a
VS
148432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 Run terminfo_cls on initing terminfo output to clear the screen and
14846 move the cursor to (0,0).
14847
14848 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14849 Call grub_terminfo_output_init.
14850 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14851 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14852 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14853
4c3e4f37
VS
148542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14857 only when needed.
14858
488f71f1
VS
148592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14862 CTRL.
14863
18a38098
VS
148642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 The E820 type 5 is BADRAM, not EXEC_CODE.
14867
14868 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14869 (GRUB_E820_BADRAM): New define.
14870 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14871 into reserved. Propagate BADRAM.
14872 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14873 (GRUB_E820_BADRAM): New define.
14874
9eae2084
VS
148752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14878 Ignore the memory post-4G.
14879 (grub_relocator_firmware_alloc_region): Additional debug statement.
14880
ebc71d28
VS
148812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14884 names.
14885 Reported by: David Pravec.
14886
446fa400
VS
148872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
14890 BIOSes.
14891
a0159f37
VS
148922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
14895 Prevent overflow.
14896 (grub_reed_solomon_recover): Likewise.
14897
e5146ca1
VS
148982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
14901
149022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
14903
14904 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
14905 variable.
14906
5b1bdf12
CW
149072011-01-04 Colin Watson <cjwatson@ubuntu.com>
14908
14909 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
14910 descriptions of extract_legacy_entries_source and
14911 extract_legacy_entries_configfile.
14912 Reported by: Seung Soo, Ha.
14913
99d925aa
CW
149142011-01-03 Colin Watson <cjwatson@ubuntu.com>
14915
14916 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
14917 on devices that do not implement function 0.
14918
4af0504b
DV
149192011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
14920
14921 * grub-core/fs/hfsplus.c: Make parent unsigned.
14922 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
14923 overflows.
14924 (grub_hfsplus_cmp_extkey): Likewise
14925
469ee10a
VS
149262011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 * util/grub-install.in: Correctly use bootloader_id and not
14929 GRUB_DISTRIBUTOR on efibootmgr line.
14930
323a8e9c
VS
149312011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
14934
1b394975
IC
149352010-12-31 Ian Campbell <ijc@hellion.org.uk>
14936
14937 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
14938 Xen and reorder menu item wording to make it clearer that this entry
14939 will launch Xen. Print separate messages when loading Xen and
14940 Linux.
14941
275bff5f
VS
149422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
14945 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
14946 loop in case of incorrect amiga partmap.
14947
307806cb
VS
149482010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
14951 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
14952 Reported by:EHeM.
14953
b12b923e
VS
149542010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
14957 spurious warning.
14958 Reported by: crocket
14959
14b48a19
VS
149602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
14963 Preload EFIemu.
14964 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
14965
693db2df
VS
149662010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
14969 is loaded
14970 (grub_cmd_xnu_kextdir): Likewise.
14971 (grub_cmd_xnu_splash): Likewise.
14972
c7638645
VS
149732010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 Avoid using Reed-Solomon with 0 redundancy.
14976
14977 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
14978 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
14979 or 0 redundancy.
14980 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
14981 (grub_reed_solomon_recover): Likewise.
14982
25dd4780
VS
149832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 Don't use disk subsystem in freebsd_boot.
14986
14987 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
14988 (freebsd_biosdev): Likewise.
14989 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
14990 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
14991
0b2db943
VS
149922010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Handling of files of unknown size is currently limited. They can't be
14995 used e.g. for initrd or modules. Moreover gzip handling of not
14996 easily seekable files is buggy. Disable unknown file size for now. May
14997 be inefficient but works.
14998
14999 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15000 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15001
5c408d0f
MP
150022010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15003
15004 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15005 floppy probe.
15006
190a011a
JD
150072010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15008
15009 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15010
022d01b8
SL
150112010-12-25 Shea Levy <shlevy>
15012
15013 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15014
c4855fdc
VS
150152010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15018 Windows Server 2008.
15019 Reported by: Devin Giddings.
15020
0354b867
VS
150212010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15024 writing an error message because of async power management.
15025 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15026 (grub_reboot): Likewise.
15027
ab66c69f
JU
150282010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15029
15030 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15031 keep unit tests from failing when they shouldn't.
15032
1426ef35
CW
150332010-12-21 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15036 previous patch increased the size of the RS code by 20 bytes (at
15037 least with gcc-4.4), so increase this by 20 bytes to match.
15038 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15039
20641b6b
CW
150402010-12-21 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15043 scratch area. Make sure to initialise chosen in standalone mode as
15044 well as non-standalone.
15045 Reported by: Robert Hooker and Andy Whitcroft.
15046 Tested by: Andy Whitcroft.
15047
d060ad60
CW
150482010-12-21 Colin Watson <cjwatson@ubuntu.com>
15049
15050 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15051 constructing a new unescaped string and passing it to grub_xputs in
15052 one go, rather than passing characters to grub_printf one at a time.
15053
b889cfad
CW
150542010-12-21 Colin Watson <cjwatson@ubuntu.com>
15055
15056 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15057 initialising utf16.
15058
4e01b6c8
CW
150592010-12-21 Colin Watson <cjwatson@ubuntu.com>
15060
15061 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15062 comment. Add an extra layer of quotation, requiring the output of
15063 this function to be used in a printf format string.
15064 (gettext_printf): New function.
15065 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15066 Extract translatable strings from here-documents and use a temporary
15067 variable instead, so that xgettext can find them.
15068 * util/grub.d/10_kfreebsd.in: Likewise.
15069 * util/grub.d/10_linux.in: Likewise.
15070 * util/grub.d/20_linux_xen.in: Likewise.
15071
15072 * po/grub.d.sed: New file.
15073 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15074 arguments. Set c-format flags on all strings extracted from
15075 util/grub.d/ (xgettext refuses to include these itself for strings
15076 it extracted from a shell file, but these really are c-format).
15077
5318fe98
VS
150782010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15081 Avoid next pointing to nowhere.
15082
6c85b743
VS
150832010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15086 rather than assuming than rootblock is exactly in the middle.
15087 (grub_affs_label): Likewise.
15088
a2a08a35
VS
150892010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15092 reserved_first_sector to 0.
15093 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15094 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15095 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15096
7059d1ec
VS
150972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 Fix handling of UTF-16 UDF labels.
15100
15101 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15102 (read_string): .. here.
15103 (grub_udf_label): Use read_string.
15104
30aff4cb
BC
151052010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15106
15107 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15108 editor under argument scope.
15109 Reported by: Jordan Uggla
15110
5cf86f4b
VS
151112010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15114
32570200
CW
151152010-12-18 Colin Watson <cjwatson@ubuntu.com>
15116
15117 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15118 line, and other keys scroll an entire page (previous handling was
15119 for \r and \n to scroll a page and other keys to scroll two lines).
15120
e1dffcf2
VS
151212010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15124 Set ptrdest to correct get_physical_target_address rather than
15125 incorrect get_virtual_current_address.
15126
b04298cf 151272010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15128
15129 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15130 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15131
5367ecd3
CW
151322010-12-10 Colin Watson <cjwatson@ubuntu.com>
15133
15134 * .bzrignore: Ignore grub-core/rs_decoder.S.
15135
1fb430f8
CW
151362010-12-10 Colin Watson <cjwatson@ubuntu.com>
15137
15138 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15139 .mo/.mo.gz opening sequence to ...
15140 (grub_mofile_open_lang): ... here.
15141 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15142 * util/grub.d/00_header.in (grub_lang): Include country part of
15143 locale.
15144 Reported by: Mario Limonciello.
15145
a94a6671
RM
151462010-12-09 Robert Millan <rmh@gnu.org>
15147
15148 * NEWS: Document addition of ZFS support.
15149
24b7938b
CW
151502010-12-04 Colin Watson <cjwatson@ubuntu.com>
15151
15152 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15153 rather than `/ 2', as the latter requires -Wa,--divide which would
15154 require bumping our minimum binutils version.
15155
bddc3ef6
BC
151562010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15157
15158 * util/grub-script-check.c (main): Print script line number on
15159 error.
15160
bf78d5b2
RM
151612010-12-01 Robert Millan <rmh@gnu.org>
15162
15163 * grub-core/fs/zfs/zfs.c: New file.
15164 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15165 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15166 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15167 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15168
15169 * include/grub/zfs/dmu.h: Likewise.
15170 * include/grub/zfs/dmu_objset.h: Likewise.
15171 * include/grub/zfs/dnode.h: Likewise.
15172 * include/grub/zfs/dsl_dataset.h: Likewise.
15173 * include/grub/zfs/dsl_dir.h: Likewise.
15174 * include/grub/zfs/sa_impl.h: Likewise.
15175 * include/grub/zfs/spa.h: Likewise.
15176 * include/grub/zfs/uberblock_impl.h: Likewise.
15177 * include/grub/zfs/vdev_impl.h: Likewise.
15178 * include/grub/zfs/zap_impl.h: Likewise.
15179 * include/grub/zfs/zap_leaf.h: Likewise.
15180 * include/grub/zfs/zfs.h: Likewise.
15181 * include/grub/zfs/zfs_acl.h: Likewise.
15182 * include/grub/zfs/zfs_znode.h: Likewise.
15183 * include/grub/zfs/zil.h: Likewise.
15184 * include/grub/zfs/zio.h: Likewise.
15185 * include/grub/zfs/zio_checksum.h: Likewise.
15186
15187 * Makefile.util.def: Build ZFS into libgrubmods.
15188 * grub-core/Makefile.core.def: Build zfs.mod.
15189
3f0f3831
SJ
151902010-11-30 Szymon Janc <szymon@janc.net.pl>
15191
15192 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
15193 variable.
15194 * grub-core/commands/wildcard.c (match_files): Likewise.
15195
3a4253b2
RM
151962010-11-30 Robert Millan <rmh@gnu.org>
15197
15198 * grub-core/loader/i386/bsd.c
15199 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
15200 whether kernel is loaded using grub_loader_is_loaded(), rather
15201 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
15202 certain error conditions.
15203
8c317b27
RM
152042010-11-30 Robert Millan <rmh@gnu.org>
15205
c5c9cd3e
RM
15206 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15207 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 15208
49d3ab46
VS
152092010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 Avoid using tricks for initialising endian variables.
15212
15213 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
15214 Make const.
15215 (GRUB_MOD_INIT): Don't byte-swap.
15216 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15217 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
15218 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
15219 (grub_swap_bytes32_compile_time): Likewise.
15220 (grub_cpu_to_le32_compile_time): Likewise.
15221 (grub_cpu_to_le16_compile_time): Likewise.
15222
f420a804
VS
152232010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * util/grub-setup.c (setup): Stop recommending --force. People who
15226 understand the dangers of blocklists are able to find this option
15227 anyway and the ones who don't shouldn't use it anyway.
15228
4e7db17b
RM
152292010-11-26 Robert Millan <rmh@gnu.org>
15230
15231 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
15232 Update all users.
15233
9be57a0d
CW
152342010-11-26 Colin Watson <cjwatson@ubuntu.com>
15235
15236 Fix LVM-on-RAID probing.
15237
15238 * util/grub-probe.c (probe): Remember which disk was detected as
15239 RAID (perhaps an LVM physical volume). Use that disk's raidname
15240 rather than that of the top-level disk.
15241
2c7859b3 152422010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15243
d7647bb6
BC
15244 Fix cmdline argument quotes for setparams command of menuentry
15245 definitions.
7e623b0d
BC
15246
15247 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15248 quotes for arguments.
f866fe80 15249 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 15250 grub_strchrsub function instead.
f866fe80 15251
7955bea0 15252 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 15253
74f72a64
CW
152542010-11-24 Colin Watson <cjwatson@ubuntu.com>
15255
15256 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
15257 effort by skipping "." and ".." entries up-front.
15258 Suggested by: Michael Lazarev.
15259
5a407278
CW
152602010-11-24 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
15263 ldflags to ldadd, to fix link line ordering.
15264 (none_decompress): Likewise.
15265
3030d8ec
CW
152662010-11-24 Colin Watson <cjwatson@ubuntu.com>
15267
15268 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
15269 platforms.
15270 (grub-emu-lite): Remove kern/emu/cache.S.
15271
b7fbac12
CW
152722010-11-23 Colin Watson <cjwatson@ubuntu.com>
15273
15274 * util/deviceiter.c (compare_devices): If the by-id link for a
15275 device couldn't be resolved, fall back to sorting by the by-id link
15276 rather than segfaulting.
15277 Reported and tested by: Daniel Mierswa.
15278
5225f328
CW
152792010-11-23 Colin Watson <cjwatson@ubuntu.com>
15280
15281 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
15282 ldflags, to fix link line ordering.
15283
038b3ce8
CW
152842010-11-23 Colin Watson <cjwatson@ubuntu.com>
15285
15286 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
15287 linkers are picky about this.
15288
bf16e98e
CW
152892010-11-23 Colin Watson <cjwatson@ubuntu.com>
15290
15291 * grub-core/Makefile.am (command.lst): Adjust sed expression
15292 ordering so that extended and priority commands aren't treated as
15293 ordinary commands.
15294
7242bab6
CW
152952010-11-23 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15298 Remove byte-swapping function calls, which are not valid in
15299 structure initialisers.
15300 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
15301 non-const.
15302 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
15303 grub_gpt_partition_type_bios_boot.
15304
14e8b279
CW
153052010-11-22 Colin Watson <cjwatson@ubuntu.com>
15306
15307 Fix test program build on GNU/kFreeBSD.
15308
15309 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
15310 $(LIBNVPAIR)' library dependencies.
15311
e6f63338 153122010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
15313
15314 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15315
cf8ffc38
CW
153162010-11-22 Colin Watson <cjwatson@ubuntu.com>
15317
15318 * util/grub-install.in: Remove excessive quoting that broke
15319 installations to RAID devices.
15320
7f8b0fd7
VS
153212010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
15324 bootloader version instead of 0.
15325
dfd240b1
VS
153262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15329 warning.
15330
7b61e609
VS
153312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
15334 retrieve the metadat sector if size isn't known.
15335 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15336
9dfe92d0
RM
153372010-11-18 Robert Millan <rmh@gnu.org>
15338
15339 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
15340 with grub_memcmp().
15341
41cc919e
VS
153422010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
15345 arrow.
15346 Reported by: Jordan Uggla.
15347
1afcc914
VS
153482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 Make better UTF compliant.
15351
15352 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15353 sequences as incorrect.
15354 (grub_is_valid_utf8): Likewise.
15355 (grub_utf8_to_ucs4): Likewise.
15356 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15357 (grub_ucs4_to_utf8_alloc): Likewise.
15358 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15359
f1808884
VS
153602010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Make legacy_source behave like source.
15363
15364 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15365 grub_show_menu.
15366 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15367
24ec575b
CW
153682010-11-16 Colin Watson <cjwatson@debian.org>
15369
15370 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15371 (-Wunused implies -Wunused-parameter, but not vice versa).
15372
72b7c7aa
CW
153732010-11-16 Colin Watson <cjwatson@ubuntu.com>
15374
15375 * configure.ac: Make error messages less confusing by testing for
15376 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15377 accepted, but produces a diagnostic if something else is wrong).
15378
e98937aa
VS
153792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15382 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15383 (now unused).
15384 (grub_keyboard_controller_init)
15385 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15386 read the initial state since controller isn't inited yet.
15387
f6bbabc3
VS
153882010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15391 allocate_regbeg may need to create new chunk header.
15392
22e7dbb2
VS
153932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Fix quoting in legacy parser.
15396
15397 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15398 single quotes.
15399 (grub_legacy_parse): Likewise.
15400 Reported by: Jordan Uggla.
15401 Tested by: Jordan Uggla.
15402
03f80960
VS
154032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 Don't add -lgcc on i386 and x86_64.
15406
15407 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15408 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15409 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15410
779dc15b
VS
154112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * configure.ac: Add -Wno-trampolines when supported.
15414
d20a3b37
MV
154152010-11-14 Modestas Vainius <modax@debian.org>
15416
15417 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15418 fakeraid.
15419
e5360933
GC
154202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15421
15422 Add generic logical block size support for UDF.
15423
15424 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15425 (GRUB_UDF_BLKSZ): Removed.
15426 (struct grub_udf_data): New field "lbshift" to hold the logical block
15427 size of the file system in log2 format. All users updated.
15428 (sblocklist): Change type to unsigned.
15429 (grub_udf_mount): Change type of "sblklist" to unsigned.
15430 Move AVDP search before VRS recognition, because the latter requires
15431 knowledge of the logical block size, which is detected during the
15432 former.
15433 Detect and validate logical block size during AVDP search, adding
15434 support for block sizes 512, 1024 and 4096.
15435 Make VRS recognition independent of block size.
15436
cb0229c5
GC
154372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15438
15439 Properly handle deleted files on UDF.
15440
15441 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15442 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15443 set.
15444
406858a8
GC
154452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15446
15447 Support reading files larger than 2 GiB.
15448
15449 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15450 "offset" to grub_off_t.
15451 (grub_udf_read_file): Likewise for parameter "pos".
15452
130da6a7
VS
154532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15456 unavailable.
15457 (Simple configuration): Refer to Changes from GRUB Legacy about
15458 save_env availability.
15459
65e93f6b
VS
154602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * util/grub-install.in: Ignore empty partition table detection
15463 instead of trying to include part_ module.
15464
1fd08bf1
VS
154652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15468 LVM on RAID support.
15469
de1a024f
VS
154702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 Properly define WORDS_BIGENDIAN in wrapped environments.
15473
15474 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15475 definition.
15476 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15477
15478 Reported by: Manoel Rebelo Abranches.
15479 Tested by: Manoel Rebelo Abranches.
15480
bc5dd0b9
VS
154812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * util/grub-mkconfig.in: Fix quoting.
15484
58c184be
VS
154852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 Support big ext2 files.
15488
15489 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15490 (grub_ext2_read_block): Support triple indirect blocks.
15491 (grub_ext2_read_file): Use 64-bit types and read size_high.
15492 (grub_ext2_open): Read size_high.
15493 Reported by: Ximin Luo.
15494 Tested by: Manoel Rebelo Abranches.
15495
5f0c02b3
VS
154962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 * util/grub-install.in: Handle filenames containing spaces.
15499 Reported by: Jordan Uggla.
15500 Tested by: Jordan Uggla.
15501
4417aae6
VS
155022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * util/grub-mkconfig.in (grub_script_check): New variable.
15505 Use grub_script_check instead of grub-script-check.
15506 Reported by: Barry Jackson.
15507
7625a68e
VS
155082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * docs/grub.texi (menu): Correct the order.
15511 Reported by: D. Hugh Redelmeier.
15512
10001ac5
VS
155132010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15516 jump.
15517
9c4cf53b
MRA
155182010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15519
10001ac5
VS
15520 * include/grub/elfload.h (grub_elf32_size): New parameter.
15521 All users updated.
9c4cf53b
MRA
15522 Return maximum segments alignment.
15523 (grub_elf64_size): Likewise.
15524 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15525 Return maximum segments alignment.
15526 (grub_elf64_size): Likewise.
15527 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
15528 (grub_linux_claimmap_iterate): New function. Uses the
15529 "available" property in the "memory" node for memory allocation
15530 for kernel in the PowerPC loader.
9c4cf53b
MRA
15531 (grub_linux_load32): Correctly find linux entry point offset.
15532 (grub_linux_load64): Likewise.
15533
d2bf06bf
RM
155342010-11-07 Robert Millan <rmh@gnu.org>
15535
15536 On mips-yeeloong, build with -march=loongson2f when this flag is
15537 available (GCC >= 4.4).
15538 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15539 `-march=mips3'.
15540 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15541 or otherwise add -march=mips3.
15542
898c99a2
BC
155432010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15544
87220a68
BC
15545 Suppress shell expansion on echo '*' and echo "*" like cases.
15546 Reported by: Jordan Uggla.
898c99a2
BC
15547
15548 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15549 string arguments before shell expansion.
15550 * tests/grub_cmd_echo.in: New testcases.
15551
4f9b406a
RM
155522010-11-07 Robert Millan <rmh@gnu.org>
15553
15554 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15555 transition.
15556
80c6d25e
VS
155572010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * grub-core/kern/emu/hostdisk.c
15560 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15561
4a1a0153
VS
155622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15565 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15566 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15567
34706ddc
VS
155682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15571
6972dea9
VS
155722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * util/grub-install.in: Replace useless recomendation to pass
15575 --modules with a recomendation to report a bug.
15576
9c693bd6
VS
155772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 Properly register serial terminfo.
15580 Reported by: Jordan Uggla
15581
15582 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15583 const.
15584 (grub_serial_terminfo_output_template): Likewise.
15585 (grub_cmd_serial): Register "serial" with terminfo.
15586 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15587 grub_serial_terminfo_output.
15588
6c9e4c0c
RM
155892010-11-05 Robert Millan <rmh@gnu.org>
15590
15591 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15592 needed).
15593
b9b3839f
RM
155942010-11-05 Robert Millan <rmh@gnu.org>
15595
15596 On Yeeloong, pass machine type information to Linux.
15597
15598 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15599 (LOONGSON_MACHTYPE): New macro, set to
15600 "machtype=lemote-yeeloong-2f-8.9inches".
15601 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15602 additional argument to Linux.
15603
1a3aaff4
RM
156042010-11-04 Robert Millan <rmh@gnu.org>
15605
15606 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15607 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15608 (its SATA disks are detected as slaveless IDE master drives on
15609 kFreeBSD).
15610 Reported by Carsten Aulbert.
15611
a75f4f62
CW
156122010-11-02 Colin Watson <cjwatson@ubuntu.com>
15613
15614 * util/bin2h.c (main): Fix spelling error in generated output.
15615
33b4b0c6
GS
156162010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15617
15618 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15619
2b36fbf4
VS
156202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15623 vga= option is supplied.
15624
74aaf558
VS
156252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15628 * util/grub.d/10_kfreebsd.in: Likewise.
15629 * util/grub.d/10_linux.in: Likewise.
15630 * util/grub.d/20_linux_xen.in: Likewise.
15631
6428dec3
VS
156322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15635 argument as an argument to no-argument option.
15636
f8729d98
VS
156372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * util/grub.d/10_linux.in: Add missing load_video with explicit
15640 GRUB_GFXPAYLOAD_LINUX.
15641
89d68fa6
VS
156422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15645
3a1197cd
VS
156462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15649 elements with invlid index.
15650 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15651 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15652 members.
15653 * include/grub/raid.h (grub_raid_member): New struct.
15654 (grub_raid_array): Transform devices and start_sector into usage of
15655 grub_raid_member. All users updated
15656 (allocated_devs): New member.
15657
71574288
VS
156582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15661 is modified
15662
8d40ec65
BC
156632010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15664
15665 NetBSD build fix for getline function conflict from gnulib.
15666
15667 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15668 components that depend on gnulib headers.
15669 (libgrubmods.a): Renamed from earlier libgrub.a.
15670 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15671
95b9257e
VS
156722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15675 install rather than creating a broken install.
15676
26c53dc6
VS
156772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * util/grub-setup.c (argp): Remove misleading example of installing to
15680 a partition.
15681
4171b3c5
VS
156822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * util/grub-setup.c (setup): Clarify the error message.
15685
18568d18
VS
156862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15689
4f6a2e21
VS
156902010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * grub-core/kern/emu/misc.c
15693 (grub_make_system_path_relative_to_its_root)
15694 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15695
156962010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
15697
15698 * grub-core/kern/emu/misc.c
15699 (grub_make_system_path_relative_to_its_root): Revert r2882.
15700
e138c458
VS
157012010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15704 useless field head. All users updated.
15705 (free_subchunk): Correct handling of IN_REGION subchunk.
15706
0cbcdf0e
CW
157072010-10-22 Colin Watson <cjwatson@ubuntu.com>
15708
15709 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15710 (Supported kernels): Likewise.
15711
b65ea155
GS
157122010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15713
15714 Make mktemp invocations portable.
15715
15716 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15717 exit if mktemp fails.
15718 * tests/grub_script_blockarg.in: Likewise.
15719 * tests/partmap_test.in: Likewise.
15720 * tests/util/grub-shell-tester.in: Likewise.
15721 * tests/util/grub-shell.in: Likewise.
15722 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15723 * Makefile.am: Likewise, and chain shell commands with `&&'
15724 instead of ';'.
15725 * util/grub-mkrescue.in: Use the same explicit template as above, and
15726 exit if mktemp fails.
15727
05f43cdd
BC
157282010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15729
15730 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15731 Linux kernel, reported by Dennis Schridde.
15732
800e6a9b
SJ
157332010-10-17 Szymon Janc <szymon@janc.net.pl>
15734
15735 * grub-core/normal/auth.c (grub_auth_check_authentication):
15736 Set-but-not-used variable removed.
15737
d82df574
VS
157382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15741 32-bit linux protocol.
15742
7bced458
VS
157432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15746 cursor shape for sanity.
15747
5b027690
VS
157482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * docs/grub.texi (Installation): Document buggy BIOS install.
15751
ba5f65cf
VS
157522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * docs/grub.texi (Installation): Indent.
15755
fdf2ec9c
VS
157562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * util/grub-setup.c (setup): New parameter allow_floppy.
15759 (arguments): New member allow_floppy.
15760 (argp_parser): Handle --allow-floppy.
15761 (main): Pass allow_floppy.
15762 * util/grub-install.in: New option --allow-floppy passed though to
15763 grub-setup.
15764
861dfd4c
VS
157652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * util/grub-install.in: Handle partitionless disks.
15768
f77a8c24
VS
157692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * util/grub-setup.c (setup): Don't clean blocklists before readability
15772 verfification.
15773
27d9ee32
VS
157742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * docs/grub.texi (Installation): Document embedding zone. Remove
15777 obsolete grub-install example.
15778
6bdda8f8
SJ
157792010-10-16 Szymon Janc <szymon@janc.net.pl>
15780
15781 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15782 Set-but-not-used variable ifdef'ed.
15783 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15784 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15785 variable removed.
15786 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15787 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15788 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15789 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15790 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15791 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15792 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15793 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15794 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15795 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15796 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15797 Likewise.
15798
e19b016b
VS
157992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15802 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15803 enum value.
15804
6c8d3002
VS
158052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15808 synonym to _S5_. Needed for some DSDTs.
15809
c32b51c9
VS
158102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 Userspace ACPI parser debugging.
15813
15814 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15815 headers and add relevant defines. Don't include standard headers.
15816 (main) [GRUB_DSDT_TEST]: New function.
15817 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15818 Don't declare functions.
15819
fbfbeb39
VS
158202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 Remove dead grub_efi_mm_fini.
15823
15824 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15825 (ALLOCATED_PAGES_SIZE): Likewise.
15826 (MAX_ALLOCATED_PAGES): Likewise.
15827 (allocated_pages): Likewise.
15828 (grub_efi_allocate_pages): Don't record allocated pages.
15829 (grub_efi_free_pages): Likewise.
15830 (grub_efi_mm_init): Likewise.
15831 (grub_efi_mm_fini): Removed.
15832
65f7ed7c
VS
158332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15836 (grub_efi_mm_init): Take into account the memory map size increase.
15837
24977b44
VS
158382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15841 (serial_hw_put): Wait based on real time rather than port reads. Don't
15842 roken ports.
15843 * include/grub/serial.h (grub_serial_port): New field broken.
15844
1eb01cd2
RM
158452010-10-16 Robert Millan <rmh@gnu.org>
15846
15847 * grub-core/kern/emu/misc.c
15848 (grub_make_system_path_relative_to_its_root): Fix premature return
15849 when processing non-root ZFS filesystems.
5f8b440b 15850 Reported by Sergio Talens-Oliag.
1eb01cd2 15851
2d5fed60
RM
158522010-10-15 Robert Millan <rmh@gnu.org>
15853
15854 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15855 guarantee compressed ones are processed first.
15856
d0f4c1ea
VS
158572010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15860 grub_efiemu_autocore.
15861
d87c681f
VS
158622010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15865 rather than 0x1b.
15866 (grub_console_getkey): Use correct jae opcode rather than ja.
15867
219b3564
RM
158682010-10-12 Robert Millan <rmh@gnu.org>
15869
15870 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15871 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15872 variable. All references updated.
15873
15874 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15875
20c6bb7e
VS
158762010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 Correctly distinguish mdraid flavours.
15879
15880 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15881 (insert_array): New argument raid.
15882 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15883 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15884 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15885
74baff84
VS
158862010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
15889 handling of special keys.
15890
3ef068df 158912010-10-02 Aleš Nesrsta <starous@volny.cz>
15892
c7980ad9
VS
15893 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
15894 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 15895
a9455194 158962010-10-02 Aleš Nesrsta <starous@volny.cz>
15897
c7980ad9
VS
15898 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
15899 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
15900 users updated.
a9455194 15901 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 15902 Use right endpoint when querying descriptor.
a9455194 15903
441cfe65
VS
159042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 Clear out 0x80 color bit on EFI.
15907 Tested by: decoder
15908 Reported by: decoder and meta tech.
15909
15910 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
15911 (grub_console_setcolorstate): Clear out 0x80 bit.
15912 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
15913 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
15914 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
15915
bf26bcc4
VS
159162010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
15919 Set to "auto".
15920
6e3c515d
VS
159212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
15924 mo_file after freeing.
15925
e6d983ba
VS
159262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
15929
74ccb5b5
VS
159302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
15933 flags.
15934
17821956
VS
159352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
15938 usage.
15939
ee74fa48
VS
159402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 Put terminfo into core on ieee1275 and yeeloong (needed for console).
15943
15944 * gentpl.py: New groups terminfoinkernel and terminfomodule.
15945 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
15946 and terminfo.h when needed.
15947 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
15948 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
15949 (terminfo): Enable only on terminfokernel.
15950 (extcmd): Likewise.
15951 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
15952 * include/grub/lib/arg.h: Likewise.
15953 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
15954 incorrect usage of ->.
15955
aa438e68
VS
159562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
15959 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
15960
57994012
VS
159612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 Fix coreboot compilation.
15964
15965 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15966 Take VBE info into account even if only text is supported.
15967 (fill_vbe_info): Take into account the case when only VGA text
15968 is supported.
15969 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
15970 on coreboot, multiboot and qemu.
15971
2a406611
VS
159722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
15975 debug messages.
15976 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
15977
d33613fc
VS
159782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
15981 parameters.
15982
44a1b432
VS
159832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
15986 if they were BSD-style.
15987
edde54e6
VS
159882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * grub-core/boot/i386/pc/lnxboot.S: Replace
15991 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15992 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15993
b65830fa
VS
159942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 Write embedding zone using Reed-Solomon.
15997
15998 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15999 * grub-core/Makefile.am (rs_decoder.S): New target.
16000 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16001 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16002 (multiboot): Move to RS part.
16003 (post_reed_solomon): New label.
16004 (grub_boot_drive): Move to non-RS part since it's modified in memory
16005 on boot.
16006 Include rs_decoder.S.
16007 * grub-core/lib/reed_solomon.c: New file.
16008 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16009 New definition.
16010 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16011 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16012 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16013 * include/grub/partition.h (grub_partition_map): Change prototype of
16014 embed to allow returning additional sectors.
16015 * include/grub/reed_solomon.h: New file.
16016 * util/grub-setup.c (setup): Handle Reed-Solomon.
16017
0b4b227f
CW
160182010-09-28 Colin Watson <cjwatson@ubuntu.com>
16019
16020 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16021 i386 and x86-64 definedness tests.
16022
f772623b
YB
160232010-09-27 Yves Blusseau <blusseau@zetam.org>
16024
16025 Fix generation of kernel_syms.lst
16026
16027 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16028 ASM_PREFIX
16029
8e57a6ca
RM
160302010-09-26 Robert Millan <rmh@gnu.org>
16031
16032 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16033
16034 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16035 the pool is an array of devices, iterate through it and return the
16036 first device that passes a stat() test (instead of blindly returning
16037 the first one).
16038
f9130836
RM
160392010-09-26 Robert Millan <rmh@gnu.org>
16040
16041 Build fixes for GNU/kFreeBSD.
16042
16043 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16044 to programs that require ZFS conversion.
16045 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16046 kernels that don't have FLOPPY_MAJOR.
16047
96510faf
BC
160482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16049
16050 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16051
449333eb
BC
160522010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16053
16054 Fix grub-emu build.
16055
16056 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16057 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16058 mdraid09 and mdraid1x.
16059
e1fd1939
CW
160602010-09-24 Colin Watson <cjwatson@ubuntu.com>
16061
16062 Re-enable grub-extras.
16063
16064 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16065 avoid confusing Automake. Run autogen only twice, once for the top
16066 level and once for grub-core. Add Makefile.util.def and
16067 Makefile.core.def from extra modules to the appropriate autogen
16068 invocations. If Makefile.common exists in an extra module, include
16069 it in both Makefile.util.am and grub-core/Makefile.core.am;
16070 similarly, include any Makefile.util.common file in Makefile.util.am
16071 and any Makefile.core.common file in grub-core/Makefile.core.am.
16072 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16073 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16074 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16075 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16076
16077 * gentpl.py (gvar_add): Turn GVARS into a set.
16078 (global_variable_initializers): Sort global variables on output.
16079 (vars_init): New function.
16080 (first_time): Likewise.
16081 (library): Ensure that non-global variable initialisations are
16082 emitted before the first time we emit code for a library block.
16083 Append to variables rather than setting them. Only emit
16084 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16085 each conditional path.
16086 (program): installdir() emits an Autogen macro, so must be passed to
16087 var_add rather than gvar_add.
16088 (data): Likewise.
16089 (script): Likewise.
16090 (rules): New function, centralising handling for different target
16091 types. Set up Guile association lists for first_time and vars_init,
16092 and send most output to a diversion so that variable initialisations
16093 can be emitted first.
16094 (module_rules): Use new rules function.
16095 (kernel_rules): Likewise.
16096 (image_rules): Likewise.
16097 (library_rules): Likewise.
16098 (program_rules): Likewise.
16099 (script_rules): Likewise.
16100 (data_rules): Likewise.
16101
16102 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16103
16104 * .bzrignore: Add contrib and grub-core/contrib. Remove
16105 grub-core/Makefile.gcry.am.
16106
1d12cf29
YB
161072010-09-24 Yves Blusseau <blusseau@zetam.org>
16108
16109 * grub-core/lib/LzFind.c: Add missing include.
16110 * grub-core/lib/LzmaEnc.c: Likewise.
16111 * grub-core/script/lexer.c: Likewise.
16112 * grub-core/script/yylex.l: Likewise.
16113 * util/grub-macho2img.c: Likewise.
16114 * util/grub-menulst2cfg.c: Likewise.
16115 * util/grub-mklayout.c: Likewise.
16116 * util/grub-mkpasswd-pbkdf2.c
16117 * util/grub-mkrelpath.c: Likewise.
16118 * util/resolve.c: Likewise.
16119
dd363028
BC
161202010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16121
16122 * Makefile.util.def (example_unit_test): Add
16123 grub-core/gnulib/libgnu.a.
16124
f5a109e2
GS
161252010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16126
16127 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16128
6d0fa83c
VS
161292010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 Support xz compression on yeeloong.
16132
16133 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16134 * configure.ac: Check for LZMA.
16135 * grub-core/Makefile.core.def (xz_decompress): New target.
16136 (none_decompress): Likewise.
16137 * grub-core/boot/decompressor/minilib.c: New file.
16138 * grub-core/boot/decompressor/none.c: Likewise.
16139 * grub-core/boot/decompressor/xz.c: Likewise.
16140 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16141 * grub-core/kern/mips/cache_flush.S: Likewise.
16142 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16143 * grub-core/kern/mips/startup.S: Move first stage to ...
16144 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16145 nomacro.
16146 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16147 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16148 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16149 Allocate statically.
16150 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16151 Allocate statically or use scratch. Don't check CRC32.
16152 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16153 Allocate statically. Don't check CRC32.
16154 * include/grub/decompressor.h: New file.
16155 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16156 Removed.
16157 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16158 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16159 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16160 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16161 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16162 * util/grub-mkimage.c (grub_compression_t): New type.
16163 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16164 (image_target_desc): New field default_compression.
16165 (image_targets): Adjust yeeloong targets.
16166 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16167 (compress_kernel): New parameter comp.
16168 (generate_image): Likewise. Handle new compression case.
16169 (options): New option --compression
16170 (help): Likewise.
16171 (main): Handle new option.
16172
1b655af6
GS
161732010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16174
16175 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16176
8f03f0b5
CW
161772010-09-22 Colin Watson <cjwatson@ubuntu.com>
16178
16179 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16180 typo in __i386__ conditional.
16181
7835dfd3
VS
161822010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16185 include.
16186
e255597e
VS
161872010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16188
6d0fa83c 16189 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
16190
16191 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
16192 new tags as supported.
16193 (acpiv2_size): New function.
16194 (grub_multiboot_get_mbi_size): Take new tags into account.
16195 (grub_multiboot_make_mbi): Add new tags.
16196 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 16197
6cc14051 161982010-09-21 Aleš Nesrsta <starous@volny.cz>
16199
16200 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
16201 Added missing configuration of USB device.
16202
df7769d8
CW
162032010-09-21 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * grub-core/normal/menu_entry.c (run): Make sure we always return
16206 a value.
16207
b031012d
CW
162082010-09-21 Colin Watson <cjwatson@ubuntu.com>
16209
16210 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
16211 NumberOfPages is UINT64 according to the UEFI specification, not
16212 UINTN. Fix printf format.
16213
174de8f3
CW
162142010-09-21 Colin Watson <cjwatson@ubuntu.com>
16215
16216 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
16217 `err' to grub_usb_err_t.
16218 Reported and tested by: KESHAV P.R.
16219
d7dbe923
CW
162202010-09-21 Colin Watson <cjwatson@ubuntu.com>
16221
16222 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
16223 tpart non-const, so that we can assign to it. (Since this is a
16224 typedef, the constness refers to the pointer rather than what it
16225 points to.)
16226
8d5e2af3
CW
162272010-09-21 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
16230 $(top_srcdir)/grub-core/gnulib as well as
16231 $(top_builddir)/grub-core/gnulib.
16232 Reported by: KESHAV P.R.
16233
5c527783
CW
162342010-09-21 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * util/grub-install.in: Fix the bootloader ID option to be
16237 consistently --bootloader-id, not --bootloader_id.
16238 Reported by: KESHAV P.R.
16239
d309a16e
CW
162402010-09-21 Colin Watson <cjwatson@ubuntu.com>
16241
16242 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
16243 check hash checksum." consistently translatable.
16244
b830cd16
YB
162452010-09-21 Yves Blusseau <blusseau@zetam.org>
16246
16247 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16248 $(top_builddir).
16249
c4fe27a8
CW
162502010-09-21 Colin Watson <cjwatson@ubuntu.com>
16251
16252 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
16253 (GRUB_MOD_INIT): Register sha1sum command.
16254 (GRUB_MOD_FINI): Unregister sha1sum command.
16255
a4c1d277
YB
162562010-09-21 Yves Blusseau <blusseau@zetam.org>
16257
16258 Keep boot and grub directory names in sync with utils scripts
16259
16260 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
16261 * config.h.in: Add previous macros.
16262 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
16263 * util/grub-install.in: Use $bootdir and $grubdir variables.
16264
4eff79d2
CW
162652010-09-21 Colin Watson <cjwatson@ubuntu.com>
16266
16267 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
16268 convert partition names to disk names if the new `convert' parameter
16269 is set.
16270 (grub_util_biosdisk_get_grub_dev): If opening the disk device
16271 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
16272 disk in its own right. This can happen with Xen disk images.
16273
934d7e44
YB
162742010-09-21 Yves Blusseau <blusseau@zetam.org>
16275
16276 * util/grub-editenv.c: Update strings to avoid warnings when generating
16277 grub.pot file.
16278 * util/grub-setup.c: Likewise.
934d7e44 16279
df3367cc
VS
162802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16281
16282 * configure.ac: Change version to 1.99~beta0.
16283
77a94e98
VS
162842010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16287 Add BADRAM.
16288 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
16289 Likewise.
16290 * include/multiboot.h: Resynced with specification.
16291 * include/multiboot2.h: Likewise.
16292
269004c1
CW
162932010-09-21 Colin Watson <cjwatson@ubuntu.com>
16294
16295 Fix po directory handling.
16296
16297 * configure.ac: Create po/Makefile.in rather than po/Makefile.
16298 * grub-core/gnulib/Makefile.am: Import gettext module.
16299 * m4/gnulib-cache.m4: Likewise.
16300 * m4/gnulib-comp.m4: Likewise.
16301 * m4/gettext.m4: New file, from gnulib.
16302 * m4/glibc2.m4: Likewise.
16303 * m4/iconv.m4: Likewise.
16304 * m4/intdiv0.m4: Likewise.
16305 * m4/intl.m4: Likewise.
16306 * m4/intldir.m4: Likewise.
16307 * m4/intlmacosx.m4: Likewise.
16308 * m4/intmax.m4: Likewise.
16309 * m4/inttypes-pri.m4: Likewise.
16310 * m4/lcmessage.m4: Likewise.
16311 * m4/lib-ld.m4: Likewise.
16312 * m4/lib-link.m4: Likewise.
16313 * m4/lib-prefix.m4: Likewise.
16314 * m4/lock.m4: Likewise.
16315 * m4/nls.m4: Likewise.
16316 * m4/po.m4: Likewise.
16317 * m4/printf-posix.m4: Likewise.
16318 * m4/progtest.m4: Likewise.
16319 * m4/threadlib.m4: Likewise.
16320 * m4/uintmax_t.m4: Likewise.
16321 * m4/visibility.m4: Likewise.
16322 * po/Makefile.am: Remove.
16323 * po/Makefile.in.in: New file, from gettext.
16324 ($(DOMAIN).pot-update): Support POTFILES-shell.
16325 * po/Makevars: New file.
16326 * po/POTFILES-shell: Rename to ...
16327 * po/POTFILES-shell.in: ... this. Update.
16328 * po/POTFILES: Rename to ...
16329 * po/POTFILES.in: ... this. Update.
16330 * po/Rules-quot: New file, from gettext.
16331 * po/boldquot.sed: Likewise.
16332 * po/en@boldquot.header: Likewise.
16333 * po/en@quot.header: Likewise.
16334 * po/insert-header.sin: Likewise.
16335 * po/quot.sed: Likewise.
16336 * po/remove-potcdate.sin: Likewise.
16337
3e0fa5d0
VS
163382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16339
16340 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16341
ade9bd66
VS
163422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * util/grub.d/20_linux_xen.in: Use submenus.
16345
fc55cc4c
VS
163462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 Support submenus.
16349
16350 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16351 parameter submenu. All users updated.
16352 * grub-core/normal/main.c (free_menu): Rename to ...
16353 (grub_normal_free_menu): ... this. Made global.
16354 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16355 if requested.
16356 * grub-core/normal/menu_entry.c (screen): New field submenu.
16357 (make_screen): Set submenu.
16358 (run): Open new context if requested.
16359 * include/grub/menu.h (grub_menu_entry): New field submenu.
16360 * include/grub/normal.h (grub_normal_free_menu): New proto.
16361
600cedf7
VS
163622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 Menu entries extractor.
16365
16366 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16367 variants.
16368 (GRUB_MOD_INIT): Register new variants.
16369 (GRUB_MOD_FINI): Unregister new variants.
16370 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16371 into grub_cmd_legacy_source.
16372 (grub_cmd_legacy_source): Implement extractor variants.
16373 (GRUB_MOD_INIT): Register new variants.
16374 (GRUB_MOD_FINI): Unregister new variants.
16375 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16376 as an extractor.
16377 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16378 search as an extractor.
16379 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16380 test as an extractor.
16381 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16382 as an extractor.
16383 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16384 (grub_env_new_context): New function.
16385 (grub_env_context_open): Likewise.
16386 (grub_env_extractor_open): Likewise.
16387 (grub_env_extractor_close): Likewise.
16388 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16389 grub_extractor_level.
16390 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16391 * include/grub/env.h (grub_env_extractor_open): New proto.
16392 (grub_env_extractor_close): Likewise.
16393 * include/grub/normal.h (grub_extractor_level): New external variable.
16394
7bda3a87
VS
163952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 Make cutmem accept a region specification.
16398 Suggested by: Samuel Thibault
16399
16400 * grub-core/mmap/mmap.c (parsemem): New function.
16401 (grub_cmd_cutmem): Handle new arguments.
16402
2ea57f88
VS
164032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 New command cutmem.
16406
16407 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16408 (GRUB_MOD_INIT): Register new command.
16409 (GRUB_MOD_FINI): Unregister new command.
16410
74342e31
VS
164112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 Support some annoying BSD and Minix subpartitions.
16414
16415 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16416 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16417 Properly handle concatenation.
16418 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16419 * grub-core/normal/completion.c (iterate_partition): Likewise.
16420 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16421 contain partition. All users updated.
16422 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16423 struct.
16424 (grub_openbsdlabel_partition_map): Likewise.
16425 (bsdlabel_partition_map_iterate): Rename to ..
16426 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16427 (bsdlabel_partition_map_iterate): New function.
16428 (netopenbsdlabel_partition_map_iterate): Likewise.
16429 (netbsdlabel_partition_map_iterate): Likewise.
16430 (openbsdlabel_partition_map_iterate): Likewise.
16431 (GRUB_MOD_INIT): Register new partmaps.
16432 (GRUB_MOD_FINI): Unregister new partmaps.
16433 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16434 (grub_partition_msdos_iterate): ... this. All users updated.
16435 Don't support embedding other than in a minix partition.
16436 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16437 proto.
16438 * include/grub/partition.h (grub_partition): New field msdostype.
16439 * util/grub-install.in: Handle openbsd and netbsd types being in
16440 part_bsd module.
16441
1e8d555b
VS
164422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16445
16446 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16447 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16448 (mdraid09): ... this.
16449 (mdraid1x): New module.
16450 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16451 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16452
899d8af4
VS
164532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16456 vsprintf.
16457
40901acd
CW
164582010-09-20 Colin Watson <cjwatson@ubuntu.com>
16459
16460 * grub-core/commands/efi/lsefimmap.c: Correct header.
16461 * NEWS: Update.
16462
dfe3b247
CW
164632010-09-20 Colin Watson <cjwatson@ubuntu.com>
16464
16465 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16466 as printf format strings; the translations might contain '%' which
16467 could cause a crash.
16468 (main): Likewise.
16469 * util/grub-fstest.c (argp_parser): Likewise.
16470 * util/grub-setup.c (argp_parser): Likewise.
16471 (main): Likewise.
16472
3286a4b4
VS
164732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Use argp in grub-fstest.
16476
16477 * util/grub-fstest.c: Don't include getopt.h.
16478 Include argp.h.
16479 (root): New variable.
16480 (args_count): Likewise.
16481 (nparm): Likewise.
16482 (num_disks): Likewise.
16483 (images): Likewise.
16484 (cmd): Likewise.
16485 (debug_str): Likewise.
16486 (args): Likewise.
16487 (options): Transformed to argp.
16488 (usage): Removed.
16489 (main): Split argument parsing into ...
16490 (argp_parser): ... this. Changed to argp format.
16491 (argp): New variable.
16492 (main): Use argp_parse.
16493
3dccbe4b
TG
164942010-09-20 Tristan Gingold <gingold@free.fr>
164952010-09-20 Robert Millan <rmh.grub@aybabtu.com>
164962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/commands/efi/lsefimmap.c: New file.
16499 * grub-core/Makefile.core.def (lsefimmap): New module.
16500 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16501
38c259a7
VS
165022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 Pause the execution (10s max) if any errors are displayed so the user
16505 has a chance to see them.
16506
16507 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16508 (grub_print_error): Increment grub_err_printed_errors.
16509 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16510 execution if any errors were displayed.
16511 (show_menu): Remove old code for pause.
16512 * grub-core/normal/menu_entry.c (run): Likewise.
16513 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16514 users updated.
16515 (grub_normal_get_char_counter): Likewise.
16516 * include/grub/err.h (grub_err_printed_errors): New external variable.
16517 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16518
f218b09c
VS
165192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 Support multiboot VBE info.
16522
16523 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16524 Take VBE info into account.
16525 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16526 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16527 Call fill_vbe_info when appropriate.
16528 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16529 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16530 as supported.
16531 (grub_multiboot_get_mbi_size): Take new tags into account.
16532 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16533 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16534 Call fill_vbe_tag when appropriate.
16535 (grub_multiboot_make_mbi): Properly align tags.
16536 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16537 function.
16538 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16539 proto.
16540 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16541
a9cc5438
VS
165422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Suport manual terminal geometry specification.
16545
16546 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16547 Save state in grub_ofconsole_terminfo_output.
16548 (grub_ofconsole_term): Use grub_terminfo_getwh.
16549 (grub_ofconsole_getwh): Removed.
16550 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16551 (grub_serial_term): Use grub_terminfo_getwh.
16552 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16553 (options): New struct.
16554 (OPTION_*): New enum.
16555 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16556 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16557 width and height.
16558 (grub_terminfo_getwh): New proto.
16559 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16560
1a8fed20
VS
165612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 Handle legacy "terminal" command.
16564
16565 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16566 and FLAG_TERMINAL.
16567 (legacy_commands): Add terminal and title.
16568 (grub_legacy_parse): Handle terminal. Simplify title handling.
16569
41e9c57d
VS
165702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16573 parameters overflow.
16574
61c874c5
CW
165752010-09-20 Colin Watson <cjwatson@ubuntu.com>
16576
16577 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16578 widthspec.h.
16579
16580 * docs/grub.texi (Shell-like scripting): Document `!'.
16581 (Network): Simplify using new i386-pc-pxe format. Mention
16582 grub-mknetdir.
16583
16584 * NEWS: Update.
16585
943682b4
CW
165862010-09-20 Colin Watson <cjwatson@ubuntu.com>
16587
16588 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16589 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16590 when needed.
16591
6d3d698d
CW
165922010-09-20 Colin Watson <cjwatson@ubuntu.com>
16593
16594 * grub-core/commands/efi/lsefisystab.c: Correct header.
16595 * grub-core/commands/efi/lssal.c: Likewise.
16596 * grub-core/commands/testload.c: Likewise.
16597
c982589f
CW
165982010-09-20 Colin Watson <cjwatson@ubuntu.com>
16599
16600 * util/grub-mkrescue.in: Add explicit root argument to --set to
16601 prevent the UUID being interpreted as an argument to --set (matches
16602 previous change to prepare_grub_to_access_device).
16603
a63c31b6
CW
166042010-09-20 Colin Watson <cjwatson@ubuntu.com>
16605
16606 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16607 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16608 the verbosity of later #ifs.
16609 (find_partition_start): Define this function on FreeBSD too.
16610 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16611 function.
16612 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16613 on FreeBSD.
16614
6439b8ee
YB
166152010-09-20 Yves Blusseau <blusseau@zetam.org>
16616
16617 * util/grub-editenv.c: Use argp instead of getopt.
16618
c5930ec8
YB
166192010-09-20 Yves Blusseau <blusseau@zetam.org>
16620
16621 * util/grub-setup.c: Use argp instead of getopt.
16622
15c69261
YB
166232010-09-20 Yves Blusseau <blusseau@zetam.org>
16624
16625 Use gnulib-tool to create gnulib source files.
16626
16627 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16628 grub-core/gnulib directories
16629 * .bzignore: Add **/.deps and autogenerated gnulib files
16630 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16631 of gnulib macros, add grub-core/gnulib/Makefile
16632 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16633 include m4 directory to aclocal.
16634 * Makefile.util.def: Remove direct compilation of gnulib source files
16635 and use the new grub-core/gnulib/libgnu.a.
16636 * build-aux/config.rpath: move config.rpath from top directory to
16637 build-aux
16638 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16639 in gnulib headers
16640 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16641 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16642 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16643 header.
16644 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16645 string.
16646
e511c9f5
YB
166472010-09-20 Yves Blusseau <blusseau@zetam.org>
16648
16649 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16650 grub-core/genmod.sh and grub-core/gensyminfo.sh
16651
c2dede05
BC
166522010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16653
16654 Add a test for echo command options.
16655
16656 * tests/grub_cmd_echo.in: New test.
16657 * Makefile.util.def: Rules for new test.
16658
c55f5018
SJ
166592010-09-20 Szymon Janc <szymon@janc.net.pl>
16660
16661 Remove crc.mod and move crc command to hashsum.mod.
16662 Remove lib/crc.c - users updated to use gcrypt implementation.
16663
16664 * grub-core/commands/crc.c: Removed.
16665 * grub-core/Makefile.core.def (crc): Module removed.
16666 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16667 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16668 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16669 * grub-core/lib/crc.c: Removed.
16670 * include/grub/lib/crc.h: Removed.
16671 * Makefile.util.def (crc): Remove lib/crc.c
16672 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16673 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16674 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16675 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16676 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16677 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16678
e0337366
VS
166792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16682
742f9232
VS
166832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 Split config.h for util and core.
16686
16687 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16688 (ADDR32): Likewise.
16689 (DATA32): Likewise.
16690 (BSS_START_SYMBOL): Likewise.
16691 (END_SYMBOL): Likewise.
16692 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16693 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16694 * config.h.in: New file.
16695 * configure.ac: Use config-util.h as config define file.
16696 Rename MACHINE into GRUB_MACHINE. All users updated.
16697 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16698 updated.
16699 (NESTED_FUNC_ATTR): Likewise.
16700 Substitue new variables.
16701 (COND_HAVE_ASM_USCORE): New conditional.
16702 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16703 (kernel_syms.lst): Use ASM_PREFIX.
16704 * grub-core/kern/emu/console.c: Include config-util.h.
16705 * grub-core/kern/emu/misc.c: Likewise.
16706 * grub-core/kern/emu/mm.c: Likewise.
16707 * include/grub/emu/misc.h: Likewise.
16708 * include/grub/libgcc.h: Likewise.
16709
39feb0e8
VS
167102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16713 constants usage.
16714 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16715 Fix GRUB_TERM_KEY_* constants usage.
16716 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16717
9af6dac3
VS
167182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16721 print pointer.
16722 * grub-core/bus/usb/uhci.c: Remove empty define.
16723 (grub_uhci_check_transfer): Add missing cast.
16724 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16725 print pointer.
16726 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16727 PRIuGRUB_SIZE.
16728 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16729
d6d94820
VS
167302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16731
16732 * grub-core/Makefile.core.def (legacycfg): Add
16733 lib/i386/pc/vesa_modes_table.c on emu.
16734
3572f2b6
BC
167352010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16736
16737 Reduce number of temporary files generated by build system.
16738
16739 * grub-core/gencmdlist.sh: Removed.
16740 * grub-core/genfslist.sh: Removed.
16741 * grub-core/genhandlerlist.sh: Removed.
16742 * grub-core/genmodsrc.sh: Removed.
16743 * grub-core/genpartmaplist.sh: Removed.
16744 * grub-core/genparttoollist.sh: Removed.
16745 * grub-core/gentermiinallist.sh: Removed.
16746 * grub-core/genvideolist.sh: Removed.
16747
16748 * grub-core/genmod.sh.in: New file.
16749 * grub-core/gensyminfo.sh.in: New file.
16750
16751 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16752 * conf/Makefile.extra-dist: Update with new files.
16753 * gentpl.py: Remove rules related to unnecessary temporary files.
16754 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16755 and und-* files.
16756 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16757 genmod.sh scripts.
16758 * grub-core/bus/usb/uhci.c: Remove empty #define.
16759 * grub-core/genmoddep.awk: Updated with new syminfo format.
16760 * util/bash-completion.d/Makefile.am: Add config.log to
16761 CLEANFILES.
16762
c836b030
YB
167632010-09-19 Yves Blusseau <blusseau@zetam.org>
16764
16765 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16766
2f4e8053
BC
167672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16768
16769 * util/grub-mkconfig.in: Check the config script for syntax errors
16770 before saving.
16771
75831c34
CW
167722010-09-19 Colin Watson <cjwatson@ubuntu.com>
167732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16776 platforms.
16777 * util/grub-install.in: Add EFI and IEEE1275 support.
16778 * util/i386/efi/grub-install.in: Removed.
16779 * util/ieee1275/grub-install.in: Likewise.
16780
eaf41b25
VS
167812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16784 (grub_cmd_cmosclean): Likewise.
16785 (GRUB_MOD_INIT): Register command cmosclean.
16786 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16787 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16788
1a9130dd
CPE
167892010-09-18 Carles Pina i Estany <carles@pina.cat>
167902010-09-18 Aleš Nesrsta <starous@volny.cz>
167912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 Add keyboard layouts support.
16794
16795 * Makefile.util.def (grub-mklayout): New file.
16796 (grub-kbdcomp): New script.
16797 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16798 Add keyboard_layouts.h.
16799 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16800 commands/boot.c on yeeloong.
16801 (keylayouts): New module.
16802 * grub-core/bus/usb/ohci.c
16803 * grub-core/bus/usb/uhci.c
16804 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16805 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16806 (attach_root_port): Likewise.
16807 (poll_nonroot_hub): Likewise.
16808 (grub_usb_poll_devices): Likewise.
16809 (detach_device): Close transfer.
16810 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16811 function.
16812 (grub_usb_bulk_setup_readwrite): Likewise.
16813 (grub_usb_bulk_finish_readwrite): Likewise.
16814 * grub-core/commands/keylayouts.c: New file.
16815 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16816 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16817 aliases.
16818 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16819 support scancode 2.
16820 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16821 * include/grub/keyboard_layouts.h: New file.
16822 * util/grub-mklayout.c: New file.
16823 * util/grub-kbdcomp.in: Likewise.
16824
a1d84a5e
VS
168252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 Unify memory types.
16828
16829 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16830 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16831 types.
16832 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16833 (grub_upper_mem): Likewise.
16834 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16835 * include/grub/memory.h (grub_memory_type_t): New enum.
16836 All users updated.
16837
9696382e
VS
168382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/Makefile.core.def (lsapm): New module.
16841 * grub-core/commands/i386/pc/lsapm.c: New file.
16842 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16843 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16844 Likewise.
16845 * include/grub/i386/pc/apm.h: New file.
16846 * include/multiboot.h (multiboot_apm_info): New struct.
16847
168482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16849
16850 GRUB-legacy configuration file support.
16851
16852 * Makefile.util.def (grub-menulst2cfg): New util.
16853 * docs/man/grub-menulst2cfg.h2m: New file.
16854 * grub-core/Makefile.core.def (legacycfg): New module.
16855 * grub-core/commands/legacycfg.c: New file.
16856 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16857 (grub_normal_add_menu_entry): ... this.
16858 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16859 (grub_normal_set_password): ...this.
16860 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16861 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16862 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16863 * grub-core/lib/legacy_parse.c: New file.
16864 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16865 * include/grub/i386/pc/vesa_modes_table.h: New file.
16866 * include/grub/legacy_parse.h: Likewise.
16867 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16868 * util/grub-menulst2cfg.c: New file.
16869
bf8d1338
CW
168702010-09-17 Colin Watson <cjwatson@ubuntu.com>
16871
16872 * grub-core/kern/emu/hostdisk.c
16873 (convert_system_partition_to_system_disk): Initialise node.
16874
9c0bad2e
CW
168752010-09-17 Colin Watson <cjwatson@ubuntu.com>
16876
16877 * grub-core/kern/emu/hostdisk.c
16878 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16879 leak.
16880 Reported and based on patch by: Modestas Vainius.
16881
a939d135
CW
168822010-09-17 Colin Watson <cjwatson@ubuntu.com>
16883
16884 Fix DM-RAID probing with recent versions of device-mapper udev
16885 rules.
16886
16887 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16888 canonicalise device paths under /dev/mapper/.
16889 (convert_system_partition_to_system_disk): Compare the
16890 uncanonicalised path to /dev/mapper/ rather than the canonicalised
16891 path, since device nodes under /dev/mapper/ are often symlinks.
16892
0f7ee3c9
YB
168932010-09-17 Yves Blusseau <blusseau@zetam.org>
16894
16895 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
16896
10854d0d
YB
168972010-09-16 Yves Blusseau <blusseau@zetam.org>
16898
16899 * configure.ac: Avoid some annoying error messages if freetype-config
16900 program is not found.
16901
108538d8
CW
169022010-09-16 Colin Watson <cjwatson@ubuntu.com>
16903
16904 Support RAID on virtio devices, and others.
16905
16906 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
16907 Rename to ...
16908 [__MINGW32__] (grub_find_device): ... this.
16909 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
16910 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
16911 reasonable default if dir is NULL.
16912 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
16913 ...
16914 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
16915 (grub_guess_root_device): Update callers.
16916 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
16917
16918 * util/raid.c (grub_util_getdiskname): Remove.
16919 (grub_util_raid_getmembers): Use grub_find_device rather than
16920 grub_util_getdiskname.
16921
e5bfc130
CW
169222010-09-16 Colin Watson <cjwatson@ubuntu.com>
16923
16924 * docs/grub.texi (serial): Remove obsolete comment about GRUB
16925 needing to be compiled with serial support.
16926 (ls): Indicate that multiple files are accepted.
16927 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
16928 indicate that multiple files are accepted.
16929
be458ae2
CW
169302010-09-16 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
16933 libgrub_a_init.c, and util/bash-completion.d/grub.
16934
cb731b5e
VS
169352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 * util/grub-setup.c (setup): Fix incorrect container semantics.
16938
35139e8a
VS
169392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
16942 misusage.
16943 Reported by: J. Nick Terry
16944
e50fca4a
VS
169452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 Move embedding routines to partmap sources files.
16948
16949 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
16950 [GRUB_UTIL]: New variable.
16951 (gpt_partition_map_iterate): Set part.parent.
16952 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
16953 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
16954 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
16955 New function.
16956 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
16957 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
16958 (grub_partition_map) [GRUB_UTIL]: New field embed.
16959 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
16960 (setup): Use ->embed.
16961
f00478b7
VS
169622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
16965 function.
16966 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
16967 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
16968
2b94e3ff
YB
169692010-09-15 Yves Blusseau <blusseau@zetam.org>
16970
16971 Add function to get completions from usage.
16972
16973 * util/bash-completion.d/grub-completion.bash.in: Add function to get
16974 completions from usage. Use LC_ALL=C to get options properly.
16975
2e04a006
VS
169762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/gnulib/basename-lgpl.c: Imported.
16979 * grub-core/gnulib/basename.c: Likewise.
16980 * grub-core/gnulib/dirname-lgpl.c: Likewise.
16981 * grub-core/gnulib/dirname.c: Likewise.
16982 * grub-core/gnulib/dirname.h: Likewise.
16983 * grub-core/gnulib/stripslash.c: Likewise.
16984
5dcdf93a
VS
169852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 * grub-core/gnulib/error.c: Resynced.
16988 * grub-core/gnulib/getopt.c: Likewise.
16989 * grub-core/gnulib/getopt_int.h: Likewise.
16990 * grub-core/gnulib/regex.h: Likewise.
16991 * grub-core/gnulib/regex_internal.c: Likewise.
16992 * grub-core/gnulib/regex_internal.h: Likewise.
16993
014f47b7
SJ
169942010-09-15 Szymon Janc <szymon@janc.net.pl>
16995
16996 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16997 CRC calculations and validity checks.
16998 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16999 calculations.
17000
dd521a4a
SJ
170012010-09-15 Szymon Janc <szymon@janc.net.pl>
17002
17003 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17004
79c4eeb9
VS
170052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Fix incorrect echo options handling.
17008 Reported by: Yves Blusseau.
17009
17010 * include/grub/command.h (grub_command_flags_t): New flags
17011 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17012 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17013 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17014
ed80f7d5
VS
170152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17018 users updated.
17019 (GRUB_COMMAND_FLAG_MENU): Likewise.
17020 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17021 (GRUB_COMMAND_FLAG_TITLE): Removed.
17022 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17023 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17024 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17025 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17026 (grub_command_flags_t): New enum. All users updated.
17027
5fe7620a
SG
170282010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17029
17030 Fix solaris compilation.
17031
17032 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17033 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17034 (grub-emu-list): Likewise.
17035
545b752f
VS
170362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 Remove deprecated root command.
17039
17040 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17041 updated.
17042
6c1a338c
VS
170432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 * util/i386/pc/grub-setup.c: Merge this ...
17046 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17047 * util/grub-setup.c: ... into this.
17048 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17049 New struct.
17050
170512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17054 possible.
17055
d2ea4551
VS
170562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17059 allocate p.
17060
3c3b5040
VS
170612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17064 explicit root argument to set to prevent UUID to be interpreted as
17065 argument to set.
17066
b71c3fae
VS
170672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17070
275433e6
VS
170712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 Don't export grub_gate_a20.
17074
17075 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17076 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17077 to ...
17078 (grub_gate_a20): ... this. All users updated.
17079 * include/grub/i386/pc/init.h: Removed. All users updated.
17080
a5dbb1f1
VS
170812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Create euro.pf2 which supports most European languages.
17084
17085 * Makefile.am (grubdata_DATA): Add euro.pf2.
17086 (euro.pf2): New target.
17087 (CLEANFILES): Add euro.pf2.
17088
62a747cb
VS
170892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 * configure.ac: Disable emu-usb by default to prevent inadvertent
17092 device takeover.
17093
608e43b1
VS
170942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 Disable usbserial on grub-emu since our libusb code isn't good enough
17097 yet.
17098
17099 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17100 (usbserial_pl2303): Likewise.
17101 (usbserial_ftdi): Likewise.
17102
94564f81
VS
171032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * include/grub/disk.h (grub_disk): Remove has_partitions.
17106 All users updated.
17107 * disk/loopback.c (grub_loopback): Remove has_partitions.
17108 All users updated.
17109 (options): Remove partitions. All users updated.
17110 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17111 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17112 actual partition table is found.
17113
3352800b
VS
171142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 Remove readability checks (too many false negatives).
17117
17118 * util/grub-install.in: Remove readability checks.
17119 * util/grub-mkconfig.in: Likewise.
17120 * util/grub.d/10_hurd.in: Likewise.
17121 * util/grub.d/10_kfreebsd.in: Likewise.
17122 * util/grub.d/10_linux.in: Likewise.
17123 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17124 way.
17125
2419f17a
VS
171262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 Enable acpi shutdown on all ACPI platforms.
17129
17130 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17131 on coreboo, multiboot and EFI.
17132 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17133 (grub_acpi_halt): Likewise.
17134 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17135 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17136 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17137 * grub-core/lib/i386/halt.c (grub_halt)
17138 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17139
0575c7c3
VS
171402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17143 context.
17144
54ac3cd1
VS
171452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17148 * grub-core/video/efi_uga.c: Likewise.
17149
b2a30ac5
VS
171502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 Filter devaliases and never open same device twice.
17153
17154 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17155 (last_ihandle): Likewise.
17156 (ofdisk_hash_ent): New member shortest.
17157 (ofdisk_hash_add): Add canonical path too.
17158 (scan): New function.
17159 (grub_ofdisk_iterate): Iterate over hashed entries.
17160 (compute_dev_path): Don't add :0.
17161 (grub_ofdisk_open): Don't really open the disk.
17162 (grub_ofdisk_close): Avoid closing unrelated disk.
17163 (grub_ofdisk_read): Implement reopen logic.
17164 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17165 New function.
17166 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17167 New proto.
17168
fb53b340
VS
171692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Fix sparc64.
17172
17173 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17174 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17175 right address. Add sparc64_ieee1275_ldflags.
17176 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17177 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17178 to grub_host_to_target_addr
17179 (load_image): Likewise.
17180
f452b040
VS
171812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * grub-core/normal/completion.c (complete_file): Handle device
17184 containing slash.
17185 Fix based on patch by Doug Nazar.
17186
9b5b2541
VS
171872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 grub-mknetdir script.
17190
17191 * Makefile.util.def (grub-mknetdir): New module.
17192 * tests/util/grub-shell.in: Support boot=net
17193 * util/grub-mknetdir.in: New file.
17194
9d2be652
VS
171952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 videoinfo on non-vbe.
17198
17199 * grub-core/Makefile.core.def (vbeinfo): Removed.
17200 (vbetest): Removed.
17201 (videoinfo): New module.
17202 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
17203 * grub-core/commands/i386/pc/vbetest.c: Removed.
17204 * grub-core/commands/videoinfo.c: New file.
17205 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
17206 specification.
17207 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
17208 as vbetest.
17209 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
17210 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
17211 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
17212 mode_number. New parameter mode. All users updated.
17213 (grub_video_gop_iterate): New function.
17214 (grub_video_efi_gop): New member iterate.
17215 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
17216 (grub_vbe_set_video_mode): Remove setting useless fields.
17217 (vbe2videoinfo): New function.
17218 (grub_video_vbe_iterate): Likewise.
17219 (grub_video_vbe_setup): Use vbe2videoinfo.
17220 (grub_video_vbe_print_adapter_specific_info): New function.
17221 (grub_video_vbe_adapter): New fields iterate and
17222 print_adapter_specific_info.
17223 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
17224 All users updated.
17225 (grub_video_mode_info): New field mode_number.
17226 (grub_video_adapter): New fields iterate and
17227 print_adapter_specific_info.
17228
179503f5
TG
172292010-09-13 Tristan Gingold <gingold@free.fr>
172302010-09-13 Robert Millan <rmh.grub@aybabtu.com>
172312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/commands/efi/lsefisystab.c: New file.
17234 * grub-core/commands/efi/lssal.c: Likewise.
17235 * grub-core/Makefile.core.def (lsacpi): New module.
17236 (lsefisystab): Likewise.
17237 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
17238 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
17239 (grub_efi_sal_system_table): New struct.
17240 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
17241 (grub_efi_sal_system_table_memory_descriptor): Likewise.
17242 (grub_efi_sal_system_table_platform_features): Likewise.
17243 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
17244 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17245 (grub_efi_sal_system_table_ap_wakeup): Likewise.
17246 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
17247
cf9827de
VS
172482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 Support explicit user claim that a device is BIOS-visible.
17251
17252 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
17253 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
17254 * grub-core/kern/emu/hostdisk.c
17255 (convert_system_partition_to_system_disk): Support mdX.
17256 (find_system_device): New parameter add. All users updated.
17257 (grub_util_biosdisk_is_present): New function.
17258 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
17259 proto.
17260
53f0eb1f
VS
172612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Search hints support.
17264
17265 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
17266 All users updated.
17267
b23ffd70
YB
172682010-09-13 Yves Blusseau <blusseau@zetam.org>
17269
17270 Bash completion script for util commands
17271
17272 * Makefile.am: Add util/bash-completion.d directory
17273 * configure.ac: Likewise.
17274 * util/bash-completion.d/Makefile.am: New file.
17275 * util/bash-completion.d/grub-completion.bash.in: Likewise.
17276
d547dc28
VS
172772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
17280 (print_backlog): set backlog_ucs4 and backlog_glyphs.
17281 Reported by: Yves Blusseau.
17282
2fc8ccb9
VS
172832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
17286 partition size and offset.
17287
d8a84076
VS
172882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17291
84fb3b3d
VS
172922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17295
768ec2e2
VS
172962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
17299 (grub_xvasprintf): Likewise.
17300
4870900f
VS
173012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
17304
faca6bec
VS
173052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
17308 args ending with NULL.
17309
173102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
17311
17312 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17313 pointer.
17314
3c70f225
SJ
173152010-09-11 Szymon Janc <szymon@janc.net.pl>
17316
17317 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17318
4df7996d
VS
173192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 Shutdown using ACPI.
17322
17323 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
17324 * grub-core/commands/acpihalt.c: New file.
17325 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
17326 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
17327 (grub_acpi_halt): New proto.
17328 (GRUB_ACPI_SLP_EN): New const.
17329 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
17330 (GRUB_ACPI_OPCODE_*): New enum.
17331 (GRUB_ACPI_EXTOPCODE_*): Likewise.
17332
126b4c32
TG
173332010-09-11 Tristan Gingold <gingold@free.fr>
173342010-09-11 Robert Millan <rmh.grub@aybabtu.com>
173352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 * commands/lsacpi.c: New file.
17338 * grub-core/Makefile.core.def (lsacpi): New module.
17339 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
17340 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
17341 (grub_acpi_madt_entry_header): New struct.
17342 (grub_acpi_madt): Likewise.
17343 (grub_acpi_madt_entry_interrupt_override): Likewise.
17344 (grub_acpi_madt_entry_sapic): Likewise.
17345 (grub_acpi_madt_entry_lsapic): Likewise.
17346 (grub_acpi_madt_entry_platform_int_source): Likewise.
17347 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
17348 (PRIuGRUB_UINT32_T): Likewise.
17349 (PRIxGRUB_UINT64_T): Likewise.
17350
1aa4fe88
VS
173512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 Implement loading palette on ieee1275_fb.
17354
17355 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17356 (have_setcolors): Likewise.
17357 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17358 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17359 (grub_video_ieee1275_set_palette): Implement.
17360
25761e13
VS
173612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
173622010-09-11 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * util/grub-install.in (grub_partition): New variable.
17365 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17366 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17367 Fixes a bug reported by Yves Blusseau.
17368
050abaea
VS
173692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 Fix emu on mipsel.
17372
17373 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17374 =grub_cpu_flush_cache on all mips and not only yeeloong.
17375 * configure.ac (COND_mips): New conditional.
17376 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17377 platforms.
17378 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17379 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17380 [GRUB_LINKER_HAVE_INIT]: New function.
17381 (grub_emu_post_init): Likewise.
17382 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17383 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17384 * include/grub/cache.h (_mips): Include mips/cache.h.
17385 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17386 LVM and RAID prototypes.
17387 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17388 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17389 function.
17390
5ed7d816
CW
173912010-09-10 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * util/grub-install.in: Don't try to verify core.img until after
17394 running grub-mkimage to create it.
17395
90367e04
RM
173962010-09-10 Robert Millan <rmh@gnu.org>
17397
17398 * util/grub.d/10_hurd.in: Add misc readability checks.
17399 * util/grub.d/10_kfreebsd.in: Likewise.
17400 * util/grub.d/10_linux.in: Likewise.
17401
c452fa66
CW
174022010-09-10 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * util/grub-install.in: ${imgext} won't be defined here until the
17405 install branch is merged. For the meantime, only verify core.img on
17406 i386-pc and sparc64-ieee1275 platforms.
17407
c38fe9f4
RM
174082010-09-10 Robert Millan <rmh@gnu.org>
17409
17410 Solaris support in grub_find_zpool_from_dir(). Thanks
17411 Seth Goldberg for referring to getextmntent() facility.
17412
17413 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17414 `sys/mkdev.h'.
17415 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17416 `<sys/mnttab.h>'.
17417 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17418 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17419 method for finding zpool name.
17420
905f7773
CW
174212010-09-10 Colin Watson <cjwatson@ubuntu.com>
17422
17423 grub-fstest needs the host and hostfs modules while other utilities
17424 actively require those modules to be absent, so grub-fstest needs
17425 its own initialisation and finalisation code.
17426
17427 * Makefile.am (grub_fstest.pp): New target.
17428 (grub_fstest_init.lst): Likewise.
17429 (grub_fstest_init.c): Likewise.
17430 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17431
fb90b546
RM
174322010-09-10 Robert Millan <rmh@gnu.org>
17433
17434 * configure.ac: Check for `struct statfs.f_fstypename' and
17435 `struct statfs.f_mntfromname'.
17436
17437 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17438 kFreeBSD-specific code.
17439
66d4bea5
RM
174402010-09-10 Robert Millan <rmh@gnu.org>
17441
17442 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17443 on ZFS. Now non-main filesystems are supported as / too.
17444
b6a690ee
CW
174452010-09-09 Colin Watson <cjwatson@ubuntu.com>
17446
17447 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17448 and grub-core/disk/host.c to ...
17449 (grub-fstest): ... here. Having the host disk implementation
17450 present confuses grub-probe and other utility programs.
17451
17452 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17453 when writing to a file, not when writing to stdout.
17454
8901b00c 174552010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17456
17457 * tests/partmap_test.in: New test for partitions.
17458 * Makefile.util.def: Rules for new test.
17459
7bf45fdd
RM
174602010-09-09 Robert Millan <rmh@gnu.org>
17461
17462 * util/grub-probe.c (probe): Fix a pair of unhandled error
17463 conditions.
17464
4dfbc574
RM
174652010-09-09 Robert Millan <rmh@gnu.org>
17466
17467 Basic Btrfs support (detection and UUID).
17468
17469 * grub-core/fs/btrfs.c: New file.
17470 * Makefile.util.def (library): Register btrfs.c.
17471 * grub-core/Makefile.core.def: Likewise.
17472
6b8e78ae
RM
174732010-09-08 Robert Millan <rmh@gnu.org>
17474
17475 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17476 with (optional) parameters to specify device and relative path.
17477 * util/grub-install.in: Use is_path_readable_by_grub() to
17478 verify readability of a few critical files.
17479 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17480 verify readability of grub.cfg.new.
17481
27f21a8b
VS
174822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 Split minix.mod into minix.mod and minix2.mod.
17485
17486 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17487 * grub-core/Makefile.core.def (minix2): New module.
17488 * grub-core/fs/minix.c: Use definitions instead of runtime version
17489 checking.
17490 * grub-core/fs/minix2.c: New file.
17491
c0e53ea5
YB
174922010-09-08 Yves Blusseau <blusseau@zetam.org>
17493
17494 Add new --boot-directory option to replace --root-directory
17495
17496 * util/grub-install.in: Add new --boot-directory option
17497 * util/grub-reboot.in: Likewise.
17498 * util/grub-set-default.in: Likewise.
17499
b9fe6ea2
YB
175002010-09-08 Yves Blusseau <blusseau@zetam.org>
17501
17502 * util/grub-mkconfig.in: Use new variable.
17503
d87aedff
YB
175042010-09-08 Yves Blusseau <blusseau@zetam.org>
17505
17506 * configure.ac: Define some useful variables.
17507
e55e8495
VS
175082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17511 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17512 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17513 Use terminfo and don't use cursor-on/cursor-off unless it's known
17514 to work.
17515 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17516 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17517
6fa6d675
CW
175182010-09-08 Colin Watson <cjwatson@ubuntu.com>
17519
17520 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17521 starts with "(,", fill the drive containing the loaded image in
17522 between those two characters, but expect that a full partition
17523 specification including partition map names will follow.
17524
92f2aef0
RM
175252010-09-08 Robert Millan <rmh@gnu.org>
17526
17527 * configure.ac: Remove `--enable-grub-fstest' option.
17528 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17529
17530 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17531 `grub-fstest' instead of `grub-probe' for readability verification.
17532 * util/grub-probe.c (probe): Remove readability verification kludge.
17533
99fd620d
RM
175342010-09-08 Robert Millan <rmh@gnu.org>
17535
17536 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17537 initializing `GRUB_FS'.
17538
058e30ac 175392010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17540
17541 Not command (!) support to GRUB script.
17542
17543 * tests/grub_script_not.in: New test.
17544 * Makefile.util.def: Rules for new test.
17545
17546 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17547 ! command as a special case.
17548 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17549
b61d05ed 175502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17551
058e30ac 17552 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17553 grub_free.
b61d05ed 17554
4d69c786 175552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17556
17557 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17558
aa3119c4 175592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17560
17561 * docs/grub.texi (Shell-like scripting): Documentation for break,
17562 continue, shift and return commands.
17563
db0f7e3d
VS
175642010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 Rename CD-ROM to cd on BIOS.
17567
17568 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17569 "cd".
17570 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17571
88b87c93
VS
175722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17575 * util/grub-probe.c (main): Likewise.
17576 * util/i386/pc/grub-setup.c (main): Likewise.
17577 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17578 Reported and debugged by: alexxy
17579
294f324d
VS
175802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17583 diagnostic info.
17584
d7ee3441
JS
175852010-09-05 Jo Shields <directhex@apebox.org>
17586
17587 * util/grub.d/30_os-prober.in: Add missing classes.
17588
d7e06c1f
VS
175892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * docs/grub.texi (Theme file format): Document new position format.
17592
fc157e53
VS
175932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17596 a table. Use @code instead of @verbatim.
17597
506e9a1c
CB
175982010-09-05 Colin D Bennett <colin@gibibit.com>
17599
17600 Gfxmenu documentation.
17601
17602 * docs/grub.texi (Theme file format): New chapter.
17603
f0aff67c
SJ
176042010-09-05 Szymon Janc <szymon@janc.net.pl>
17605
17606 * grub-core/Makefile.core.def (xzio): New module.
17607 * grub-core/io/xzio.c: New file.
17608 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17609 * grub-core/lib/xzembed/xz_config.h: Likewise.
17610 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17611 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17612 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17613 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17614 * grub-core/lib/xzembed/xz_private.h: Likewise.
17615 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17616 * include/grub/file.h (grub_file_filter_id): New compression filter
17617 GRUB_FILE_FILTER_XZIO.
17618
82a85062
VS
176192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17622 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17623 size.
17624
3579415d
VS
176252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17628 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17629
5124ae6d
VS
176302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 Uncompressed checksum support.
17633
17634 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17635 (check_list): New parameter uncompress.
17636 (grub_cmd_hashsum): Handle --uncompress.
17637
9aadb3d1
VS
176382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 Reintroduce testload.
17641
17642 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17643 from here ...
17644 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17645 (GRUB_MOD_INIT): New function.
17646 (GRUB_MOD_FINI): Likewise.
17647 * grub-core/Makefile.core.def (testload): New module.
17648
a17792c3
SJ
176492010-09-05 Szymon Janc <szymon@janc.net.pl>
17650
17651 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17652 (uint8_t): New type.
17653 (uint16_t): Likewise.
17654 (uint32_t): Likewise.
17655 (uint64_t): Likewise.
17656
b81e40a3
SJ
176572010-09-05 Szymon Janc <szymon@janc.net.pl>
17658
17659 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17660
fc2ef117
VS
176612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17664 Made static.
17665 (grub_gzfile_open): Removed. All users updated.
17666 (GRUB_MOD_INIT): New function.
17667 (GRUB_MOD_FINI): Likewise.
17668 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17669 (grub_file_filters_enabled): Likewise.
17670 (grub_file_open): Handle filters.
17671 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17672 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17673 * include/grub/file.h (grub_file_filter_id_t): New type.
17674 (grub_file_filter_t): Likewise.
17675 (grub_file_filters_all): New extern variable.
17676 (grub_file_filters_enabled): Likewise.
17677 (grub_file_filter_register): New inline function.
17678 (grub_file_filter_unregister): Likewise.
17679 (grub_file_filter_disable): Likewise.
17680 (grub_file_filter_disable_compression): Likewise.
17681 * include/grub/gzio.h: Removed.
17682
35ee15e0
BC
176832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17684
17685 Filename expansion support for wildcards in GRUB script.
17686
17687 * tests/grub_script_expansion.in: New test.
17688 * Makefile.util.def: Rule for new test.
17689
17690 * grub-core/commands/wildcard.c: New file, implements filename
17691 expansion support for GRUB script.
17692 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17693 * grub-core/script/argv.c: Cosmetic changes.
17694 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17695 Refactored to perform wildcard expansion on arguments.
17696 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17697 struct.
17698
17699 * tests/util/grub-shell.in: Fix quoting for read input.
17700
5f0c4aca
BC
177012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17702
17703 Support for updating environment variables with matched substrings
17704 of regexp.
17705
17706 * tests/grub_cmd_regexp.in: New test.
17707 * Makefile.util.def: Rule for new test.
17708
17709 * grub-core/commands/regexp.c: New option -s to update environment
17710 variables with regexp matches.
17711
3759a35f
SJ
177122010-09-04 Szymon Janc <szymon@janc.net.pl>
17713
17714 * include/grub/file.h (grub_file): New member not_easly_seekable.
17715 (grub_file_seekable): New inline function.
17716 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17717 easily seekable.
17718 (grub_gzio_open): Set not_easly_seekable.
17719 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17720 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17721
ed8c6dec
BC
177222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17723
17724 Support for options to appear multiple times on cmdline.
17725
17726 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17727 * grub-core/commands/extcmd.c: Support for repeatable option.
17728 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17729 repeatable option support.
17730
17731 Refactor menuentry into a regular command.
17732
17733 * grub-core/commands/menuentry.c: New file, menuentry command
17734 implementation.
17735 * grub-core/Makefile.core.def: Rule update for normal.mod.
17736 * grub-core/normal/main.c: Moved menuentry creation to
17737 grub-core/commands/menuentry.c.
17738 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17739 (grub_menu_execute_entry_real): Removed.
17740 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17741 function.
17742 (grub_script_execute_menuentry): Removed.
17743 * grub-core/script/parser.y (menuentry): Removed.
17744 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17745 * grub-core/script/yylex.l (menuentry): Removed.
17746 * include/grub/menu.h (grub_menu_init): New prototype.
17747 (grub_menu_fini): New prototype.
17748 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17749 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17750 (grub_script_execute_sourcecode): New prototype.
17751
dacd0cf0
BC
177522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17753
17754 "return" command for GRUB script functions.
17755
17756 * tests/grub_script_return.in: New test.
17757 * Makefile.util.def: Rules for new test.
17758
17759 * grub-core/script/execute.c (grub_script_return): New function.
17760 * grub-core/script/main.c: Register/unregister return commaond.
17761 * include/grub/script_sh.h (grub_script_return): New prototype.
17762
52e72f9d
BC
177632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17764
17765 "setparams" command to update positional parameters.
17766
17767 * tests/grub_script_setparams.in: New test.
17768 * Makefile.util.def: Rules for new test.
17769
17770 * grub-core/script/argv.c (grub_script_argv_make): New function.
17771 * grub-core/script/execute.c (replace_scope): New function.
17772 (grub_script_setparams): New function.
17773 * grub-core/script/lexer.c: Remove unused variables.
17774 * grub-core/script/main.c: Register/unregister setparams command.
17775 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17776 (grub_script_setparams): New prototype.
17777
25b60c91
BC
177782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17779
17780 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17781 grub_free order.
17782
37e7bf68
BC
177832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17784
17785 Support for passing block of commands as an argument to extcmds.
17786
17787 * Makefile.util.def: Rules for new test.
17788 * tests/grub_script_blockarg.in: New test.
17789 * grub-core/tests/test_blockarg.c: New file, block argument
17790 command used in the test.
17791
17792 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17793 (grub_register_extcmd_prio): New function prototype.
17794 (grub_extcmd_dispatcher): New function prototype.
17795 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17796 type.
17797 * include/grub/script_sh.h (struct grub_script): New members
17798 `children', `next_siblings' and `refcnt' for block arguments and
17799 reference counting.
17800 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17801 (grub_script_arg): New member `script' for block argument.
17802 (grub_script_argv): New member `script' for block argument.
17803 (grub_parser_param): New member `scripts' for block argument.
17804 (grub_script_mem_free): New extern function prototype.
17805 (grub_script_ref): New function prototype.
17806 (grub_script_unref): New function prototype.
17807
17808 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17809 extcmd form to support block arguments.
17810 * grub-core/script/argv.c: Block arguments support.
17811 * grub-core/script/execute.c: Likewise.
17812 * grub-core/script/lexer.c: Likewise.
17813 * grub-core/script/main.c: Likewise.
17814 * grub-core/script/script.c: Likewise.
17815 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17816 non-terminals.
17817
17818 * grub-core/commands/acpi.c: Update extcmd implementations with
17819 grub_extcmd_context_t.
17820 * grub-core/commands/cat.c: Likewise.
17821 * grub-core/commands/echo.c: Likewise.
17822 * grub-core/commands/extcmd.c: Likewise.
17823 * grub-core/commands/hashsum.c: Likewise.
17824 * grub-core/commands/hdparm.c: Likewise.
17825 * grub-core/commands/help.c: Likewise.
17826 * grub-core/commands/hexdump.c: Likewise.
17827 * grub-core/commands/i386/cpuid.c: Likewise.
17828 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17829 * grub-core/commands/i386/pc/halt.c: Likewise.
17830 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17831 * grub-core/commands/iorw.c: Likewise.
17832 * grub-core/commands/keystatus.c: Likewise.
17833 * grub-core/commands/loadenv.c: Likewise.
17834 * grub-core/commands/ls.c: Likewise.
17835 * grub-core/commands/lspci.c: Likewise.
17836 * grub-core/commands/memrw.c: Likewise.
17837 * grub-core/commands/probe.c: Likewise.
17838 * grub-core/commands/search_wrap.c: Likewise.
17839 * grub-core/commands/setpci.c: Likewise.
17840 * grub-core/commands/sleep.c: Likewise.
17841 * grub-core/disk/loopback.c: Likewise.
17842 * grub-core/hello/hello.c: Likewise.
17843 * grub-core/loader/i386/bsd.c: Likewise.
17844 * grub-core/loader/xnu.c: Likewise.
17845 * grub-core/term/gfxterm.c: Likewise.
17846 * grub-core/term/serial.c: Likewise.
17847 * grub-core/tests/lib/functional_test.c: Likewise.
17848
888d1500
BC
178492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17850
17851 Multi-line quoted strings support.
17852
17853 * grub-core/script/lexer.c (append_newline): Removed.
17854 (grub_script_lexer_yywrap): Refactored.
17855 (grub_script_lexer_init): Refactored.
17856 * grub-core/script/yylex.l (yywrap): New function.
17857 (grub_lexer_resplit): New function.
17858 (grub_lexer_unput): New function.
17859 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17860 and resplit.
17861 * tests/grub_script_echo1.in: Added few more testcases.
17862
dda060dd
VS
178632010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * grub-core/kern/misc.c: Don't add abort alias in utils.
17866 Reported by: echoline.
17867
6556eba9
BC
178682010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17869
17870 Add missing files into "make dist" tarball for other platforms.
17871
17872 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17873 * conf/Makefile.common (dist_noinst_DATA): New variable.
17874 * conf/Makefile.extra-dist: Added missing make dist files.
17875 * grub-core/Makefile.core.def: Likewise.
17876
c8e7bf5f
VS
178772010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 Compress grub_prefix.
17880
17881 * grub-core/boot/i386/pc/lnxboot.S: Use
17882 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17883 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17884 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17885 GRUB_MACHINE_PREFIX_END. All users updated.
17886 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17887 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17888 + 0x40.
17889 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17890 * util/grub-mkimage.c (image_target_desc): Change data_end to
17891 prefix_end. All users updated.
17892
a7c00cdb
VS
178932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
17896 value.
17897 (grub_openbsd_boot): Likewise.
17898 (grub_netbsd_boot): Likewise.
17899 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
17900 (grub_xnu_boot): Likewise.
17901
9f915872
VS
179022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 * configure.ac: Clean LIBS variable after tests.
17905
efa1bee7
CW
179062010-09-02 Colin Watson <cjwatson@ubuntu.com>
17907
17908 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
17909
61d720e5
VS
179102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
17913 echo if libdevmapper will be used.
17914
ef8e0ec8
IT
179152010-09-02 Ian Turner <Ian.Turner@deshaw.com>
17916
17917 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
17918 constant for the same file.
17919
03e261d8
VS
179202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
17923
c2a4eba6
CW
179242010-09-02 Colin Watson <cjwatson@ubuntu.com>
17925
17926 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
17927 grub-core/*.pp.
17928
9056cbf3
CW
179292010-09-02 Colin Watson <cjwatson@ubuntu.com>
17930
17931 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
17932 required by the boot protocol.
17933
17934 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
17935 ebp and edi members.
17936 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
17937 state.ebp and state.edi.
17938 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
17939 %ebp and %edi according to grub_relocator32_ebp and
17940 grub_relocator32_edi respectively.
17941 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
17942 and state.edi.
17943
529cc99a
VS
179442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 Add i386-pc-pxe image target.
17947
17948 * util/grub-mkimage.c (image_target_desc): New enum value
17949 IMAGE_I386_PC_PXE.
17950 (image_targets): New target i386-pc-pxe.
17951 (generate_image): Handle i386-pc-pxe image.
17952
9a093920
VS
179532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Fix grub_pxe_scan.
17956
17957 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
17958 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
17959 All users updated.
17960 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
17961 (grub_pxe_pxenv): Correct type.
17962
f9cefc4e
CW
179632010-09-01 Colin Watson <cjwatson@ubuntu.com>
17964
17965 * NEWS: Document most of the important changes since 1.98.
17966
4066f57f
CW
179672010-09-01 Colin Watson <cjwatson@ubuntu.com>
17968
17969 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
17970 generated manual page) a little.
17971
da2891f9
CW
179722010-09-01 Colin Watson <cjwatson@ubuntu.com>
17973
17974 * docs/grub.texi: Add myself as an author.
17975
ad717fae
VS
179762010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * Makefile.util.def (libgrub.a): Add missing sunpc.
17979 Reported by: Seth Goldberg.
17980
eefe8abd
VS
179812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 Interrupt wrapping and code simplifications.
17984
9494ef9a
VS
17985 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
17986 x86_noieee1275 which are functionaly equivalent in this case.
17987 (grub-install): Make source on each platform explicit. Enable on
17988 all noemu.
17989 * gentpl.py (x86_efi_pc): Removed group.
17990 (x86_noefi): Likewise.
17991 (i386_noefi): Likewise.
17992 (x86_noieee1275): Likewise.
17993 (i386_noieee1275): Likewise.
17994 (i386_noefi_noieee1275): Likewise.
17995 (i386_pc_qemu_coreboot): Likewise.
17996 (i386_coreboot_multiboot): Likewise.
17997 (i386_pc_coreboot_multiboot_qemu): Likewise.
17998 (x86_noefi_mips): Likewise.
17999 (noieee1275): Likewise.
18000 (ieee1275_mips): Likewise.
18001 (noemu_noieee1275): Likewise.
18002 (cmos): New group.
18003 (usb): Likewise.
18004 (videoinkernel): Likewise.
18005 (videomodules): Likewise.
eefe8abd 18006 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18007 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18008 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18009 include/grub/loader.h, include/grub/msdos_partition.h,
18010 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18011 include/grub/machine/console.h, include/grub/machine/vga.h,
18012 include/grub/machine/vbe.h, include/grub/machine/init.h,
18013 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18014 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18015 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18016 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18017 * grub-core/Makefile.core.def (kernel): Explicit the source for
18018 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18019 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18020 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18021 Use videoinkernel tag.
18022 (usb): Enable on all usb.
18023 (usbserial_common): Likewise.
18024 (usbserial_pl2303): Likewise.
18025 (usbserial_ftdi): Likewise.
18026 (uhci): Enable on all x86.
18027 (ohci): Enable on all pci.
18028 (cmostest): Enable on all CMOS.
18029 (acpi): Include commands/acpi.c on all platforms.
18030 (halt): Add relevant lib/*/halt.c.
18031 (hdparm): Enable on all pci.
18032 (lspci): Likewise.
18033 (usbtest): Enable on all usb.
18034 (ata): Enable on all pci.
18035 (ata_pthru): Likewise.
18036 (usbms): Enable on all usb.
18037 (usb_keyboard): Likewise.
18038 (font): Use tag videomodules.
18039 (bufio): Likewise.
18040 (datetime): Use tag cmos. Enable on all noemu.
18041 (mmap): Use tags common and x86.
18042 (gfxterm): Use tag videomodules.
18043 (bitmap): Likewise.
18044 (bitmap_scale): Likewise.
18045 (video_fb): Likewise.
18046 (video): Likewise.
18047 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18048 adjust padding accordingly. All users updated.
18049 (grub_ohci_transaction): Fix bad format specification.
18050 (GRUB_MOD_INIT): Add asserts for struct size.
18051 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18052 (grub_alloc_td): Likewise.
18053 (grub_free_queue): Likewise.
18054 (grub_uhci_transfer): Likewise.
18055 (grub_uhci_transaction): Fix bad format specification.
18056 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18057 (grub_usb_bulk_readwrite): Likewise.
18058 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18059 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18060 Made static.
18061 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18062 Made static.
18063 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18064 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18065 Transformed into C.
18066 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18067 Moved from here ...
18068 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18069 ... here. Transformed into C. Made static.
18070 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18071 Moved from here ...
18072 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18073 ... here. Transformed into C. Made static.
18074 * grub-core/kern/i386/pc/startup.S
18075 (grub_biosdisk_check_int13_extensions): Moved from here ...
18076 * grub-core/disk/i386/pc/biosdisk.c
18077 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18078 Made static.
18079 * grub-core/kern/i386/pc/startup.S
18080 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18081 * grub-core/disk/i386/pc/biosdisk.c
18082 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18083 Transformed into C. Made static.
18084 * grub-core/kern/i386/pc/startup.S
18085 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18086 * grub-core/disk/i386/pc/biosdisk.c
18087 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18088 Transformed into C. Made static.
18089 * grub-core/kern/i386/pc/startup.S
18090 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18091 * grub-core/disk/i386/pc/biosdisk.c
18092 (grub_biosdisk_get_diskinfo_standard): ... here.
18093 Transformed into C. Made static.
18094 * grub-core/kern/i386/pc/startup.S
18095 (grub_biosdisk_get_num_floppies): Moved from here ...
18096 * grub-core/disk/i386/pc/biosdisk.c
18097 (grub_biosdisk_get_num_floppies): ... here.
18098 Transformed into C. Made static.
18099 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18100 New function.
18101 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18102 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18103 Transformed into C. Made static.
18104 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18105 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18106 Transformed into C. Made static.
18107 * grub-core/kern/i386/ieee1275/init.c: Removed.
18108 * grub-core/kern/i386/misc.S: Likewise.
18109 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18110 Splitted from here ...
18111 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18112 Transformed into C. Made static. All users updated.
18113 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18114 Transformed into C. Made static. All users updated.
18115 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18116 Moved from here...
18117 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18118 Transformed into C. Made static. All users updated.
18119 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18120 Moved from here...
18121 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18122 Transformed into C. Made static. All users updated.
18123 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18124 Removed (replaced by C version).
18125 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18126 Moved from here...
18127 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18128 Transformed into C. Made static.
18129 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18130 Moved from here...
18131 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18132 ... here. Transformed into C.
18133 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18134 Moved from here...
18135 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18136 ... here. Transformed into C.
18137 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18138 Moved from here...
18139 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18140 ... here. Transformed into C. Made static.
18141 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18142 Moved from here...
18143 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18144 ... here. Transformed into C.
21ed554b
VS
18145 * grub-core/kern/i386/pc/startup.S
18146 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18147 * grub-core/video/i386/pc/vbe.c
18148 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
18149 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18150 Moved from here...
18151 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18152 ... here. Transformed into C.
18153 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18154 Moved from here...
18155 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18156 ... here. Transformed into C.
18157 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18158 Moved from here...
18159 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18160 ... here. Transformed into C.
18161 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18162 Moved from here...
18163 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18164 ... here. Transformed into C.
18165 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18166 Moved from here...
18167 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18168 ... here. Transformed into C. Made static.
18169 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18170 Moved from here...
18171 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18172 ... here. Transformed into C. Made static.
18173 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18174 Moved from here...
18175 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18176 ... here. Transformed into C. Made static.
18177 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18178 pxe_rm_entry as third argument.
18179 (grub_bios_interrupt): New function.
18180 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18181 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18182 of calling grub_stop.
18183 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
18184 * grub-core/lib/efi/halt.c (grub_halt): ...here.
18185 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
18186 * grub-core/lib/emu/halt.c (grub_halt): ... here.
18187 * grub-core/lib/i386/halt.c: Moved from here ...
18188 * grub-core/lib/i386/halt.c: ... here.
18189 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
18190 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
18191 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
18192 grub_stop_floppy.
18193 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
18194 * include/grub/i386/coreboot/init.h: Removed.
18195 * include/grub/i386/multiboot/init.h: Likewise.
18196 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
18197 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
18198 * include/grub/i386/pc/int.h: New file.
18199 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
18200 (grub_pxe_scan): Removed.
18201 (grub_pxe_call): Update prototype.
18202 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
18203 prototypes.
18204 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
18205 * include/grub/i386/qemu/init.h: Removed.
18206 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
18207 noreturn.
18208 (grub_halt): Likewise.
18209 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
18210 (grub_reboot): Likewise.
18211 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
18212 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
18213 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18214
215dd471
RM
182152010-08-30 Robert Millan <rmh@gnu.org>
18216
18217 * NEWS: Document addition of ZFS support in `grub-install' and
18218 `grub-mkconfig'.
18219
ebd65b82
BC
182202010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18221
18222 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18223 dprintf output.
18224
11721d19
VS
182252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 Remove leftover embedding of font objects.
18228
18229 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18230 * util/grub-install.in (font): Removed.
18231 * util/grub-mkimage.c (generate_image): Remove font support. All users
18232 updated.
18233
37837d4e
VS
182342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 Remove leftover embedding of font objects.
18237
18238 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18239 * util/grub-install.in (font): Removed.
18240 * util/grub-mkimage.c (generate_image): Remove font support. All users
18241 updated.
18242
b4c1aae0
VS
182432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 18246 Reported by: Ian Turner
b4c1aae0 18247
8920a08d
VS
182482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
18251 timeout to avoid indefinite boot stalling.
18252
f21db033
VS
182532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
18256 (grub_env_write_color_highlight): Likewise.
18257
9a9de209
VS
182582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * grub-core/normal/term.c (print_more): Return to normal and not
18261 to standard state after printing "---MORE---".
18262
3dca01d7
VS
182632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
18266 Mask out the bit 0x80 since it has other meaning that specifiing color.
18267
0b986c40
VS
182682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 New relocator. Allows for more kernel support and more straightforward
18271 loader writing.
18272
18273 * Makefile.am (BOOTTARGET): New variable.
18274 (QEMU32): Likewise.
18275 (linux.init.x86_64): New target.
18276 (linux.init.i386): Likewise.
18277 (multiboot.elf): Likewise.
18278 (kfreebsd.elf): Likewise.
18279 (kfreebsd.aout): Likewise.
18280 (pc-chainloader.elf): Likewise.
18281 (pc-chainloader.bin): Likewise.
18282 (ntldr.elf): Likewise.
18283 (ntldr.bin): Likewise.
18284 (multiboot2.elf): Likewise.
18285 (kfreebsd.init.x86_64): Likewise.
18286 (kfreebsd.init.i386): Likewise.
18287 (knetbsd.init.i386): Likewise.
18288 (kopenbsd.init.i386): Likewise.
18289 (knetbsd.init.x86_64): Likewise.
18290 (kopenbsd.init.x86_64): Likewise.
18291 (linux-initramfs.i386): Likewise.
18292 (linux-initramfs.x86_64): Likewise.
18293 (kfreebsd-mfsroot.i386.img): Likewise.
18294 (knetbsd.image.i386): Likewise.
18295 (kopenbsd.image.i386): Likewise.
18296 (kopenbsd.image.x86_64): Likewise.
18297 (knetbsd.miniroot-image.i386.img): Likewise.
18298 (kfreebsd-mfsroot.x86_64.img): Likewise.
18299 (knetbsd.image.x86_64): Likewise.
18300 (knetbsd.miniroot-image.x86_64.img): Likewise.
18301 (kfreebsd-mfsroot.i386.gz): Likewise.
18302 (bootcheck-kfreebsd-i386): Likewise.
18303 (kfreebsd-mfsroot.x86_64.gz): Likewise.
18304 (bootcheck-kfreebsd-x86_64): Likewise.
18305 (knetbsd.miniroot-image.i386.gz): Likewise.
18306 (bootcheck-knetbsd-i386): Likewise.
18307 (bootcheck-kopenbsd-i386): Likewise.
18308 (bootcheck-kopenbsd-x86_64): Likewise.
18309 (knetbsd.miniroot-image.x86_64.gz): Likewise.
18310 (bootcheck-knetbsd-x86_64): Likewise.
18311 (bootcheck-linux-i386): Likewise.
18312 (bootcheck-linux-x86_64): Likewise.
18313 (bootcheck-linux16-i386): Likewise.
18314 (bootcheck-linux16-x86_64): Likewise.
18315 (bootcheck-multiboot): Likewise.
18316 (bootcheck-multiboot2): Likewise.
18317 (bootcheck-kfreebsd-aout): Likewise.
18318 (bootcheck-pc-chainloader): Likewise.
18319 (bootcheck-ntldr): Likewise.
18320 (CLEANFILES): Add new targets.
18321 (BOOTCHECKS): New variable.
18322 (.PHONY): Add bootchecks.
18323 (SUCCESSFUL_BOOT_STRING): New variable.
18324 (BOOTCHECK_TIMEOUT): Likewise.
18325 (bootcheck): New target
18326 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
18327 * configure.ac: Correct efiemu excuse.
18328 * docs/grub.texi (Supported kernels): New chapter.
18329 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
18330 include/grub/mm_private.h. Simplify inclusion of
18331 include/grub/boot.h, include/grub/loader.h
18332 and include/grub/msdos_partition.h
18333 (KERNEL_HEADER_FILES) [i386_coreboot]:
18334 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
18335 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
18336 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
18337 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
18338 include/grub/machine/loader.h.
18339 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
18340 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
18341 extra_dist.
18342 (pci.mod): Enable on i386-multiboot.
18343 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
18344 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
18345 i386-qemu.
18346 (relocator.mod): Rewritten.
18347 (aout.mod): Enable on all x86.
18348 (bsd.mod): Likewise.
18349 (ntldr.mod): New module.
18350 (linux.mod): Use loader/i386/linux.c on all x86.
18351 (xnu.mod): Enable on all x86.
18352 (vga_text.mod): disable on EFI and QEMU.
18353 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18354 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18355 * grub-core/efiemu/loadcore.c: Likewise.
18356 * grub-core/efiemu/main.c: Likewise.
18357 (grub_efiemu_exit_boot_services): Removed.
18358 (grub_efiemu_finish_boot_services): Likewise.
18359 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18360 function.
18361 * grub-core/efiemu/i386/nocfgtables.c: New file.
18362 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18363 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18364 (grub_efi_finish_boot_services): Moved from here ...
18365 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18366 Fille finish memory map and related data.
18367 (finish_mmap_buf): New variable.
18368 (grub_efi_uintn_t finish_mmap_size): Likewise.
18369 (grub_efi_uintn_t finish_key): Likewise.
18370 (grub_efi_uintn_t finish_desc_size): Likewise.
18371 (grub_efi_uint32_t finish_desc_version): Likewise.
18372 (grub_efi_is_finished): Likewise.
18373 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18374 finished.
18375 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18376 (grub_elf64_phdr_iterate): Likewise.
18377 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18378 (grub_os_area_size): Likewise.
18379 (grub_machine_init): Don't reserve os area.
18380 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18381 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18382 * grub-core/kern/i386/loader.S: Removed.
18383 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18384 (grub_os_area_size): Likewise.
18385 (grub_machine_init): Don't reserve os area.
18386 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18387 Don't call grub_dl_unload_all.
18388 Don't include loader.S.
18389 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18390 Declare the memory after _end as available.
18391 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 18392 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 18393 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
18394 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18395 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18396 * include/grub/mm_private.h (grub_mm_header): ... here.
18397 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18398 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
18399 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18400 (grub_mm_region): ..here. Removed addr. Added pre_size.
18401 All users updated.
18402 * grub-core/kern/mm.c (base): Renamed to ...
18403 (grub_mm_base): ... this. Made global.
18404 (grub_real_malloc): Alloc from end of region.
18405 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18406 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18407 * grub-core/kern/powerpc/cache_flush.S: ... here.
18408 * grub-core/lib/efi/relocator.c: New file.
18409 * grub-core/lib/i386/relocator.c: Rewritten.
18410 * grub-core/lib/i386/relocator16.S: New file.
18411 * grub-core/lib/i386/relocator32.S: Likewise.
18412 * grub-core/lib/i386/relocator64.S: Likewise.
18413 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18414 * grub-core/lib/i386/relocator_common.S: New file.
18415 * grub-core/lib/ieee1275/relocator.c: Likewise.
18416 * grub-core/lib/mips/relocator.c: Rewritten.
18417 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18418 stylistic adjustments.
18419 * grub-core/lib/powerpc/relocator.c: New file.
18420 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18421 * grub-core/lib/relocator.c: Rewritten.
18422 * grub-core/lib/x86_64/relocator_asm.S: New file.
18423 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18424 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18425 (bsd_tag): New struct.
18426 (tags): New variable.
18427 (tags_last): Likewise.
18428 (netbsd_module): New struct.
18429 (netbsd_mods): New variable.
18430 (netbsd_mods_last): Likewise.
18431 (openbsd_opts): New parameter "serial".
18432 (OPENBSD_SERIAL_ARG): New definition.
18433 (netbsd_opts): New parameter "serial".
18434 (NETBSD_SERIAL_ARG): New definition.
18435 (grub_freebsd_add_meta): Reorganised into ...
18436 (grub_bsd_add_meta): ...this. All users updated.
18437 (grub_freebsd_add_mmap): Reorganised into ...
18438 (generate_e820_mmap): ...this...
18439 (grub_bsd_add_mmap): ...and this. All users updated.
18440 (grub_freebsd_list_modules): Use tags.
18441 (grub_netbsd_add_meta_module): New function.
18442 (grub_netbsd_list_modules): Likewise.
18443 (grub_freebsd_boot): Use relocator and finish EFI.
18444 (grub_openbsd_boot): Likewise.
18445 (grub_netbsd_setup_video): New function.
18446 (grub_netbsd_add_modules): Likewise.
18447 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18448 and finish EFI.
18449 (grub_bsd_unload): Unload tags.
18450 (grub_bsd_load_aout): Use relocator.
18451 (grub_bsd_elf32_size_hook): New function.
18452 (grub_bsd_elf32_hook): Use relocator.
18453 (grub_bsd_elf64_size_hook): New function.
18454 (grub_bsd_elf64_hook): Use relocator.
18455 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18456 (grub_bsd_load): Zero-out openbsd_ramdisk.
18457 (grub_bsd_load): Use relocator.
18458 (grub_cmd_openbsd): Support serial.
18459 (grub_cmd_netbsd): Support modules.
18460 (grub_cmd_freebsd_module): Use relocator.
18461 (grub_netbsd_module_load): New function.
18462 (grub_cmd_netbsd_module): Likewise.
18463 (grub_cmd_openbsd_ramdisk): Likewise.
18464 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18465 kopenbsd_ramdisk.
18466 (GRUB_MOD_FINI): Unregister new commands.
18467 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18468 (grub_freebsd_load_elfmodule_obj): Use relocator.
18469 (grub_freebsd_load_elfmodule): Likewise.
18470 (grub_freebsd_load_elf_meta): Likewise.
18471 (grub_netbsd_load_elf_meta): New function.
18472 (grub_openbsd_find_ramdisk): Likewise.
18473 * grub-core/loader/i386/bsd_helper.S: Removed.
18474 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18475 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18476 * grub-core/loader/i386/efi/linux.c: Likewise.
18477 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18478 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18479 (DEFAULT_VIDEO_MODE): Likewise.
18480 (real_mode_target): New variable.
18481 (prot_mode_target): Likewise.
18482 (initrd_mem_target): Likewise.
18483 (relocator): Likewise.
18484 (efi_mmap_buf): Likewise.
18485 (efi_mmap_size): Likewise.
18486 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18487 (free_pages): Use relocator.
18488 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18489 (grub_linux_setup_video): Return error.
18490 (grub_linux_trampoline_start): Removed.
18491 (grub_linux_trampoline_end): Likewise.
18492 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18493 andd video parameters depending on firmware.
18494 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18495 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18496 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18497 (grub_cmd_initrd): Use relocator.
18498 * grub-core/loader/i386/linux_trampoline.S: Removed.
18499 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18500 (elf_sec_entsize): Likewise.
18501 (elf_sec_shstrndx): Likewise.
18502 (elf_sections): Likewise.
18503 (grub_multiboot_load): Use relocator.
18504 (grub_multiboot_get_mbi_size): Account for sections.
18505 (grub_multiboot_make_mbi): Use relocator and support sections.
18506 (grub_multiboot_add_elfsyms): New function.
18507 (grub_multiboot_free_mbi): Free sections.
18508 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18509 (grub_linux_real_target): Likewise.
18510 (grub_linux_real_chunk): Likewise.
18511 (grub_linux16_prot_size): Likewise.
18512 (grub_linux16_boot): Use relocator.
18513 (grub_linux_unload): Unload relocator.
18514 (grub_cmd_linux): Use relocator.
18515 (grub_cmd_initrd): Likewise.
18516 * grub-core/loader/i386/pc/ntldr.c: New file.
18517 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18518 Don't try to guess CPU frequency.
18519 (grub_xnu_set_video): Stretch bitmap.
18520 (grub_xnu_boot): Use relocator.
18521 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18522 (grub_linux_unload): Free relocator.
18523 (grub_linux_load32): Use relocator.
18524 (grub_linux_load64): Likewise.
18525 (grub_cmd_initrd): Likewise.
18526 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18527 (grub_multiboot_unload): Unload relocator.
18528 (grub_cmd_multiboot): Use relocator.
18529 (grub_cmd_module): Likewise.
18530 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18531 Use relocator and support sections.
18532 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18533 (elf_sec_entsize): Likewise.
18534 (elf_sec_shstrndx): Likewise.
18535 (elf_sections): Likewise.
18536 (grub_multiboot_load): Use relocator.
18537 (grub_multiboot_get_mbi_size): Account for sections.
18538 (grub_multiboot_make_mbi): Use relocator and support sections.
18539 (grub_multiboot_add_elfsyms): New function.
18540 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18541 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18542 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18543 Prototype changed. All users updated.
18544 (grub_xnu_align_heap): Simplified.
18545 (grub_xnu_writetree_toheap): Likewise.
18546 (grub_xnu_unload): Unload relocator.
18547 (grub_cmd_xnu_kernel): Use relocator.
18548 (grub_cmd_xnu_kernel64): Likewise.
18549 (grub_xnu_register_memory): Simplified.
18550 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
18551 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18552 EFI is finished.
18553 (grub_console_checkkey): Likewise.
18554 (grub_console_getkey): Likewise.
18555 (grub_console_getwh): Likewise.
18556 (grub_console_getxy): Likewise.
18557 (grub_console_gotoxy): Likewise.
18558 (grub_console_cls): Likewise.
18559 (grub_console_setcolorstate): Likewise.
18560 (grub_console_setcursor): Likewise.
18561 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18562 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18563 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18564 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18565 * grub-core/tests/boot/kernel-8086.S: Likewise.
18566 * grub-core/tests/boot/kernel-i386.S: Likewise.
18567 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18568 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18569 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18570 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18571 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18572 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18573 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18574 * grub-core/tests/boot/linux.cfg: Likewise.
18575 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18576 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18577 * grub-core/tests/boot/linux16.cfg: Likewise.
18578 * grub-core/tests/boot/multiboot.cfg: Likewise.
18579 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18580 * grub-core/tests/boot/ntldr.cfg: Likewise.
18581 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18582 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18583 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18584 New definition.
18585 * include/grub/dl.h (grub_dl_unload_all): Removed.
18586 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18587 (grub_efi_finish_boot_services): Change prototype.
18588 (grub_efi_is_finished): New variable.
18589 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18590 Changed prototype.
18591 (grub_efiemu_finish_boot_services): Removed.
18592 (grub_machine_efiemu_init_tables): New prototype.
18593 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18594 (grub_elf64_phdr_iterate): Likewise.
18595 * include/grub/i386/bsd.h: Include relocator.h.
18596 (freebsd_tag_header): New struct.
18597 (grub_openbsd_bios_mmap): Removed.
18598 (grub_unix_real_boot): Removed.
18599 (grub_freebsd_load_elfmodule32): Changed prototype.
18600 (grub_freebsd_load_elfmodule_obj64): Likewise.
18601 (grub_freebsd_load_elf_meta32): Likewise.
18602 (grub_freebsd_load_elf_meta64): Likewise.
18603 (grub_freebsd_add_meta): Removed.
18604 (grub_netbsd_load_elf_meta32): New prototype.
18605 (grub_netbsd_load_elf_meta64): Likewise.
18606 (grub_bsd_add_meta): Likewise.
18607 (grub_openbsd_ramdisk_descriptor): New struct.
18608 (grub_openbsd_find_ramdisk32): New prototype.
18609 (grub_openbsd_find_ramdisk64): Likewise.
18610 * include/grub/i386/coreboot/loader.h: Removed.
18611 * include/grub/i386/efi/loader.h: Likewise.
18612 * include/grub/i386/ieee1275/loader.h: Likewise.
18613 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18614 to grub_uint32_t.
18615 * include/grub/i386/loader.h: Removed.
18616 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18617 value.
18618 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18619 (grub_phys_addr_t): New type.
18620 (grub_vtop): New inline function.
18621 (grub_map_memory): Likewise.
18622 (grub_unmap_memory): Likewise.
18623 * include/grub/i386/multiboot/loader.h: Removed.
18624 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18625 (NETBSD_BTINFO_CONSOLE): New definition.
18626 (NETBSD_BTINFO_SYMTAB): Likewise.
18627 (NETBSD_BTINFO_MODULES): Likewise.
18628 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18629 (grub_netbsd_bootinfo): New struct.
18630 (grub_netbsd_btinfo_common): Use explicit bitsize.
18631 (grub_netbsd_btinfo_mmap_entry): Removed.
18632 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18633 (grub_netbsd_btinfo_bootdisk): New struct.
18634 (grub_netbsd_btinfo_symtab): Likewise.
18635 (grub_netbsd_btinfo_serial): Likewise.
18636 (grub_netbsd_btinfo_modules): Likewise.
18637 (grub_netbsd_btinfo_framebuf): Likewise.
18638 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18639 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18640 Likewise.
18641 (grub_openbsd_bootargs): Use explicit bitsize.
18642 (grub_openbsd_bootarg_console): New struct.
18643 (GRUB_OPENBSD_COM_MAJOR): New definition.
18644 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18645 * include/grub/i386/pc/efiemu.h: Removed.
18646 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18647 * include/grub/i386/qemu/loader.h: Removed.
18648 * include/grub/i386/relocator.h: Rewritten.
18649 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18650 * include/grub/mips/memory.h: New file.
18651 * include/grub/mips/multiboot.h: Rewritten.
18652 * include/grub/mips/relocator.h: Rewritten.
18653 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18654 (grub_vtop): New function.
18655 (grub_map_memory): Likewise.
18656 (grub_unmap_memory): Likewise.
18657 * include/grub/misc.h (ALIGN_DOWN): New definition.
18658 * include/grub/mm.h (grub_mm_check_real): New proto.
18659 (GRUB_MM_CHECK): New definition.
18660 * include/grub/mm_private.h: New file.
18661 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18662 (grub_multiboot_get_mbi_size): Removed.
18663 (grub_multiboot_make_mbi): Change prottype.
18664 (grub_multiboot_set_accepts_video): New proto.
18665 (grub_multiboot_add_elfsyms): Likewise.
18666 (grub_multiboot_payload_eip): New variable.
18667 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18668 New prototype.
18669 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18670 New definition.
18671 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18672 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18673 * include/grub/powerpc/ieee1275/loader.h: Removed.
18674 * include/grub/powerpc/memory.h: New file.
18675 * include/grub/powerpc/relocator.h: Likewise.
18676 * include/grub/relocator.h: Likewise.
18677 * include/grub/relocator_private.h: Likewise.
18678 * include/grub/sparc64/ieee1275/loader.h: Removed.
18679 * include/grub/x86_64/memory.h: New file.
18680 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18681 (grub_xnu_heap_malloc): Likewise.
18682 (grub_xnu_heap_real_start): Removed.
18683 (grub_xnu_heap_start): Likewise.
18684 (grub_xnu_relocator): New variable.
18685 (grub_xnu_heap_target_start): Likewise.
18686 * tests/util/grub-shell.in: Support non-pc.
18687 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 18688
5303b85d
VS
186892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18692 on malloc error.
18693 (grub_bidi_logical_to_visual): Check that malloc succeded.
18694 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18695 puts.
18696 (grub_xputs_normal): Likewise.
18697
d768d159
VS
186982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18701 extra_dist.
18702
187032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18706
5bf84df4
VS
187072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18710
3626810e
VS
187112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18714 dprintf.
18715
a7363f53
BC
187162010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18717
18718 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18719
902f75f6
VS
187202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 * grub-core/normal/term.c (print_more): Fix a memory leak.
18723 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18724 (grub_xputs_normal): Likewise.
18725
3c707967
VS
187262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18729 the begining of the string
18730
2053cc07
VS
187312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 * grub-core/script/script.c (grub_script_parse): Free parsed on
18734 failure.
18735
46422ebf
VS
187362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18739 on failure.
18740
9e0fa3f6
VS
187412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18744 return.
18745
3393cf16
VS
187462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18749 (scroll_up): Fix a memory leak.
18750
b17540cb
VS
187512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18754 errors.
18755
67140446
VS
187562010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 Handle USB pendrives exposed as floppies.
18759
18760 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18761 floppy.
18762 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18763 Check for partitions on all devices.
18764
e35e46fc
VS
187652010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18768 (readkey): Likewise.
18769
d24c6190
BC
187702010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18771
18772 Multiple variable names support to "export" command.
18773
18774 * normal/context.c (grub_cmd_export): "export" command supports
18775 multiple variable names.
18776
04ddcc6a
ST
187772010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18778
18779 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18780 --target=drive output to Mach device name.
18781
0c8b61d8
BC
187822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18783
18784 New Automake based build system for GRUB.
18785
18786 * ABOUT-NLS: New file.
18787 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18788 in Makefile.util.def file.
18789 * Makefile.util.def: New file. Autogen build definitions file for
18790 GRUB host utils.
18791 * conf/Makefile.common: New file. Common variables for GRUB host
18792 utils and target modules.
18793 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18794 * docs/Makefile.am: New file. Automake file for docs.
18795 * gentpl.py: New file. Python script to generate Autogen
18796 template.
18797 * grub-core/Makefile.am: New file. GRUB target modules' rules
18798 that doesn't fit in Makefile.core.def file.
18799 * grub-core/Makefile.core.def: New file. Autogen build
18800 definitions file for GRUB target modules.
18801 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18802 specific setjmp.S file.
18803 * po/Makefile.am: New file.
18804
18805 * .bzrignore: New ignores.
18806 * INSTALL: New requirements, without Ruby.
18807 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18808 * autogen.sh: Updated to invoke autogen as necessary.
18809 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18810 and defines for Automake conditionals.
18811 * geninit.sh: Refactoring.
18812
18813 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18814 necessary.
18815 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18816 New prototype.
18817
18818 * include/grub/test.h: Fix functional test modules' naming.
18819 * grub-core/tests/example_functional_test.c: Fix test module name.
18820
18821 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18822 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18823 * util/grub-editenv.c: Likewise.
18824 * util/grub-fstest.c: Likewise.
18825 * util/grub-mkdevicemap.c: Likewise.
18826 * util/grub-mkfont.c: Likewise.
18827 * util/grub-mkimage.c: Likewise.
18828 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18829 * util/grub-probe.c: Likewise.
18830 * util/grub-script-check.c: Likewise.
18831 * util/i386/pc/grub-setup.c: Likewise.
18832 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18833
18834 * tests/util/grub-shell.in: Fix override directory path.
18835 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18836 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18837
18838 * util/lvm.c: Update #includes.
18839 * util/raid.c: Likewise.
18840 * util/resolve.c: Likewise.
18841 * grub-core/bus/emu/pci.c: Likewise.
18842 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18843 * grub-core/lib/posix_wrap/string.h: Likewise.
18844 * grub-core/kern/emu/main.c: Likewise.
18845
18846 * grub-core/gensymlist.sh: New file. Script for generating kernel
18847 symbols file.
18848 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18849
18850 * grub-core/gentrigtables.c: Fix unused variable warnings.
18851
18852 * Makefile.in: Removed.
18853 * conf/any-emu.rmk: Removed.
18854 * conf/common.rmk: Removed.
18855 * conf/i386-coreboot.rmk: Removed.
18856 * conf/i386-efi.rmk: Removed.
18857 * conf/i386-ieee1275.rmk: Removed.
18858 * conf/i386-multiboot.rmk: Removed.
18859 * conf/i386-pc.rmk: Removed.
18860 * conf/i386-qemu.rmk: Removed.
18861 * conf/i386.rmk: Removed.
18862 * conf/mips-yeeloong.rmk: Removed.
18863 * conf/mips.rmk: Removed.
18864 * conf/powerpc-ieee1275.rmk: Removed.
18865 * conf/sparc64-ieee1275.rmk: Removed.
18866 * conf/tests.rmk: Removed.
18867 * conf/x86-efi.rmk: Removed.
18868 * conf/x86_64-efi.rmk: Removed.
18869 * gendistlist.sh: Removed.
18870 * geninitheader.sh: Removed.
18871 * genkernsyms.sh.in: Removed.
18872 * genmk.rb: Removed.
18873 * gensymlist.sh.in: Removed.
18874 * mkinstalldirs: Removed.
18875 * boot: Moved ...
18876 * grub-core/boot: ... to here.
18877 * bus: Moved ...
18878 * grub-core/bus: ... to here.
18879 * commands: Moved ...
18880 * grub-core/commands: ... to here.
18881 * disk: Moved ...
18882 * grub-core/disk: ... to here.
18883 * efiemu: Moved ...
18884 * grub-core/efiemu: ... to here.
18885 * font: Moved ...
18886 * grub-core/font: ... to here.
18887 * fs: Moved ...
18888 * grub-core/fs: ... to here.
18889 * gencmdlist.sh: Moved ...
18890 * grub-core/gencmdlist.sh: ... to here.
18891 * genemuinit.sh: Moved ...
18892 * grub-core/genemuinit.sh: ... to here.
18893 * genemuinitheader.sh: Moved ...
18894 * grub-core/genemuinitheader.sh: ... to here.
18895 * genfslist.sh: Moved ...
18896 * grub-core/genfslist.sh: ... to here.
18897 * genhandlerlist.sh: Moved ...
18898 * grub-core/genhandlerlist.sh: ... to here.
18899 * genmoddep.awk: Moved ...
18900 * grub-core/genmoddep.awk: ... to here.
18901 * genmodsrc.sh: Moved ...
18902 * grub-core/genmodsrc.sh: ... to here.
18903 * genpartmaplist.sh: Moved ...
18904 * grub-core/genpartmaplist.sh: ... to here.
18905 * genparttoollist.sh: Moved ...
18906 * grub-core/genparttoollist.sh: ... to here.
18907 * genterminallist.sh: Moved ...
18908 * grub-core/genterminallist.sh: ... to here.
18909 * gentrigtables.c: Moved ...
18910 * grub-core/gentrigtables.c: ... to here.
18911 * genvideolist.sh: Moved ...
18912 * grub-core/genvideolist.sh: ... to here.
18913 * gettext: Moved ...
18914 * grub-core/gettext: ... to here.
18915 * gfxmenu: Moved ...
18916 * grub-core/gfxmenu: ... to here.
18917 * gnulib: Moved ...
18918 * grub-core/gnulib: ... to here.
18919 * hello: Moved ...
18920 * grub-core/hello: ... to here.
18921 * hook: Moved ...
18922 * grub-core/hook: ... to here.
18923 * io: Moved ...
18924 * grub-core/io: ... to here.
18925 * kern: Moved ...
18926 * grub-core/kern: ... to here.
18927 * lib: Moved ...
18928 * grub-core/lib: ... to here.
18929 * loader: Moved ...
18930 * grub-core/loader: ... to here.
18931 * mmap: Moved ...
18932 * grub-core/mmap: ... to here.
18933 * normal: Moved ...
18934 * grub-core/normal: ... to here.
18935 * partmap: Moved ...
18936 * grub-core/partmap: ... to here.
18937 * parttool: Moved ...
18938 * grub-core/parttool: ... to here.
18939 * script: Moved ...
18940 * grub-core/script: ... to here.
18941 * term: Moved ...
18942 * grub-core/term: ... to here
18943 * tests/example_functional_test.c: Moved ...
18944 * grub-core/tests/example_functional_test.c: ... to here.
18945 * tests/lib/functional_test.c: Moved ...
18946 * grub-core/tests/lib/functional_test.c: ... to here.
18947 * tests/lib/test.c: Moved ...
18948 * grub-core/tests/lib/test.c: ... to here.
18949 * video: Moved ...
18950 * grub-core/video: ... to here.
18951
645586e6
BC
189522010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18953
18954 Replace --enable-grub-emu-modules with grub-emu-lite.
18955
18956 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
18957 cache.S.
18958
18959 * include/grub/emu/misc.h (grub_emu_init): New prototype.
18960 * kern/emu/full.c: New file. For grub-emu specific initialization.
18961 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
18962 * kern/emu/main.c: Call initialization function grub_emu_init.
18963
18964 * Makefile.in: Include grub-emu-lite in install.
18965 * commands/parttool.c: Use grub_no_autoload to differentiate
18966 between grub-emu and grub-emu-lite.
18967 * include/grub/misc.h: New variable grub_no_autoload.
18968
18969 * conf/any-emu.rmk: New rules for grub-emu-lite.
18970 * configure.ac: Remove --enable-grub-emu-modules.
18971 * genmk.rb: Cleanup unnecessary rules.
18972 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
18973
18974 * normal/main.c: Don't load list files on grub-emu-lite.
18975 * util/misc.c (grub_arch_sync_caches): Removed.
18976
f86a4030
CW
189772010-08-23 Colin Watson <cjwatson@ubuntu.com>
18978
18979 * kern/mips/startup.S (grub_prefix): Update comment to refer to
18980 grub-mkimage rather than grub-mkelfimage.
18981 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
18982
06776944
VS
189832010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
18986 a key after CapsLock or NumLock. It's just a qemu bug.
18987
df262419
VS
189882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18989
18990 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
18991 needed by libusb wrapper.
18992
b40ea81b
ST
189932010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18994
18995 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18996
dee50575
VS
189972010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19000 --nounzip is passed.
19001
fb1d7b79
VS
190022010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 USB hotunplugging and USB serial support.
19005
19006 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19007 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19008 (grub_uhci_transfer): Respect timeout and set *actual.
19009 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19010 non-standard length.
19011 (grub_usb_device_attach): Autoload modules.
19012 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19013 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19014 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19015 users updated.
19016 (grub_usb_add_hub): Fill nports and children.
19017 (attach_root_port): Receive hub instead of controller.
19018 All users updated. Fill hub->devices.
19019 (grub_usb_root_hub): Allocate hub->devices.
19020 (detach_device): New function.
19021 (poll_nonroot_hub): Fill children and detach devices.
19022 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19023 actual arguments. All users updated.
19024 (grub_usb_bulk_read_extended): New function.
19025 * bus/usb/serial/common.c: New file.
19026 * bus/usb/serial/ftdi.c: Likewise.
19027 * bus/usb/serial/pl2303.c: Likewise.
19028 * commands/terminal.c (handle_command): Support wildcard.
19029 * commands/usbtest.c: Output "Unknown" instead of empty string.
19030 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19031 (usbserial_common_mod_SOURCES): New variable.
19032 (usbserial_common_mod_CFLAGS): Likewise.
19033 (usbserial_common_mod_LDFLAGS): Likewise.
19034 (pkglib_MODULES): Add usbserial_pl2303.mod.
19035 (usbserial_pl2303_mod_SOURCES): New variable.
19036 (usbserial_pl2303_mod_CFLAGS): Likewise.
19037 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19038 (pkglib_MODULES): Add usbserial_ftdi.mod.
19039 (usbserial_ftdi_mod_SOURCES): New variable.
19040 (usbserial_ftdi_mod_CFLAGS): Likewise.
19041 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19042 (pkglib_MODULES): Add serial.mod.
19043 (serial_mod_SOURCES): New variable.
19044 (serial_mod_CFLAGS): Likewise.
19045 (serial_mod_LDFLAGS): Likewise.
19046 * conf/i386-pc.rmk: Likewise.
19047 * conf/mips-yeeloong.rmk: Likewise.
19048 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19049 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19050 * disk/usbms.c (first_available_slot): New variable.
19051 (grub_usbms_attach): Don't reuse free slots due to potential cache
19052 problems.
19053 * include/grub/serial.h: Moved to ..
19054 * include/grub/ns8250.h: ...this.
19055 * include/grub/serial.h: New file.
19056 * include/grub/term.h (grub_term_poll_usb): New variable.
19057 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19058 readkey. All users updated.
19059 (grub_terminfo_output_state): Pass term to put.
19060 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19061 (grub_usb_controller_dev): Add timeout and actual arguments to
19062 transfer. All users updated.
19063 (grub_usb_interface): New field detach_data.
19064 (grub_usb_device): New fields children and nports.
19065 (grub_usb_ep_type_t): New type.
19066 (grub_usb_get_ep_type): New function.
19067 (grub_usb_bulk_read_extended): Likewise.
19068 * include/grub/usbdesc.h (grub_usb_desc): New type.
19069 * include/grub/usbserial.h: New file.
19070 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19071 * kern/term.c (grub_term_poll_usb): New variable.
19072 (grub_getkey): Call grub_term_poll_usb if set.
19073 (grub_checkkey): Likewise.
19074 (grub_getkeystatus): Likewise.
19075 * term/serial.c: Moved controller-specific parts to ...
19076 * term/ns8250.c: ... here.
19077 * term/serial.c: Mostly rewritten.
19078 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19079 according to spec.
19080
21a313de
RM
190812010-08-20 Robert Millan <rmh@gnu.org>
19082
19083 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19084 a separate module and maybe other interesting combinations.
19085
19086 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19087 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19088 (kfreebsd_entry): Add generic filesystem module load routine.
19089 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19090
63c734a6
CW
190912010-08-20 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19094 "numcenter" (I misunderstood the purpose of this entry).
19095 * docs/grub.texi (sendkey): Likewise.
19096
c4d16542
CW
190972010-08-20 Colin Watson <cjwatson@ubuntu.com>
19098
19099 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19100 status flag options; simply omitting the option is equivalent and
19101 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19102 (keysym_table): Rename "num5numlock" to "numlock".
19103 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19104 can uniformly say that only the last of multiple `sendkey'
19105 invocations has any effect.
19106 * docs/grub.texi (sendkey): New section.
19107
93541d66
CW
191082010-08-19 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * commands/i386/pc/sendkey.c (options): Fix three typos.
19111
b4ece5e1
VS
191122010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 Implement sendkey support.
19115
19116 * commands/i386/pc/sendkey.c: New file.
19117 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19118 (sendkey_mod_SOURCES): New variable.
19119 (sendkey_mod_CFLAGS): Likewise.
19120 (sendkey_mod_LDFLAGS): Likewise.
19121
51f1f5af
CW
191222010-08-18 Colin Watson <cjwatson@ubuntu.com>
19123
19124 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19125 fix warnings from Autoconf.
19126
9da94e05
CW
191272010-08-18 Colin Watson <cjwatson@ubuntu.com>
19128
19129 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19130 to avoid false positives with some assemblers that output things
19131 like "someprefix_func" as part of their output.
19132
729a0f2e
RM
191332010-08-15 Robert Millan <rmh@gnu.org>
19134
19135 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19136 errors.
19137 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19138 grub_get_libzfs_handle() errors.
19139
f3710e08
RM
191402010-08-14 Robert Millan <rmh@gnu.org>
19141
19142 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19143 filesystem is not ZFS.
19144
7a3c13de
BC
191452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19146
19147 Fix for misspelled color names defaulting to black/black (bug
19148 reported by Doug Nazar)
19149
19150 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19151 status to prototype.
19152 * normal/color.c (grub_parse_color_name_pair): Return failure
19153 status.
19154 (grub_env_write_color_normal): Ignore bad color names.
19155 (grub_env_write_color_highlight): Likewise.
19156 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19157
ab8ba50d
BC
191582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19159
19160 "shift" command support to GRUB script.
19161
19162 * include/grub/script_sh.h (grub_script_shift): New prototype.
19163 * script/execute.c (grub_script_shift): New function.
19164 * script/main.c (grub_script_init): Register shift command.
19165 (grub_script_fini): Unregister shift command.
19166 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19167
19168 * tests/grub_script_shift.in: New testcase.
19169 * conf/tests.rmk: Rules for new testcase.
19170
4d61999e
BC
191712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19172
19173 "continue" command support to GRUB script.
19174
19175 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19176 (grub_script_break): Continue support.
19177 * script/main.c (grub_script_init): Register continue command.
19178 (grub_script_fini): Unregister continue command.
19179
19180 * tests/grub_script_continue.in: New testcase.
19181 * conf/tests.rmk: Rules for new testcase.
19182
4df51e00
BC
191832010-08-12 BVK Chaitanya <bvk@dbook>
19184
19185 "break" command support to GRUB script.
19186
19187 * conf/common.rmk: Rule updates to grub-script-check.
19188 * include/grub/misc.h (grub_min): New function.
19189 * include/grub/script_sh.h (grub_script_init): New prototype.
19190 (grub_script_fini): New prototype.
19191 (grub_script_break): New prototype.
19192 * script/main.c (grub_script_init): New function.
19193 (grub_script_fini): New function.
19194 * script/execute.c (grub_script_break): New function.
19195 * normal/main.c: Calls to grub_script_{init,fini}.
19196 * util/grub-script-check.c (grub_script_break): New function.
19197
19198 * tests/grub_script_break.in: New testcase.
19199 * conf/tests.rmk: Rules for new test case.
19200
f12c8420
BC
192012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19202
19203 Function parameters support to GRUB script.
19204
19205 * script/yylex.l (VARIABLE): Regular expression update.
19206 * script/function.c (grub_script_function_call): Moved ...
19207 * script/execute.c (grub_script_function_call): ... to here.
19208 (grub_script_execute_arglist_to_argv): Removed.
19209 (grub_script_arglist_to_argv): New function.
19210 * script/argv.c: New file.
19211 (grub_script_argv_free): New function.
19212 (grub_script_argv_next): Likewise.
19213 (grub_script_argv_append): Likewise.
19214 (grub_script_argv_split_append): Likewise.
19215 * include/grub/script_sh.h (grub_script_argv): New struct.
19216 (grub_script_argv_free): New function.
19217 (grub_script_argv_next): Likewise.
19218 (grub_script_argv_append): Likewise.
19219 (grub_script_argv_split_append): Likewise.
19220
19221 * conf/common.rmk (normal.mod): New source script/argv.c.
19222
19223 * tests/grub_script_echo1.in: More tests.
19224 * tests/grub_script_vars1.in: Likewise.
19225 * tests/grub_script_functions.in: New test case.
19226 * conf/tests.rmk: Rules for new testcase.
19227
8022b748
BC
192282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19229
19230 Remove grub_script_cmdblock struct.
19231
19232 * include/grub/script_sh.h: Remove grub_script_cmdblock.
19233 * script/parser.y: Likewise.
19234 * script/execute.c: Rename cmdblock suffix to cmdlist.
19235 * script/script.c: Likewise.
19236 * util/grub-script-check.c: Likewise.
19237
79a6ba61
YB
192382010-08-11 Yves Blusseau <blusseau@zetam.org>
19239
19240 * .bzrignore: add grub-macho2img
19241
d04b9414
VS
192422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19245
f947ab49
VS
192462010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 Remove the dump of sm712 initialisation sequence.
19249
19250 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
19251 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
19252 (GRUB_VGA_IO_MISC_WRITE): Likewise.
19253 (GRUB_VGA_CR_*): Added many registers.
19254 (GRUB_VGA_SR_*): Likewise.
19255 (GRUB_VGA_GR_*): Likewise.
19256 (grub_vga_write_arx): New function.
19257 (grub_video_hw_config): New struct.
19258 (grub_vga_set_geometry): New function.
19259 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
19260 GRUB_PCI_CLASS_SUBCLASS_VGA.
19261 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
19262 * video/sm712.c (grub_sm712_write_reg): New function
19263 (grub_sm712_read_reg): Likewise.
19264 (grub_sm712_sr_write): Likewise.
19265 (grub_sm712_gr_write): Likewise.
19266 (grub_sm712_cr_write): Likewise.
19267 (grub_sm712_write_arx): Likewise.
19268 (grub_sm712_cr_shadow_write): Likewise.
19269 (grub_sm712_write_dda_lookup): Likewise.
19270 (grub_video_sm712_setup): Initialise the video rather then
19271 blindly replay the dump.
19272 (main) [TEST]: Add a routine to be able to compile as standalone for
19273 tests.
19274 * video/sm712_init.c (sm712_init): Removed.
19275 (sm712_sr_seq1): New array.
19276 (sm712_sr_seq2): Likewise.
19277
f0206638
VS
192782010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 * include/grub/vga.h: Add missing grub/pci.h include.
19281
2764da3b
YB
192822010-08-10 Yves Blusseau <blusseau@zetam.org>
19283
19284 * util/grub-macho2img.c (main): fix typo
19285
cf0c775e
VS
192862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19287
19288 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
19289 (grub_vga_gr_read): Likewise.
19290 (grub_vga_cr_write): Likewise.
19291 (grub_vga_cr_read): Likewise.
19292 (grub_vga_sr_write): Likewise.
19293 (grub_vga_sr_read): Likewise.
19294 (grub_vga_palette_read): Likewise.
19295 (grub_vga_palette_write): Likewise.
19296 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
19297 (grub_sm712_sr_read): New function.
19298 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
19299 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
19300
07f360e9
RM
193012010-08-09 Robert Millan <rmh@gnu.org>
19302
19303 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
19304 out unused variables on non-ZFS build.
19305
346c2072
RM
193062010-08-08 Robert Millan <rmh@gnu.org>
19307
19308 Fix path generation for sub-filesystems in ZFS.
19309
19310 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
19311 missing slash.
19312
71175420
RM
193132010-08-08 Robert Millan <rmh@gnu.org>
19314
19315 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19316
0d8286f3
RM
193172010-08-08 Robert Millan <rmh@gnu.org>
19318
19319 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
19320 exist, issue a proper error message (rely on `ls' for translated
19321 strings).
19322
55dd2924
RM
193232010-08-08 Robert Millan <rmh@gnu.org>
19324
19325 Fix grub-probe invocation.
19326
19327 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
19328
d3dd9e80
RM
193292010-08-04 Robert Millan <rmh@gnu.org>
19330
19331 * configure.ac: Remove checks for getfsstat() and getmntany().
19332 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
19333 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
19334 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
19335 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
19336 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
19337 function.
19338 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
19339 via find_mount_point_from_dir() and getfsstat() / getmntany().
19340
0de22aa9
RM
193412010-08-04 Robert Millan <rmh@gnu.org>
19342
19343 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19344 (grub_find_zpool_from_mount_point): Merge into ...
19345 (grub_find_zpool_from_dir): ... this.
19346 * kern/emu/misc.c: Likewise.
19347
19348 * kern/emu/misc.c
19349 (grub_make_system_path_relative_to_its_root): Replace
19350 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19351 with grub_find_zpool_from_dir().
19352 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19353
62858144
RM
193542010-08-04 Robert Millan <rmh@gnu.org>
19355
19356 Support OpenSolaris in ZFS device resolution.
19357
19358 * configure.ac: Check for getmntany().
19359 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19360 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19361 support.
19362
9dd6fd50
RM
193632010-08-03 Robert Millan <rmh@gnu.org>
19364
19365 Fix grub-emu build.
19366
19367 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19368 * include/grub/emu/misc.h: ... here.
19369
19370 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19371 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19372
19373 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19374 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19375 (grub_get_libzfs_handle): Move to ...
19376 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19377 (grub_get_libzfs_handle): ... here.
19378
c9f7ff97
BC
193792010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19380
19381 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19382 as command name case.
19383
a870a783
CW
193842010-08-02 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * disk/raid.c (insert_array): Select unique numbers for named arrays
19387 as well, for use as keys in the disk cache.
19388
c7db243b
RM
193892010-08-01 Robert Millan <rmh@gnu.org>
19390
19391 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19392 kFreeBSD device name, except on ZFS where the filesystem label is
19393 used.
19394 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19395 `/boot/zfs/zpool.cache'.
19396 Set mountfrom kernel variable using ${kfreebsd_device}.
19397
f7abdefb
RM
193982010-08-01 Robert Millan <rmh@gnu.org>
19399
19400 Make it even harder to use uninitialized `libzfs_handle' (and
19401 make the interface a bit simpler).
19402
19403 * include/grub/util/misc.h (grub_util_init_libzfs)
19404 (libzfs_handle): Remove.
19405 (grub_get_libzfs_handle): New prototype.
19406
19407 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19408 attribute.
19409 (grub_util_init_libzfs): Remove.
19410 (grub_get_libzfs_handle): New function.
19411
19412 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19413 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19414 accessing `libzfs_handle' directly.
19415
c882acc0
RM
194162010-08-01 Robert Millan <rmh@gnu.org>
19417
19418 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19419 (grub_find_zpool_from_mount_point): New function prototypes.
19420
19421 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19422 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19423
19424 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19425 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19426 `static' attribute.
19427
19428 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19429 finding zpool from mount point into ...
19430 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19431
19432 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19433 requested path is part of a ZFS pool, use
19434 grub_find_zpool_from_mount_point() to detect its filesystem name,
19435 and generate a path with `/fsname@path' syntax.
19436
8bfe31d8
CW
194372010-08-01 Colin Watson <cjwatson@ubuntu.com>
19438
19439 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19440 (void) rather than () so that this is a proper prototype.
19441
553df63d
VS
194422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19445
8687cf07
VS
194462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19449 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19450
ea9be8ea
CW
194512010-08-01 Colin Watson <cjwatson@ubuntu.com>
19452
19453 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19454
6eea041a
CW
194552010-08-01 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19458
2cfb45df
CW
194592010-08-01 Colin Watson <cjwatson@ubuntu.com>
19460
19461 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19462 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19463 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19464 disable gfxpayload.
19465 (Shell-like scripting): Add real content.
19466 (Serial terminal): Suggest `terminal_input serial; terminal_output
19467 serial' rather than putting the two commands on separate lines,
19468 since console input will be inoperative after the first command.
19469 (menuentry): Document --class, --users, and --hotkey options.
19470 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19471 Vladimir Serbinenko).
19472
7decd202
VS
194732010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
194742010-08-01 Colin Watson <cjwatson@ubuntu.com>
19475
19476 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19477
c882acc0
RM
194782010-08-01 Robert Millan <rmh@gnu.org>
19479
19480 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19481 (grub_find_zpool_from_mount_point): New function prototypes.
19482
19483 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19484 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19485
19486 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19487 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19488 `static' attribute.
19489
19490 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19491 finding zpool from mount point into ...
19492 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19493
19494 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19495 requested path is part of a ZFS pool, use
19496 grub_find_zpool_from_mount_point() to detect its filesystem name,
19497 and generate a path with `/fsname@path' syntax.
19498
deb0caa3
RM
194992010-08-01 Robert Millan <rmh@gnu.org>
19500
19501 Prevent accidental use of uninitialized libzfs_handle.
19502
19503 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19504 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19505 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19506
ce04ef47
CW
195072010-08-01 Colin Watson <cjwatson@ubuntu.com>
19508
19509 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19510 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19511
ebf53056
RM
195122010-08-01 Robert Millan <rmh@gnu.org>
19513
19514 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 19515
3710bb6b
RM
195162010-07-31 Robert Millan <rmh@gnu.org>
19517
19518 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19519
8072efeb
RM
195202010-07-31 Robert Millan <rmh@gnu.org>
19521
19522 * kern/emu/misc.c: Add missing license header.
19523
3169f4c7
RM
195242010-07-31 Robert Millan <rmh@gnu.org>
19525
19526 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19527
19528 * include/grub/util/libnvpair.h: Include `<config.h>'.
19529 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19530 declaring libnvpair prototypes ourselves.
19531 * include/grub/util/libzfs.h: Include `<config.h>'.
19532 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19533 declaring libzfs prototypes ourselves.
19534
19535 (libzfs_handle): Moved to ...
19536 * include/grub/util/misc.h (libzfs_handle): ... here.
19537 Include `<grub/util/libzfs.h>'.
19538
c9a00aee
RM
195392010-07-30 Robert Millan <rmh@gnu.org>
19540
19541 * include/grub/emu/misc.h: Add missing license header.
19542
a184f9c8
RM
195432010-07-30 Robert Millan <rmh@gnu.org>
19544
19545 Enable `grub-probe -t device' resolution on ZFS.
19546
19547 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19548 * include/grub/util/libnvpair.h: New file.
19549 * include/grub/util/libzfs.h: New file.
19550
19551 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19552 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19553 `<grub/util/libnvpair.h>'.
19554 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19555
19556 (find_mount_point_from_dir): New static function.
19557 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19558 function.
19559 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19560 find_root_device_from_libzfs() before ressorting to find_root_device().
19561
19562 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19563 prototype.
19564 * util/misc.c: Include `<grub/util/libzfs.h>'.
19565 (grub_util_init_libzfs): New function.
19566 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19567 [HAVE_LIBZFS] (fini_libzfs): New static function.
19568 (grub_util_init_libzfs): New function.
19569 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19570
f7790cdd
RM
195712010-07-30 Robert Millan <rmh@gnu.org>
19572
19573 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19574 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19575 `warn_unused_result' attribute.
19576 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19577 (grub_xasprintf, grub_xvasprintf): Likewise.
19578 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19579
0806b63c
RM
195802010-07-29 Robert Millan <rmh@gnu.org>
19581
19582 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19583 (probe): Handle `PRINT_FS_LABEL'.
19584 (main): Handle `-t fs_label'.
19585
9f841f5c
RM
195862010-07-29 Robert Millan <rmh@gnu.org>
19587
19588 * configure.ac: Remove grub-mkisofs checks.
19589
46371121
VS
195902010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19591
19592 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19593 Reported by: Lennart Sorensen.
19594
195952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19598 prior to terminal_input/terminal_output separation. It's been over 1.5
19599 years and those versions weren't widely deployed.
19600
a9600892
CW
196012010-07-22 Colin Watson <cjwatson@ubuntu.com>
19602
19603 * disk/raid.c (insert_array): Don't count named arrays when looking
19604 for unused array numbers.
697e053c 19605 Reported and tested by: Michael Guntsche.
a9600892 19606
c03507df
CW
196072010-07-20 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19610 implementation of this so that grub-emu links again, with a note
19611 that this should support hotplugging in the future.
19612
b26f1c11
CW
196132010-07-20 Colin Watson <cjwatson@ubuntu.com>
19614
19615 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19616
efc9d7f1
CW
196172010-07-20 Colin Watson <cjwatson@ubuntu.com>
19618
19619 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19620 handle on failure.
19621 (grub_loopback_close): Remove empty function.
19622 (grub_loopback_dev): Remove close method.
19623
dd8ff5c9
CW
196242010-07-20 Colin Watson <cjwatson@ubuntu.com>
19625
19626 Disable EFI cursor when the EFI console becomes inactive.
19627
19628 * term/efi/console.c (grub_efi_console_init): New function.
19629 (grub_efi_console_fini): New function.
19630 (grub_console_term_output): Register init and fini methods.
19631
5e3bec67
VS
196322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19635 sh script.
19636
afaec079
VS
196372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * disk/loopback.c (grub_loopback): Replace filename with file.
19640 (delete_loopback): Handle new semantics.
19641 (grub_cmd_loopback): Likewise.
19642 (grub_loopback_iterate): Likewise.
19643 (grub_loopback_close): Likewise.
19644
a6a11f3c
VS
196452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19648 with -p "".
19649 Reported by: Tito Keitel.
19650
64a638b0
VS
196512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * docs/grub.texi (Naming convention): Document new naming convention.
19654
ab8ba957
VS
196552010-07-20 Vadim Solomin <vadic052@gmail.com>
196562010-07-20 Colin Watson <cjwatson@ubuntu.com>
19657
19658 Generate device.map in something closer to the old ordering.
19659
19660 * util/deviceiter.c (struct device): New declaration.
19661 (compare_file_names): Rename to ...
19662 (compare_devices): ... this. Sort by kernel name in preference to
19663 the stable by-id name, but keep the latter as a fallback comparison.
19664 Update header comment.
19665 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19666 of `struct device' rather than of plain file names.
19667
a29d6a4b
TF
196682010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19669
19670 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19671 on i386.
19672
39d824e8
VS
196732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19676 hardcoding size.
19677 (setv1table): Likewise.
19678
f058276b
FZ
196792010-07-20 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19682 removing the homehost if present.
19683 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19684 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19685 removing the homehost if present.
19686 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19687 if possible.
19688 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19689
19690 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19691 parameter. Set its pointer target to 0.
19692 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19693 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19694 `data_offset' value from the superblock for 1.x metadata.
19695 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19696 data on the device.
19697 (insert_array): Record the start sector of data on the device.
19698 (grub_raid_register): Pass start_sector parameters to
19699 grub_raid_list->detect and insert_array.
19700 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19701 member.
19702 (struct grub_raid): Add start_sector parameter to `detect'.
19703
19704 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19705 __attribute__ ((packed)), leaving a comment.
19706 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19707 (grub_mdraid_detect_09): ... here and ...
19708 (grub_mdraid_detect_1x): ... here.
19709
197102010-07-20 Peter Henn <peter.henn@web.de>
19711
19712 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19713 chunk size and disk size, which are already given as sector counts
19714 as distinct from the 0.90 units. Fetch the correct device number
19715 from the role table instead of using the table index.
19716
197172010-07-20 Felix Zielcke <fzielcke@z-51.de>
19718
19719 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19720 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19721 (WriteMostly1): New macro.
19722 Set array->name to NULL for metadata format 0.90. Add support for
19723 metadata 1.x. Fix some comments.
19724 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19725 few comments.
19726 * util/getroot.c (grub_util_get_grub_dev): Add support for
19727 /dev/md/name style devices.
19728
4b761da9
CW
197292010-07-20 Colin Watson <cjwatson@ubuntu.com>
19730
19731 * .bzrignore: Ignore 20_linux_xen.
19732
5771289a
CW
197332010-07-17 Colin Watson <cjwatson@ubuntu.com>
19734
19735 * util/import_unicode.py: Remove unnecessary imports.
19736
5dab68df
AN
197372010-07-17 Aleš Nesrsta <starous@volny.cz>
19738
19739 Hotplugging and USB hub support.
19740
19741 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19742 (grub_ohci): Likewise.
19743 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19744 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19745 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19746 (GRUB_OHCI_CTRL_EDS): Likewise.
19747 (GRUB_OHCI_BULK_EDS): Likewise.
19748 (GRUB_OHCI_TDS): Likewise.
19749 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19750 (grub_ohci_ed_phys2virt): New function.
19751 (grub_ohci_virt_to_phys): Likewise.
19752 (grub_ohci_td_phys2virt): Likewise.
19753 (grub_ohci_td_virt2phys): Likewise.
19754 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19755 attachment.
19756 (grub_ohci_find_ed): New function.
19757 (grub_ohci_alloc_td): Likewise.
19758 (grub_ohci_free_td): Likewise.
19759 (grub_ohci_free_tds): Likewise.
19760 (grub_ohci_transfer): Use previously allocated memory.
19761 (grub_ohci_portstatus): Reset status changed bit.
19762 (grub_ohci_detect_dev): Supply status changed.
19763 (grub_ohci_fini_hw): Free memory.
19764 (grub_ohci_restore_hw): Reallocate memory.
19765 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19766 Reset status change.
19767 (grub_uhci_detect_dev): Supply status_change.
19768 * bus/usb/usb.c (attach_hooks): New var.
19769 (grub_usb_device_attach): New function.
19770 (grub_usb_register_attach_hook_class): Likewise.
19771 (grub_usb_unregister_attach_hook_class): Likewise.
19772 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19773 (grub_usb_add_hub): Reset connection changed bit.
19774 (attach_root_port): New function.
19775 (grub_usb_root_hub): Likewise.
19776 (poll_nonroot_hub): Likewise.
19777 (grub_usb_poll_devices): Likewise.
19778 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19779 * disk/usbms.c (grub_usbms_open): Use device hooks.
19780 (grub_usbms_iterate) :Poll devices.
19781 (grub_usbms_finddevs): Split into ...
19782 (grub_usbms_attach): ... this ...
19783 (grub_usbms_attach): ... and this.
19784 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19785 in detect_dev.
19786 (grub_usb_interface): New fields attached and detach_hook.
19787 (grub_usb_attach_hook_class): New type.
19788 (grub_usb_attach_desc): New struct.
19789 (grub_usb_register_attach_hook_class): New function.
19790 (grub_usb_unregister_attach_hook_class): Likewise.
19791 (grub_usb_poll_devices): Likewise.
19792 (grub_usb_device_attach): Likewise.
19793 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19794 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19795
3222efaf
VS
197962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19799 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19800 delta determination style. Works with most NetBSD partitions too.
19801
139b714a
VS
198022010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19805 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19806
986aad56
VS
198072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19810
99be513c
AB
198112010-07-14 Anton Blanchard <anton@samba.org>
19812
19813 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19814 ET_DYN files.
19815
18075f62
GS
198162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19817
19818 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19819
8d9a5b15
GS
198202010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19821
19822 * kern/partition.c (grub_partition_check_containment): New function to
19823 check that a partition is physically contained in a parent. Since
19824 offsets are relative (and non-negative), this reduces to checking that
19825 the partition ends before its parent.
19826 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19827 (grub_partition_iterate): Likewise.
19828 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19829 comments.
19830 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19831 partitions that start before their parent, and add debug printfs.
19832
19563c25
CW
198332010-07-13 Colin Watson <cjwatson@ubuntu.com>
19834
19835 * Makefile.in (.SUFFIX): Spell correctly, as ...
19836 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19837 bare module name without `.mod', e.g. `test') tried to invoke a
19838 Modula-2 compiler.
19839
1a1f1e67
CW
198402010-07-13 Colin Watson <cjwatson@ubuntu.com>
19841
19842 * README: Point to the Info manual.
19843
811b0dca
JS
198442010-07-13 Jiro SEKIBA <jir@unicus.jp>
19845
19846 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19847 2nd superblock position from partition size.
19848
e4f4eafc
CW
198492010-07-10 Colin Watson <cjwatson@ubuntu.com>
19850
19851 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19852 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19853 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19854 outputs.
19855
4274c30f
VS
198562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 Restructure SCSI .id handling.
19859 Reported and tested by: Aleš Nesrsta.
19860
19861 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19862 (grub_atapi_dev): Changed .name to "ata". New field .id.
19863 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19864 (grub_usbms_dev): New field .id.
19865 * disk/scsi.c (grub_scsi_iterate): Generate name.
19866 (grub_scsi_open): Parse name.
19867 * include/grub/scsi.h (grub_make_scsi_id): New function.
19868 (grub_scsi_dev): Change iterate and open to number instead of naming
19869 busses. All users updated.
19870 (grub_scsi): Remove name. Add .bus.
19871
5bc24388
VS
198722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * commands/help.c (grub_cmd_help): Fix a typo.
19875
249975ba
VS
198762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19879 Reported and tested by: Colin Watson.
19880
3eaac1a1
VS
198812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19882
19883 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19884 in this context.
19885
becce1b1
VS
198862010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
19889
f7bf0918
CW
198902010-07-07 Colin Watson <cjwatson@ubuntu.com>
19891
19892 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
19893 indentation.
19894
0b0f9620
CW
198952010-07-06 Colin Watson <cjwatson@ubuntu.com>
19896
19897 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
19898 and disk/raid6_recover.c.
19899 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19900 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19901
1e545469
CW
199022010-07-06 Colin Watson <cjwatson@ubuntu.com>
19903
19904 * term/gfxterm.c (repaint_schedulded): Rename to ...
19905 (repaint_scheduled): ... this. Update all callers.
19906 (repaint_was_schedulded): Rename to ...
19907 (repaint_was_scheduled): ... this. Update all callers.
19908
5357687a
CW
199092010-07-06 Colin Watson <cjwatson@ubuntu.com>
19910
19911 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
19912 which we expect to be handled by upper layers.
19913
29d7e783
BC
199142010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
19915
19916 * bus/usb/usbhub.c: #include time.h header.
19917
37582066
CW
199182010-07-06 Colin Watson <cjwatson@ubuntu.com>
19919
19920 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
19921 entry_name also for entries without stat blocks (e.g. ".."); fixes
19922 corruption of the first entry in a directory.
19923
c8c06953
CW
199242010-07-06 Colin Watson <cjwatson@ubuntu.com>
19925
19926 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
19927 after setting gfxterm as the active terminal. GRUB_BACKGROUND
19928 doesn't work otherwise.
19929
e75056f1
CW
199302010-07-05 Colin Watson <cjwatson@ubuntu.com>
19931
19932 * docs/grub.texi (Features): Update list of supported file systems.
19933 (GNU/Linux): Update for GRUB 2.
19934 (Serial terminal): Remove mention of --disable-serial, which was a
19935 GRUB Legacy configure option. Update instructions to use
19936 `terminal_input' and `terminal_output' rather than `terminal'.
19937 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
19938 configuration' and `Installing GRUB using grub-install'.
19939 (Menu entry editor): Update for GRUB 2.
19940 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
19941 Document new -a, -u, and -v options.
19942 (initrd): New section.
19943 (initrd16): New section.
19944 (linux): New section.
19945 (linux16): New section.
19946 (search): The `var' argument to `--set' is optional.
19947 (GRUB only offers a rescue shell): Go into a little more detail on
19948 drive ordering.
19949
5cf69151
CW
199502010-07-05 Colin Watson <cjwatson@ubuntu.com>
19951
19952 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
19953
e3f90044
CW
199542010-07-05 Colin Watson <cjwatson@ubuntu.com>
19955
19956 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
19957 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
19958
38d8f4f3
CW
199592010-07-05 Colin Watson <cjwatson@ubuntu.com>
19960
19961 * util/i386/pc/grub-setup.c (setup): Rename prefix to
19962 install_prefix, in line with install_dos_part and install_bsd_part.
19963 Add new prefix variable, which is copied to install_prefix after
19964 comparing core.img in memory with the one read from disk in the
19965 no-embedding case, and use that rather than overwriting
19966 install_prefix immediately when installing to a partition.
19967 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
19968 Bicakci.
19969
57ebd41e
GS
199702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19971
19972 * configure.ac: Avoid == in test command, it's not portable.
19973 * util/grub.d/30_os-prober.in: Likewise.
19974
cb7f64b2
CW
199752010-07-04 Colin Watson <cjwatson@ubuntu.com>
19976
19977 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
19978
6b654bb0
GS
199792010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19980
19981 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
19982 multiple (top-level) partmaps.
19983
72a2026d
VS
199842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 19987 Reported by: Tino Keitel.
72a2026d 19988
df3eb88f
VS
199892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 Bidi and diacritics support.
19992
19993 * Makefile.in (widthspec.bin): New target.
19994 (widthspec.h): Likewise.
19995 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19996 * autogen.sh: Generate unidata.c.
19997 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19998 * commands/ls.c (grub_ls_list_devices): Likewise.
19999 (grub_ls_list_files): Likewise.
20000 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20001 (grub_mini_cmd_lsmod): Likewise.
20002 * commands/read.c: Likewise.
20003 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20004 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20005 * lib/arg.c (grub_arg_show_help): Likewise.
20006 * lib/crypto.c (grub_password_get): Likewise.
20007 * normal/auth.c (grub_username_get): Likewise.
20008 * normal/misc.c (grub_normal_print_device_info): Likewise.
20009 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20010 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20011 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20012 (normal/charset.c_DEPENDENCIES): New variable.
20013 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20014 (pkglib_MODULES): Remove charset.mod.
20015 (charset_mod_SOURCES): Removed.
20016 (charset_mod_CFLAGS): Likewise.
20017 (charset_mod_LDFLAGS): Likewise.
20018 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20019 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20020 and term/tparm.c.
20021 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20022 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20023 (kernel_img_HEADERS): Add terminfo.h.
20024 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20025 Fill ->font. Reverse ascii bitmaps.
20026 (grub_font_get_xheight): New function.
20027 * font/font.c (grub_font_get_string_width): Moved from here ...
20028 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20029 * font/font.c (grub_font_draw_string): Moved from here ...
20030 * gfxmenu/font.c (grub_font_draw_string): ... here.
20031 * font/font.c (grub_font_dup_glyph): New function.
20032 (grub_font_blit_glyph): Likewise.
20033 (grub_font_blit_glyph_mirror): Likewise.
20034 (blit_comb): Likewise.
20035 (grub_font_construct_dry_run): Likewise.
20036 (grub_font_get_constructed_device_width): Likewise.
20037 (grub_font_construct_glyph): Likewise.
20038 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20039 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20040 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20041 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20042 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20043 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20044 (grub_font_get_xheight): New proto.
20045 (grub_font_get_constructed_device_width): Likewise.
20046 (grub_font_construct_glyph): Likewise.
20047 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20048 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20049 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20050 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20051 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20052 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20053 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20054 (grub_console_getcharwidth): Likewise.
20055 * include/grub/misc.h (grub_xputs): New proto.
20056 (grub_puts): Inlined.
20057 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20058 (grub_normal_get_line_counter): Removed.
20059 (grub_install_newline_hook): Likewise.
20060 (grub_normal_get_char_counter): New proto.
20061 (grub_normal_reset_more): Likewise.
20062 (grub_xputs_normal): Likewise.
20063 * include/grub/powerpc/ieee1275/console.h: Removed.
20064 * include/grub/sparc64/ieee1275/console.h: Likewise.
20065 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20066 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20067 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20068 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20069 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20070 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20071 (grub_term_input): Pass reference to self. All users updated.
20072 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20073 Pass reference to self. New fields normal_color, highlight_color and
20074 data. All users updated.
20075 (grub_putchar): Removed.
20076 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20077 (grub_unicode_estimate_width): New function.
20078 (grub_term_getcharwidth): Add defaults.
20079 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20080 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20081 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20082 (grub_cls): Remove EXPORT_FUNC.
20083 (grub_setcolorstate): Inline.
20084 (grub_newline_hook): Removed.
20085 * include/grub/terminfo.h: Rewritten. All users updated.
20086 * include/grub/unicode.h: New file.
20087 * include/grub/video.h (grub_video_signed_rect): New type.
20088 * kern/emu/console.c (grub_console_highlight_color): Removed.
20089 (grub_console_normal_color): Likewise.
20090 (grub_console_standard_color): Made static.
20091 (grub_ncurses_putchar): Remove mapping.
20092 (grub_ncurses_getcharwidth): Removed.
20093 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20094 (grub_ncurses_setcolor): Removed.
20095 (grub_ncurses_getcolor): Likewise.
20096 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20097 (grub_console_putchar): ... this.
20098 (grub_console_putchar): Handle argument difference.
20099 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20100 console_init_early and console_init_lately.
20101 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20102 * kern/misc.c (grub_puts): Removed.
20103 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20104 (grub_vsnprintf_real): Remove str = NULL support.
20105 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20106 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20107 * kern/term.c (grub_putcode): Renamed to ...
20108 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20109 (grub_putchar): Removed.
20110 (grub_xputs_dumb): New function.
20111 (grub_xputs): New variable.
20112 * lib/charset.c: Move from here ...
20113 * normal/charset.c: ... to here.
20114 (grub_ucs4_to_utf8): New function.
20115 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20116 (join_types): New variable.
20117 (unpack_join): New function.
20118 (bidi_types): New variable.
20119 (unpack_bidi): New function.
20120 (get_bidi_type): Likewise.
20121 (get_join_type): Likewise.
20122 (is_mirrored): Likewise.
20123 (grub_unicode_get_comb_type): Likewise.
20124 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20125 (is_type_after): Likewise.
20126 (grub_unicode_aglomerate_comb): Likewise.
20127 (bidi_line_wrap): Likewise.
20128 (grub_bidi_line_logical_to_visual): Likewise.
20129 (grub_bidi_logical_to_visual): Likewise.
20130 (grub_unicode_mirror_code): Likewise.
20131 (grub_unicode_shape_code): Likewise.
20132 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20133 Don't use grub_putchar.
20134 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20135 (grub_normal_reader_init): Likewise.
20136 (grub_xputs_saved): New variable.
20137 (GRUB_MOD_INIT): Set grub_xputs.
20138 (GRUB_MOD_FINI): Restore grub_xputs.
20139 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20140 (menu_init): Avoid printing gfxmenu error.
20141 (show_menu): Use grub_normal_get_char_counter.
20142 * normal/menu_entry.c (update_screen): Fix out-of-array.
20143 (complete): Avoid NULL dereferencing.
20144 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20145 * normal/menu_text.c (print_spaces): Removed.
20146 (grub_print_ucs4): Likewise.
20147 (grub_print_message_indented): Use grub_print_ucs4.
20148 (print_message): Use grub_putcode.
20149 (print_entry): Hanlde diacritics.
20150 * normal/term.c (term_state): New type.
20151 (grub_more_lines): Removed.
20152 (term_states): New variable.
20153 (grub_normal_line_counter): Renamed to ..
20154 (grub_normal_char_counter): ...this. All users updated.
20155 (grub_normal_get_line_counter): Renamed to ...
20156 (grub_normal_get_char_counter): ... this.
20157 (grub_normal_reset_more): New function.
20158 (process_newline): Removed.
20159 (print_more): New function.
20160 (grub_install_newline_hook): Removed.
20161 (map_code): New function.
20162 (grub_puts_terminal): Use grub_print_ucs4.
20163 (putglyph): New function.
20164 (putcode_real): Likewise.
20165 (grub_putcode): Use putcode_real.
20166 (get_maxwidth): New function.
20167 (get_startwidth): Likewise.
20168 (print_ucs4_terminal): Likewise.
20169 (find_term_state): Likewise.
20170 (put_glyphs_terminal): Likewise.
20171 (print_backlog): Likewise.
20172 (print_ucs4_real): Likewise.
20173 (grub_print_ucs4): Likewise.
20174 (grub_xputs_normal): Likewise.
20175 * term/efi/console.c (grub_console_putchar): Output diacritics.
20176 (grub_console_getcharwidth): Removed.
20177 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20178 * term/gfxterm.c (clear_char): Free chars.
20179 (scroll_up): Avoid leaking memory.
20180 (grub_gfxterm_putchar): Support diacritics.
20181 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20182 * term/i386/pc/console.c (grub_console_term_output): Declare as
20183 GRUB_TERM_CODE_TYPE_VGA.
20184 * term/i386/pc/vga.c (grub_vga_term): Declare as
20185 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
20186 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
20187 GRUB_TERM_CODE_TYPE_VGA.
20188 * term/i386/vga_common.c (map_char): Removed.
20189 (grub_console_putchar): Likewise.
20190 (grub_console_getcharwidth): Likewise.
20191 * term/ieee1275/ofconsole.c: Simplify using terminfo.
20192 (colors): Reordered to match terminfo.
20193 (grub_ofconsole_normal_color): Removed.
20194 (grub_ofconsole_writeesc): Likewise.
20195 (grub_ofconsole_highlight_color): Likewise.
20196 (grub_ofconsole_getcharwidth): Likewise.
20197 (grub_ofconsole_setcolorstate): Likewise.
20198 (grub_ofconsole_setcolor): Likewise.
20199 (grub_ofconsole_getcolor): Likewise.
20200 (grub_ofconsole_readkey): Renamed to ...
20201 (readkey): ... this. Remove escape sequence handling. Return -1 on no
20202 key.
20203 (grub_ofconsole_checkkey): Removed.
20204 (grub_ofconsole_getkey): Likewise.
20205 (grub_ofconsole_getxy): Likewise.
20206 (grub_ofconsole_gotoxy): Likewise.
20207 (grub_ofconsole_cls): Likewise.
20208 (grub_ofconsole_refresh): Likewise.
20209 (grub_ofconsole_terminfo_input): New struct.
20210 (grub_ofconsole_terminfo_output): Likewise.
20211 (grub_ofconsole_term_input): Use terminfo.
20212 (grub_ofconsole_term_output): Likewise.
20213 (grub_console_init): Split into ...
20214 (grub_console_init_early): ...this and ...
20215 (grub_console_init_lately): ...this. Use terminfo.
20216 (grub_ofconsole_putchar): Renamed to ...
20217 (put): ... this. Remove mapping.
20218 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20219 * term/serial.c: Simplify using terminfo.
20220 (xpos): Removed.
20221 (ypos): Likewise.
20222 (keep_track): Likewise.
20223 (registered): Likewise.
20224 (input_buf): Likewise.
20225 (npending): Likewise.
20226 (serial_translate_key_sequence): Likewise.
20227 (fill_input_buf): Likewise.
20228 (grub_serial_checkkey): Likewise.
20229 (grub_serial_getkey): Likewise.
20230 (grub_serial_getxy): Likewise.
20231 (grub_serial_gotoxy): Likewise.
20232 (grub_serial_putchar): Likewise.
20233 (grub_serial_cls): Likewise.
20234 (grub_serial_setcolorstate): Likewise.
20235 (grub_serial_setcursor): Likewise.
20236 (serial_hw_init): Use serial_hw_fetch.
20237 (grub_serial_terminfo_input): New variable.
20238 (grub_serial_terminfo_output): Likewise.
20239 (grub_serial_term_input): Use terminfo.
20240 (grub_serial_term_output): Likewise.
20241 * term/terminfo.c (putstr): Use put.
20242 (grub_terminfo_all_free): New function
20243 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
20244 (grub_terminfo_output_register): New function.
20245 (grub_terminfo_output_unregister): Likewise.
20246 (grub_terminfo_getxy): Likewise.
20247 (grub_terminfo_readkey): Likewise.
20248 (grub_terminfo_checkkey): Likewise.
20249 (grub_terminfo_getkey): Likewise.
20250 (grub_terminfo_input_init): Likewise.
20251 (print_terminfo): Likewise.
20252 (grub_cmd_terminfo): Handle encoding.
20253 (grub_terminfo_gotoxy): Track position.
20254 (grub_terminfo_cls): Likewise.
20255 (grub_terminfo_putchar): Likewise.
20256 (grub_terminfo_setcolorstate): Handle colors
20257 (grub_terminfo_cursor_on): This ...
20258 (grub_terminfo_cursor_off): ... and this merged into ...
20259 (grub_terminfo_setcursor): ... this.
20260 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
20261 * unicode/ArabicShaping.txt: New file (imported from Unicode).
20262 * unicode/BidiMirroring.txt: Likewise.
20263 * unicode/UnicodeData.txt: Likewise.
20264 * unicode/COPYING: Likewise.
20265 * util/grub-editenv.c (grub_putchar): Removed.
20266 (grub_xputs_real): New function.
20267 (grub_xputs): New variable.
20268 * util/grub-fstest.c (grub_putchar): Removed.
20269 (grub_xputs_real): New function.
20270 (grub_xputs): New variable.
20271 * util/grub-mkdevicemap.c (grub_putchar): Removed.
20272 (grub_xputs_real): New function.
20273 (grub_xputs): New variable.
20274 * util/grub-probe.c (grub_putchar): Removed.
20275 (grub_xputs_real): New function.
20276 (grub_xputs): New variable.
20277 * util/grub-script-check.c (grub_putchar): Removed.
20278 (grub_xputs_real): New function.
20279 (grub_xputs): New variable.
20280 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
20281 (grub_xputs_real): New function.
20282 (grub_xputs): New variable.
20283 * util/import_unicode.py: New file.
20284 * util/grub-mkfont.c (ft_errmsgs): New array.
20285 (grub_glyph_info): Make bitmap a pointer.
20286 (file_formats): New type WIDTH_SPEC.
20287 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
20288 (options): Add width-spec.
20289 (help): Likewise.
20290 (add_char): Renamed to ...
20291 (add_glyph): ... this.
20292 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
20293 (glyph_replace): New type.
20294 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
20295 (add_char): New function.
20296 (add_subst): Likewise.
20297 (process_cursive): Likewise.
20298 (add_font): Handle GSUB.
20299 (write_font_width_spec): New function.
20300 (main): Sort glyphs.
20301 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
20302 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
20303 * kern/term.c (grub_cls): Moved from here...
20304 * normal/term.c (grub_cls): ... here.
20305
50f0bcda
CW
203062010-07-02 Colin Watson <cjwatson@ubuntu.com>
20307
20308 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
20309 suitable for using within the format argument of printf when
20310 converting grub_size_t.
20311 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
20312 "x" to convert grub_size_t arguments.
20313
40372103
VS
203142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
20317 too long captions.
20318 (list_get_minimal_size): Take selection box into account.
20319
942a10c7
VS
203202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
20323 NULL font.
20324
2bdb2892
CW
203252010-07-02 Colin Watson <cjwatson@ubuntu.com>
20326
20327 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
20328 devices when iterating over /dev/disk/by-id; they will be handled
20329 later if appropriate, which they aren't always (e.g. LVM).
20330
e03ed6c1
CW
203312010-07-02 Colin Watson <cjwatson@ubuntu.com>
20332
20333 * include/grub/misc.h (grub_reboot): Declare as noreturn.
20334 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
20335 fails.
20336 (grub_halt): Likewise.
20337 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
20338 reset-all fails.
20339 (grub_halt): Don't return, even if all of shut-down, power-off, and
20340 poweroff fail.
20341
47695765
CW
203422010-07-02 Colin Watson <cjwatson@ubuntu.com>
20343
20344 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
20345 arguments, not three.
20346
507736c8
CW
203472010-07-02 Colin Watson <cjwatson@ubuntu.com>
20348
20349 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20350 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20351 LVM-on-RAID is handled correctly.
20352
e3c8cd37
CW
203532010-07-02 Colin Watson <cjwatson@ubuntu.com>
20354
20355 * docs/grub.texi (Changes from GRUB Legacy): New section.
20356 (Future): Fix typo.
20357
8d4a2fec
CW
203582010-07-02 Colin Watson <cjwatson@ubuntu.com>
20359
20360 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20361 grub.d/README accidentally ends up executable for one reason or
20362 another. Ignore it.
20363
1c4827be
VS
203642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20367 (gpt_partition_map_iterate): Support non-512B sectors.
20368
d9a0c941
VS
203692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20372 Tested by: Seth Goldberg.
20373
48f27e87
VS
203742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20377 Properly align mbi.
20378 Reported by: Seth Goldberg.
20379
b0c4f956
VS
203802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 * util/grub-mkrescue.in: Avoid module duplication.
20383
105a2e8c
SF
203842010-07-01 Sean Finney <seanius@seanius.net>
20385
20386 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20387
5944958c
SF
203882010-07-01 Sean Finney <seanius@seanius.net>
20389
20390 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20391
203922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * disk/lvm.c (grub_lvm_checkvalue): New function.
20395 (grub_lvm_check_flag): Likewise.
20396
b79889ba
RM
203972010-07-01 Robert Millan <rmh@gnu.org>
20398
20399 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20400 Support 'p' as partition separator on kernel of FreeBSD (used
20401 with GPT labels).
20402 (grub_util_biosdisk_get_grub_dev): Likewise.
20403
ec1d04f1
VS
204042010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 Yeeloong firmware port.
20407
20408 * boot/mips/yeeloong/fwstart.S: New file.
20409 * bus/cs5536.c (gpiodump): New const.
20410 (set_io_space): New function.
20411 (set_iod): Likewise.
20412 (set_p2d): Likewise.
20413 (grub_cs5536_init_geode): Likewise.
20414 * commands/mips/yeeloong/lsspd.c: New file.
20415 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20416 (serial_mod_SOURCES): New variable.
20417 (serial_mod_CFLAGS): Likewise.
20418 (serial_mod_LDFLAGS): Likewise.
20419 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20420 term/terminfo.c and term/tparm.c.
20421 (pkglib_IMAGES): Add fwstart.img.
20422 (fwstart_img_SOURCES): New variable.
20423 (fwstart_img_CFLAGS): Likewise.
20424 (fwstart_img_ASFLAGS): Likewise.
20425 (fwstart_img_LDFLAGS): Likewise.
20426 (fwstart_img_FORMAT): Likewise.
20427 (pkglib_MODULES): Add lsspd.mod.
20428 (lsspd_mod_SOURCES): New variable.
20429 (lsspd_mod_CFLAGS): Likewise.
20430 (lsspd_mod_LDFLAGS): Likewise.
20431 (pkglib_MODULES): Add halt.mod.
20432 (halt_mod_SOURCES): New variable.
20433 (halt_mod_CFLAGS): Likewise.
20434 (halt_mod_LDFLAGS): Likewise.
20435 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20436 (serial_mod_SOURCES): Removed.
20437 (serial_mod_CFLAGS): Likewise.
20438 (serial_mod_LDFLAGS): Likewise.
20439 * disk/ata.c (check_device): New function.
20440 (grub_ata_device_initialize): Use check_device.
20441 (grub_ata_iterate): Recheck devices.
20442 (grub_ata_open): Likewise.
20443 (grub_atapi_iterate): Likewise.
20444 (grub_atapi_open): Likewise.
20445 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20446 (GRUB_ATA_CH1_PORT1): Likewise.
20447 (GRUB_ATA_CH0_PORT2): Likewise.
20448 (GRUB_ATA_CH1_PORT2): Likewise.
20449 * include/grub/mips/loongson.h: New file.
20450 * include/grub/mips/yeeloong/ec.h: Likewise.
20451 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20452 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20453 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20454 * include/grub/misc.h (grub_halt): Declare as noreturn.
20455 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20456 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20457 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20458 (UART_ENABLE_DTRRTS): Likewise.
20459 (UART_ENABLE_MODEM): Removed.
20460 (UART_ENABLE_OUT2): New const.
20461 * include/grub/term.h (grub_term_register_input_active): New function.
20462 (grub_term_register_output_active): Likewise.
20463 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20464 argument.
20465 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20466 (init_pci): New function.
20467 (grub_machine_init): Execute platform init when firmware. Init serial.
20468 (grub_halt): Implement.
20469 (grub_exit): Likewise.
20470 (grub_reboot): Likewise.
20471 * term/serial.c (serial_hw_init): Update macros.
20472 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20473 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20474 (image_targets): New target mipsel-yeeloong-flash.
20475 (generate_image): Support IMAGE_YEELOONG_FLASH.
20476 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20477 (grub_video_sm712_setup): Init card.
20478 (grub_video_sm712_set_palette): Removed.
20479 * video/sm712_init.c: New file.
20480
ff4a70d2
CW
204812010-06-30 Colin Watson <cjwatson@ubuntu.com>
20482
20483 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20484 PATH when running help2man and then run it on the unadorned
20485 executable names, rather than passing $(builddir)/* paths to
20486 help2man. This avoids the build directory ending up in generated
20487 manual pages.
20488
1246efeb
CW
204892010-06-29 Colin Watson <cjwatson@ubuntu.com>
20490
20491 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20492 to avoid accidents when debugging with 'sh -x'.
20493 * util/grub-mkrescue.in: Likewise.
20494 * util/grub.d/00_header.in: Likewise.
20495 * util/grub.d/10_hurd.in: Likewise.
20496 * util/grub.d/10_kfreebsd.in: Likewise.
20497 * util/grub.d/10_linux.in: Likewise.
20498 * util/grub.d/10_netbsd.in: Likewise.
20499 * util/grub.d/10_windows.in: Likewise.
20500 * util/grub.d/20_linux_xen.in: Likewise.
20501 * util/grub.d/30_os-prober.in: Likewise.
20502 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20503
1ba9b889
CW
205042010-06-29 Colin Watson <cjwatson@ubuntu.com>
20505
20506 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20507 last character in the buffer.
20508 Reported by: Vladimir Serbinenko.
20509
dccaf99d
RM
205102010-06-29 Robert Millan <rmh@gnu.org>
20511
20512 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20513 (Command-line and menu entry commands): Document `badram' command.
20514
d500ed12
RM
205152010-06-28 Robert Millan <rmh@gnu.org>
20516
20517 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20518 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20519 command using ${GRUB_BADRAM} as parameter.
20520
20bc84a6
CW
205212010-06-28 Colin Watson <cjwatson@ubuntu.com>
20522
20523 * docs/grub.texi (Device map): New section.
20524 (Themes): New section (stub).
20525 * Makefile.in (docs/grub.info): The info documentation now builds
20526 without errors. Make sure it stays that way.
20527
4045dee1
VS
205282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 Use normal parser for menu entries.
20531 Reported by: Thomas Frauendorfer
20532
20533 * include/grub/parser.h (grub_parser_execute): Don't export.
20534 * normal/menu.c (grub_menu_execute_entry_real): New function.
20535 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20536
bca58c7b
CW
205372010-06-28 Colin Watson <cjwatson@ubuntu.com>
20538
20539 * docs/grub.texi (Embedded configuration): New section (replacing
20540 old "Preset Menu" stub).
20541 (Images): New section.
20542 (configfile): Note that any menu entries defined in `file' are shown
20543 immediately.
20544
dec53e63
JT
205452010-06-28 Josh Triplett <josh@joshtriplett.org>
20546
20547 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20548
c06e40f7
CW
205492010-06-28 Colin Watson <cjwatson@ubuntu.com>
20550
20551 * util/grub-install.in: Add --debug-image= option.
20552
cb88052b
CW
205532010-06-28 Colin Watson <cjwatson@ubuntu.com>
20554
20555 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20556 possible on Linux.
20557
20558 * util/deviceiter.c (check_device): Rename to ...
20559 (check_device_readable_unique): ... this. Update all callers.
20560 Maintain and check a list of which devices (by canonicalized name)
20561 have already been seen.
20562 (clear_seen_devices): New function.
20563 (compare_file_names) [__linux__]: New function.
20564 (grub_util_iterate_devices): Clear the list of seen devices on exit
20565 and (just in case) on entry.
20566 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20567 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20568 seen-devices list, superseded by general code in check_device.
20569
bbe34652
CW
205702010-06-28 Colin Watson <cjwatson@ubuntu.com>
20571
20572 * commands/cat.c (options): New variable.
20573 (grub_cmd_cat): Parse options. If the --dos option is given, print
20574 DOS-style "\r\n" line endings as simple newlines (Debian bug
20575 #586358).
20576 (GRUB_MOD_INIT): Use extcmd.
20577 (GRUB_MOD_FINI): Likewise.
20578 * docs/grub.texi (cat): Document --dos.
20579
412e09f3
VS
205802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 XEN with Linux grub-mkconfig support.
20583
20584 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20585 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20586 GRUB_CMDLINE_XEN_DEFAULT.
20587 * util/grub.d/20_linux_xen.in: New file.
20588
53f3ef38 205892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
20590
20591 Initialise VGA video on qemu ourselves.
20592
20593 * boot/i386/qemu/boot.S: Don't call 0xc000.
20594 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20595 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20596 (kernel_img_HEADERS): Add pci.h.
20597 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20598 * configure.ac: Force unifont on qemu and yeeloong.
20599 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20600 (grub_vga_palette_write): Use correct register.
20601 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20602 Call grub_qemu_init_cirrus.
20603 * kern/i386/qemu/init.c: New file.
20604 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20605
20606 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20607
c75be4fb
PR
206082010-06-26 Pavel Roskin <proski@gnu.org>
20609
20610 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20611 13.
20612
d8034603
CW
206132010-06-26 Colin Watson <cjwatson@ubuntu.com>
20614
20615 * docs/grub.texi (Simple configuration): Explain that
20616 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20617 set to `true' to disable their respective recovery entries, not
20618 merely set.
20619
3fa06487
CW
206202010-06-26 Colin Watson <cjwatson@ubuntu.com>
20621
20622 Make the `source' command slightly faster.
20623
20624 * normal/main.c (grub_normal_execute): Don't re-read list files when
20625 nested.
20626
e9b29642
CW
206272010-06-23 Colin Watson <cjwatson@ubuntu.com>
20628
20629 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20630 field position and mask size to red fields from mode_info, not
20631 green.
20632 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20633 Remove redundant tag->common.framebuffer_type assignment.
20634 Reported by: Seth Goldberg.
20635
e726542f
CW
206362010-06-23 Colin Watson <cjwatson@ubuntu.com>
20637
20638 Sync up other versions of the Linux loader with Robert Millan's
20639 change of 2010-01-09, "Make loader output a bit more user-friendly".
20640
20641 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20642 grub_dprintf().
20643 (grub_cmd_linux): Likewise.
20644 (grub_cmd_initrd): Likewise.
20645 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20646 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20647
d6e98a17
CW
206482010-06-21 Colin Watson <cjwatson@ubuntu.com>
20649
20650 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20651 larger than MEMORY_MAP_SIZE.
20652
14d3f08e
BC
206532010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20654
20655 Fix parallel build.
20656
20657 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20658 dependency.
20659 * script/parser.y: #include grub_script.tab.h header.
20660
4f9613a3
VS
206612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 Support >3GiB and <16MiB RAM in i386-qemu.
20664
20665 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20666 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20667 (grub_lower_mem): Removed.
20668 (grub_upper_mem): Likewise.
20669 (mem_size): Made static.
20670 (above_4g): New variable.
20671 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20672 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20673 support.
20674
05e51879
VS
206752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 Cirrus 5446 and Bochs video cards support.
20678
20679 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20680 video_bochs.mod
20681 (video_cirrus_mod_SOURCES): New variable.
20682 (video_cirrus_mod_CFLAGS): Likewise.
20683 (video_cirrus_mod_LDFLAGS): Likewise.
20684 (video_bochs_mod_SOURCES): Likewise.
20685 (video_bochs_mod_CFLAGS): Likewise.
20686 (video_bochs_mod_LDFLAGS): Likewise.
20687 * include/grub/vga.h: New file.
20688 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20689 (grub_video_fb_set_page_t): New type.
20690 (grub_video_fb_setup): New prototype.
20691 (grub_video_fb_swap_buffers): Likewise.
20692 (grub_video_fb_get_info_and_fini): Likewise.
20693 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20694 (CRTC_DATA_PORT): Likewise.
20695 (CRTC_CURSOR): Likewise.
20696 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20697 (CRTC_CURSOR_ADDR_LOW): Likewise.
20698 (CRTC_CURSOR_DISABLE): Likewise.
20699 (update_cursor): Use grub_vga_cr_write.
20700 (grub_vga_text_setcursor): Likewise.
20701 * video/bochs.c: New file.
20702 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20703 (palette): Likewise.
20704 (palette_size): Likewise.
20705 (framebuffer): New variable.
20706 (grub_video_fb_init): Use 'framebuffer'.
20707 (grub_video_fb_fini): Likewise.
20708 (grub_video_fb_get_info): Likewise.
20709 (grub_video_fb_get_palette): Likewise.
20710 (grub_video_fb_set_palette): Likewise.
20711 (grub_video_fb_set_viewport): Likewise.
20712 (grub_video_fb_get_viewport): Likewise.
20713 (grub_video_fb_map_color): Likewise.
20714 (grub_video_fb_map_rgb): Likewise.
20715 (grub_video_fb_map_rgba): Likewise.
20716 (grub_video_fb_unmap_color): Likewise.
20717 (grub_video_fb_unmap_color_int): Likewise.
20718 (grub_video_fb_fill_rect): Likewise.
20719 (grub_video_fb_blit_bitmap): Likewise.
20720 (grub_video_fb_blit_render_target): Likewise.
20721 (grub_video_fb_scroll): Likewise.
20722 (grub_video_fb_create_render_target): Likewise.
20723 (grub_video_fb_doublebuf_blit_init): Likewise.
20724 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20725 (doublebuf_pageflipping_update_screen): New function.
20726 (doublebuf_pageflipping_init): Likewise.
20727 (grub_video_fb_setup): Likewise.
20728 (grub_video_fb_swap_buffers): Likewise.
20729 (grub_video_fb_get_info_and_fini): Likewise.
20730 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20731 All users updated.
20732 (doublebuf_pageflipping_commit): Restructured into ...
20733 (doublebuf_pageflipping_set_page): ... this.
20734 (doublebuf_pageflipping_update_screen): Removed.
20735 (doublebuf_pageflipping_init): Likewise.
20736 (double_buffering_init): Likewise.
20737 (grub_video_vbe_setup): Use grub_video_fb_setup.
20738 (grub_video_vbe_swap_buffers): Removed.
20739 (grub_video_vbe_set_active_render_target): Likewise.
20740 (grub_video_vbe_get_active_render_target): Likewise.
20741 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20742 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20743 grub_video_fb_set_active_render_target and
20744 grub_video_fb_get_active_render_target.
20745 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20746 (SEQUENCER_DATA_PORT): Likewise.
20747 (MAP_MASK_REGISTER): Likewise.
20748 (CRTC_ADDR_PORT): Likewise.
20749 (CRTC_DATA_PORT): Likewise.
20750 (START_ADDR_HIGH_REGISTER): Likewise.
20751 (START_ADDR_LOW_REGISTER): Likewise.
20752 (GRAPHICS_ADDR_PORT): Likewise.
20753 (GRAPHICS_DATA_PORT): Likewise.
20754 (READ_MAP_REGISTER): Likewise.
20755 (INPUT_STATUS1_REGISTER): Likewise.
20756 (INPUT_STATUS1_VERTR_BIT): Likewise.
20757 (get_map_mask): Use grub_vga_sr_read.
20758 (set_map_mask): Use grub_vga_sr_write.
20759 (set_read_map): Use grub_vga_gr_write.
20760 (set_start_address): Use grub_vga_cr_write.
20761 * video/sm712.c (framebuffer): Remove leftover fields.
20762
4321c64a
CW
207632010-06-20 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20766 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20767 instead. Replace the gfxterm backend check with a check that
20768 ${GRUB_PREFIX}/video.lst is non-empty.
20769 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20770 again.
20771 (load_video): New generated function. Call it before loading
20772 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20773 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20774 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20775 * docs/grub.texi (Simple configuration): Document
20776 GRUB_VIDEO_BACKEND.
20777
207782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 Use video functions in linux and xnu loaders.
20781
20782 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20783 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20784 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20785 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20786 loader/i386/pc/linux.c.
20787 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20788 (find_line_len): Removed.
20789 (find_framebuf): Likewise.
20790 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20791 * loader/i386/efi/xnu.c: Removed.
20792 * loader/i386/pc/xnu.c: Moved from here...
20793 * loader/i386/xnu.c: ...here.
20794
20795 Enable priorities in video drivers.
20796
20797 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20798 (grub_video_adapter): New field prio.
20799 (grub_video_register): Respect prio when inserting.
20800 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20801 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20802 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20803 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20804 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20805 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20806 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20807
20808 Fix SDL driver ID.
20809
20810 * include/grub/video.h (grub_video_driver_id_t): New value
20811 GRUB_VIDEO_DRIVER_SDL.
20812 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20813
7d24e434
CW
208142010-06-17 Colin Watson <cjwatson@ubuntu.com>
20815
20816 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20817 argument to printf.
20818 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20819
c88a83f6
CW
208202010-06-17 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20823 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20824
094dfb69
CW
208252010-06-17 Colin Watson <cjwatson@ubuntu.com>
20826
20827 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20828 directly, and recommend grub-install instead.
20829 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20830
2164da6b
CW
208312010-06-17 Colin Watson <cjwatson@ubuntu.com>
20832
20833 Fix i386-pc prefix handling with nested partitions (Debian bug
20834 #585068). Note that the case where the core image is booted using
20835 multiboot and relocated from its original location still requires
20836 more work.
20837
20838 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20839 with "(,", fill the boot drive in between those two characters, but
20840 expect that a full partition specification including partition map
20841 names will follow.
20842 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20843 specified, write a prefix without the drive name but including a
20844 full partition specification.
20845
044e2e60
CW
208462010-06-16 Colin Watson <cjwatson@ubuntu.com>
20847
20848 * util/grub-mkconfig.in: Ignore non-option arguments, for
20849 compatibility with older versions (before 2010-06-12) which did the
20850 same. In particular, this makes it easier to ship an update-grub
20851 wrapper which is compatible with that used with GRUB Legacy (Debian
20852 bug #586056).
20853
5591324f
GS
208542010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20855
20856 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20857 for manual page generation.
20858
662e24d5
GS
208592010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20860
20861 * po/POTFILES: Remove leftover commands/handler.c.
20862
8d70754e
CW
208632010-06-14 Colin Watson <cjwatson@ubuntu.com>
20864
20865 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20866 left this script non-functional.
20867
41160e2e
CW
208682010-06-14 Colin Watson <cjwatson@ubuntu.com>
20869
20870 * docs/man/grub-emu.h2m: New file.
20871
b5309cc1
CW
208722010-06-13 Colin Watson <cjwatson@ubuntu.com>
20873
20874 * docs/grub.texi (Commands): Document reduced command set in rescue
20875 mode.
20876 (cpuid): New section.
20877
fcb2d090
GS
208782010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20879
20880 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20881 new partition naming style.
20882 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20883
96e5c556
BC
208842010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20885
20886 Add "-o grub.iso" like cmdline options support.
20887
20888 * util/grub-install.in: Improve cmdline option parsing.
20889 * util/grub-mkconfig.in: Likewise.
20890 * util/grub-mkrescue.in: Likewise.
20891 * util/grub-reboot.in: Likewise.
20892 * util/grub-set-default.in: Likewise.
20893 * util/i386/efi/grub-install.in: Likewise.
20894 * util/ieee1275/grub-install.in: Likewise.
20895 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20896
c16be99b
CW
208972010-06-12 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * .bzrignore: Ignore 41_custom.
20900
ce08a9fb
TS
209012010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20902
20903 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
20904
7beac90c
CW
209052010-06-12 Colin Watson <cjwatson@ubuntu.com>
20906
20907 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
20908 prototype declarations.
20909
20910 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
20911 generating fs, partmap, and video lists.
20912 * include/grub/fs.h (grub_fs_register): Omit prototype if
20913 GRUB_LST_GENERATOR is defined.
20914 * include/grub/partition.h (grub_partition_map_register): Likewise.
20915 * include/grub/video.h (grub_video_register): Likewise.
20916
1c8f0f8d
JM
209172010-06-12 Javier Martín <lordhabbit@gmail.com>
20918
20919 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
20920
a6085973
TS
209212010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20922
20923 * util/grub-mkrescue.in: Support --xorriso argument.
20924
25c56d29
VS
209252010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
20928 Suggested by: Thomas Schmitt.
20929
e03e4b24
VS
209302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
20933 Suggested by: Thomas Schmitt.
20934
57711df6
VS
209352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 custom.cfg support.
20938
20939 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
20940 * util/grub.d/41_custom.in: New file.
20941
ee62c427
CW
209422010-06-12 Colin Watson <cjwatson@ubuntu.com>
20943
20944 * util/grub-mkrescue.in (make_image): Remove sh module, which has
20945 been merged back into normal.
20946
283af07a
CW
209472010-06-11 Colin Watson <cjwatson@ubuntu.com>
20948
20949 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
20950 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
20951
56a0d956
CW
209522010-06-11 Colin Watson <cjwatson@ubuntu.com>
20953
20954 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
20955 when generating manual pages.
20956 * docs/man/grub-bin2h.h2m: New file.
20957 * docs/man/grub-editenv.h2m: New file.
20958 * docs/man/grub-fstest.h2m: New file.
20959 * docs/man/grub-install.h2m: New file.
20960 * docs/man/grub-macho2img.h2m: New file.
20961 * docs/man/grub-mkconfig.h2m: New file.
20962 * docs/man/grub-mkdevicemap.h2m: New file.
20963 * docs/man/grub-mkfont.h2m: New file.
20964 * docs/man/grub-mkimage.h2m: New file.
20965 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
20966 * docs/man/grub-mkrelpath.h2m: New file.
20967 * docs/man/grub-mkrescue.h2m: New file.
20968 * docs/man/grub-ofpathname.h2m: New file.
20969 * docs/man/grub-pe2elf.h2m: New file.
20970 * docs/man/grub-probe.h2m: New file.
20971 * docs/man/grub-reboot.h2m: New file.
20972 * docs/man/grub-script-check.h2m: New file.
20973 * docs/man/grub-set-default.h2m: New file.
20974 * docs/man/grub-setup.h2m: New file.
20975
3a37e322
VS
209762010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
20977
20978 Use FOR_* macros instead of *_iterate whenever possible.
20979
20980 * commands/handler.c: Removed.
20981 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
20982 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
20983 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20984 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
20985 (grub_probe_SOURCES): Remove kern/parser.c.
20986 (util/grub-script-check.c_DEPENDENCIES): Removed.
20987 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
20988 and grub_script_check_init.c.
20989 (grub_script_check_init.lst): Removed.
20990 (grub_script_check_init.h): Likewise.
20991 (grub_script_check_init.c): Likewise.
20992 (pkglib_MODULES): Remove handler.mod and sh.mod.
20993 (handler_mod_SOURCES): Removed.
20994 (handler_mod_CFLAGS): Likewise.
20995 (handler_mod_LDFLAGS): Likewise.
20996 (normal_mod_SOURCES): Remove normal/handler.c.
20997 Add script/main.c, script/script.c, script/execute.c,
20998 script/function.c, script/lexer.c, grub_script.tab.c
20999 and grub_script.yy.c.
21000 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21001 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21002 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21003 (grub_setup_SOURCES): Remove kern/parser.c.
21004 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21005 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21006 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21007 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21008 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21009 (grub_setup_SOURCES): Remove kern/parser.c.
21010 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21011 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21012 * include/grub/command.h (grub_command_iterate): Removed.
21013 (FOR_COMMANDS): New macro.
21014 * include/grub/dl.h (grub_dl): New member next.
21015 (grub_dl_iterate): Removed.
21016 (grub_dl_head): New variable declaration.
21017 (FOR_DL_MODULES): New macro.
21018 * include/grub/fs.h: Include list.h.
21019 (grub_fs): Make next first element.
21020 (grub_fs_list): New variable declaration.
21021 (grub_fs_register): Make inline.
21022 (grub_fs_unregister): Likewise.
21023 (grub_fs_iterate): Removed.
21024 (FOR_FILESYSTEMS): New macro.
21025 * include/grub/handler.h: Removed.
21026 * include/grub/list.h (grub_list_hook_t): Removed.
21027 (grub_list_test_t): Likewise.
21028 (grub_list_pop): Likewise.
21029 (grub_list_iterate): Likewise.
21030 (grub_list_insert): Likewise.
21031 (FOR_LIST_ELEMENTS): New macro.
21032 * include/grub/parser.h (grub_parser_class): Removed.
21033 (grub_parser_register): Likewise.
21034 (grub_parser_unregister): Likewise.
21035 (grub_parser_get_current): Likewise.
21036 (grub_parser_set_current): Likewise.
21037 (grub_register_rescue_parser): Likewise.
21038 (grub_rescue_parse_line): New function.
21039 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21040 * include/grub/script_sh.h (grub_script_function_list): New variable
21041 declaration.
21042 (FOR_SCRIPT_FUNCTIONS): New macro.
21043 (grub_script_function_iterate): Removed.
21044 (grub_normal_parse_line): New prototype.
21045 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21046 (FOR_DISABLED_TERM_INPUTS): Likewise.
21047 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21048 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21049 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21050 element.
21051 (grub_video_register): Inline.
21052 (grub_video_unregister): Likewise.
21053 (grub_video_adapter_list): New variable declaration.
21054 (grub_video_iterate): Removed.
21055 (FOR_VIDEO_ADAPTERS): New macro.
21056 * kern/dl.c (grub_dl_list): Removed. All users updated.
21057 (grub_dl_iterate): Removed.
21058 * kern/fs.c (grub_fs_list): Make global.
21059 (grub_fs_register): Removed.
21060 (grub_fs_unregister): Likewise.
21061 (grub_fs_iterate): Likewise.
21062 * kern/handler.c: Removed.
21063 * kern/list.c (grub_list_pop): Removed.
21064 (grub_list_iterate): Likewise.
21065 (grub_list_insert): Likewise.
21066 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21067 (grub_prio_list_insert): Don't use grub_list_insert.
21068 * kern/main.c (grub_register_rescue_parser): Don't call
21069 grub_register_rescue_parser.
21070 * kern/parser.c (grub_parser_class): Removed.
21071 (grub_parser_execute): Use grub_rescue_parse_line.
21072 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21073 (grub_rescue_parser): Removed.
21074 (grub_register_rescue_parser): Likewise.
21075 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21076 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21077 (grub_auth_check_authentication): Likewise.
21078 * normal/completion.c (iterate_command): Removed.
21079 (grub_normal_do_completion): Use FOR_COMMANDS.
21080 * normal/handler.c: Removed.
21081 * normal/main.c (read_config_file): Remove parser changing.
21082 (grub_normal_execute): Don't call read_handler_list.
21083 (grub_normal_read_line_real): Statically allocate prompt.
21084 (grub_cmdline_run): Use grub_normal_parse_line.
21085 (GRUB_MOD_FINI): Don't call free_handler_list.
21086 * normal/menu_entry.c (run): Likewise.
21087 * script/function.c (grub_script_function_list): Make global.
21088 (grub_script_function_iterate): Removed.
21089 * script/main.c (grub_normal_parse_line): Make global.
21090 (grub_sh_parser): Removed.
21091 (GRUB_MOD_INIT): Likewise.
21092 (GRUB_MOD_FINI): Likewise.
21093 * tests/lib/functional_test.c (grub_functional_test): Use
21094 FOR_LIST_ELEMENTS.
21095 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21096 (grub_test_run): Use FOR_LIST_ELEMENTS.
21097 * tests/lib/unit_test.c (main): Likewise.
21098 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21099 grub_list_pop.
21100 * util/grub-fstest.c (grub_term_input_class): Removed.
21101 (grub_term_output_class): Likewise.
21102 * util/grub-probe.c: Likewise.
21103 * util/i386/pc/grub-setup.c: Likewise.
21104 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21105 * util/grub-script-check.c (main): Don't call grub_init_all and
21106 grub_fini_all.
21107 * video/video.c (grub_video_adapter_list): Make global.
21108 (grub_video_register): Removed.
21109 (grub_video_unregister): Likewise.
21110 (grub_video_iterate): Likewise.
21111
6289c3a7
VS
211122010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21113
21114 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21115 reported by Henrique Ferreiro.
21116
91460247
RM
211172010-06-09 Robert Millan <rmh@gnu.org>
21118
21119 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21120 ones, when both are available.
21121
0ea7c4f9
GS
211222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21123
21124 Make --version uniform and avoid hard-coded program name.
21125
21126 * util/grub-mkimage.c (main): Use `program_name' instead of
21127 hard-coded string.
21128 * util/i386/pc/grub-setup.c (main): Likewise.
21129 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21130 * util/grub-install.in: Save the basename of $0 in $self, and use the
21131 latter in informational messages. Use the same format for --version
21132 as the binary programs.
21133 * util/grub-mkconfig.in: Likewise.
21134 * util/grub-mkrescue.in: Likewise.
21135 * util/grub-reboot.in: Likewise.
21136 * util/grub-set-default.in: Likewise.
21137 * util/i386/efi/grub-install.in: Likewise.
21138 * util/ieee1275/grub-install.in: Likewise.
21139 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21140
e8a6f3b6
GS
211412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21142
21143 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21144 embedding area. Use <= instead of == when checking for non-emptiness.
21145
f4d095d7
GS
211462010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21147
21148 * configure.ac: Add `.' to the directories searched for unifont.
21149
50e532ca
CW
211502010-06-08 Colin Watson <cjwatson@ubuntu.com>
21151
21152 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21153 grub_script.yy.h.
21154
d39f3dec
CW
211552010-06-08 Colin Watson <cjwatson@ubuntu.com>
21156
21157 * docs/grub.texi (History): Expand to cover GRUB 2.
21158 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21159 commands, not `terminal'.
21160 (serial): Likewise.
21161 (terminal_input): New section.
21162 (terminal_output): New section.
21163 (uppermem): New section (stub).
21164 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21165
6ef0ddb4
CW
211662010-06-08 Colin Watson <cjwatson@ubuntu.com>
21167
21168 * docs/grub.texi (Security): Menu entries are unrestricted by
21169 default, not restricted to superusers as I had previously thought.
21170 Reword to account for this.
21171
e0f4c438
CW
211722010-06-07 Colin Watson <cjwatson@ubuntu.com>
21173
21174 * kern/emu/misc.c (device_mapper_null_log): New function.
21175 (grub_device_mapper_supported): New function.
21176 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21177 prototype.
21178 * kern/emu/hostdisk.c (find_partition_start): Check whether
21179 device-mapper is supported before trying to use it.
21180 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21181
da908200
CW
211822010-06-07 Colin Watson <cjwatson@ubuntu.com>
21183
21184 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
21185 (File name syntax): Likewise.
21186 (help): --all is no longer supported in GRUB 2. Be more precise
21187 about pattern matching.
21188
fb55c3ac
CW
211892010-06-07 Colin Watson <cjwatson@ubuntu.com>
21190
21191 * normal/completion.c (grub_normal_do_completion): When completing
21192 arguments to "set" and the current word contains an equals sign,
21193 skip to after the equals sign before starting completion.
21194
258c2573
CW
211952010-06-07 Colin Watson <cjwatson@ubuntu.com>
21196
21197 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21198
ee75515e
CW
211992010-06-07 Colin Watson <cjwatson@ubuntu.com>
21200
21201 * docs/grub.texi (Network): New section.
21202 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
21203 `(nd)' as in GRUB Legacy.
21204 (pxe_unload): New section.
21205
a6a700aa
CW
212062010-06-07 Colin Watson <cjwatson@ubuntu.com>
21207
21208 * docs/grub.texi (Troubleshooting): `echo' is not usually available
21209 in the rescue shell, so recommend using `set' instead. Thanks,
21210 Jordan Uggla.
21211
4003dd38
CW
212122010-06-07 Colin Watson <cjwatson@ubuntu.com>
21213
21214 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
21215 (password): New section.
21216 (password_pbkdf2): New section.
21217 (search): New section.
21218 (Security): New section.
21219 (Troubleshooting): New section, currently very incomplete.
21220 (Invoking grub-mkpasswd-pbkdf2): New section.
21221 (Internals): New section, currently very incomplete.
21222
e1cbcc40
CW
212232010-06-07 Colin Watson <cjwatson@ubuntu.com>
21224
21225 * util/grub.d/00_header.in: Add some more quoting (of
21226 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
21227 work again.
21228 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
21229
db8fa1ad
CW
212302010-06-07 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
21233 to `count', fixing variable shadowing that broke the -c option.
21234
212352010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
21236
21237 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21238 in case they contain spaces.
21239
f28a9212
CW
212402010-06-04 Colin Watson <cjwatson@ubuntu.com>
21241
21242 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
21243 "part_" to partmap module names, in line with grub-install.
21244 Reported by: Jindřich Makovička (Debian bug #584426).
21245
9cdfe32f
CW
212462010-06-04 Colin Watson <cjwatson@ubuntu.com>
21247
21248 * util/grub-mkimage.c: Make target-related error messages slightly
21249 more helpful; -O talks about "format". Explicitly point to the use
21250 of -O if no target is specified.
21251 Reported by: Didier Raboud (Debian bug #584415).
21252
795b593a
CW
212532010-06-03 Colin Watson <cjwatson@ubuntu.com>
21254
21255 * INSTALL: Document several build requirements for optional features
21256 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
21257
9d9b5833
GS
212582010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
21259
21260 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
21261 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
21262 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
21263
0819fec8
CW
212642010-06-02 Colin Watson <cjwatson@ubuntu.com>
21265
21266 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
21267 Thanks to Jordan Uggla for spotting this.
21268
49396b4f
VS
212692010-06-02 Aleš Nesrsta <starous@volny.cz>
21270
21271 Finally make USB usable.
21272
21273 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
21274 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
21275 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
21276 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
21277 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
21278 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
21279 (GRUB_OHCI_FSMPS): Likewise.
21280 (GRUB_OHCI_PERIODIC_START): Likewise.
21281 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
21282 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
21283 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
21284 (GRUB_OHCI_SET_PORT_RESET): Likewise.
21285 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
21286 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
21287 (grub_ohci_transaction): Likewise.
21288 (grub_ohci_transfer): Improve condition detection algorithms.
21289 Handle toggle property. Program the transactions correctly.
21290 Improve error handling. Various important fixups.
21291 (grub_ohci_portstatus): Put register writes in right order.
21292 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
21293 (grub_uhci_transfer): Don't show "failed" message on success.
21294 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
21295 array.
21296 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
21297 determine its size.
21298 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
21299 before initialization is completed. Use IN direction for empty
21300 transfers. Use last_trans and compute toggle.
21301 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
21302 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
21303 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
21304 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
21305 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
21306 (grub_usb_device): Increase toggle to 256.
21307 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
21308 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
21309 GRUB_USBMS_SUBCLASS_SFF8070.
21310 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
21311 (grub_scsi_inquiry): New member page and alloc_length.
21312 (grub_scsi_request_sense): New structure.
21313 (grub_scsi_request_sense_data): Likewise.
21314 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
21315 control.
21316 * disk/scsi.c (grub_scsi_request_sense): New function.
21317 (grub_scsi_test_unit_ready): Likewise.
21318 (grub_scsi_inquiry): Fill new fields.
21319 (grub_scsi_read_capacity): Likewise.
21320 (grub_scsi_read10): Add request sense at the end.
21321 (grub_scsi_read12): Likewise.
21322 (grub_scsi_write10): Likewise.
21323 (grub_scsi_write12): Likewise.
21324 (grub_scsi_open): Add Test Unit Ready.
21325 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
21326 Support additional subclasses. Con't clear halt yet. Activate the
21327 proper config. Calculate LUNs correctly.
21328 (grub_usbms_transfer): Various important fixups.
21329
213302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
21333 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
21334 (grub_ohci_fini_hw): New function.
21335 (grub_ohci_restore_hw): Likewise.
21336 (GRUB_MOD_INIT(ohci)): Register preboot hook.
21337 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
21338 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
21339
213402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 Dedicated DMA allocations.
21343
21344 * bus/pci.c (grub_memalign_dma32): New function
21345 (grub_dma_free): Likewise.
21346 (grub_dma_get_virt): Likewise.
21347 (grub_dma_get_phys): Likewise.
21348 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21349 (grub_ohci_pci_iter): Use dma32_alloc.
21350 (grub_ohci_transfer): Likewise.
21351 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21352 (grub_usb_bulk_readwrite): Likewise.
21353 * include/grub/pci.h: Add declarations.
21354
213552010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 CS5536 support.
21358
21359 * bus/cs5536.c: New file.
21360 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21361 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21362 (cs5536_mod_SOURCES): New variable.
21363 (cs5536_mod_CFLAGS): Likewise.
21364 (cs5536_mod_LDFLAGS): Likewise.
21365 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21366 machine/pci.h.
21367 (kernel_img_SOURCES): Add bus/cs5536.c.
21368 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21369 usb_keyboard.mod.
21370 (usb_mod_SOURCES): New variable.
21371 (usb_mod_CFLAGS): New variable.
21372 (usb_mod_LDFLAGS): New variable.
21373 (usbtest_mod_SOURCES): New variable.
21374 (usbtest_mod_CFLAGS): New variable.
21375 (usbtest_mod_LDFLAGS): New variable.
21376 (ohci_mod_SOURCES): New variable.
21377 (ohci_mod_CFLAGS): New variable.
21378 (ohci_mod_LDFLAGS): New variable.
21379 (usbms_mod_SOURCES): New variable.
21380 (usbms_mod_CFLAGS): New variable.
21381 (usbms_mod_LDFLAGS): New variable.
21382 (usb_keyboard_mod_SOURCES): New variable.
21383 (usb_keyboard_mod_CFLAGS): New variable.
21384 (usb_keyboard_mod_LDFLAGS): New variable.
21385 * include/grub/smbus.h: New file.
21386 * include/grub/cs5536.h: New file.
21387
0b35b2a9
CW
213882010-06-02 Colin Watson <cjwatson@ubuntu.com>
21389
21390 * util/grub.d/00_header.in: Add safety check to make sure that
21391 ${locale_dir} exists before trying to probe it.
21392
ca0afd5b
CW
213932010-06-02 Colin Watson <cjwatson@ubuntu.com>
21394
21395 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21396 per the GNU Coding Standards; this is now too obscure to be worth
21397 documenting.
21398 (QNX): Likewise.
21399 (chainloader): Remove cross-reference to `SCO UnixWare'.
21400
1c41aa78
CW
214012010-06-02 Colin Watson <cjwatson@ubuntu.com>
21402
21403 * docs/grub.texi (Chain-loading): New section.
21404 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21405 adjusted for GRUB 2.
21406 (SCO UnixWare): Likewise.
21407 (QNX): Likewise.
21408 (chainloader): Add reference to `Block list syntax'.
21409 (drivemap): New section.
21410 (parttool): New section.
21411
bb8ea0f5
CW
214122010-06-02 Colin Watson <cjwatson@ubuntu.com>
21413
21414 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21415 the grub shell'.
21416 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21417 (Installing GRUB using grub-install): Remove reference to the grub
21418 shell; mention `grub-mkimage' and `grub-setup' instead.
21419 (Invoking grub-install): Likewise.
21420 (Interface): Add reference to `Menu entry editor'.
21421 (serial): Remove `--device' option.
21422
288dd6ed
CW
214232010-06-02 Colin Watson <cjwatson@ubuntu.com>
21424
21425 * docs/grub.texi (Configuration): New section, documenting
21426 configuration file generation using grub-mkconfig. I've left a slot
21427 for documenting the full shell scripting format but have not yet
21428 started on writing that up.
21429 (Invoking grub-mkconfig): New section.
21430
34c9f0e9
CW
214312010-06-02 Colin Watson <cjwatson@ubuntu.com>
21432
21433 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21434 (GNU GRUB manual): Likewise.
21435 (General commands): Update description of `terminfo' for GRUB 2.
21436
9121567e
CW
214372010-06-02 Colin Watson <cjwatson@ubuntu.com>
21438
21439 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21440 (GRUB_MOD_INIT): Fix capitalisation.
21441 * docs/grub.texi (Command-line and menu entry commands): Document
21442 gettext and gptsync commands.
21443
ab631611
CW
214442010-06-02 Colin Watson <cjwatson@ubuntu.com>
21445
21446 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21447 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21448
bde4a9ac
CW
214492010-06-01 Colin Watson <cjwatson@ubuntu.com>
21450
21451 Add btrfs probing support, currently only in the single-device case.
21452
21453 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21454 function.
21455 (grub_guess_root_device): Call find_root_device_from_mountinfo
21456 before looking in /dev.
21457
b1d17e10
VS
214582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21461 GRUB_DISK_SIZE_UNKNOWN.
21462 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21463
dfbfe004
JS
214642010-05-31 Jiro SEKIBA <jir@unicus.jp>
21465
21466 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21467 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21468 corrupted or not synced properly.
21469
c2ffc8e9
VS
214702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21473 Reported by: Seth Goldberg.
21474
56293166
VS
214752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21478 addition of dest.
21479 Reported by: Seth Goldberg.
21480
7620e7de
VS
214812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21484 Reported by: Seth Goldberg.
21485
c837af3f
VS
214862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21489 64-bit address as signed on MIPS.
21490
c7c75cf4
CW
214912010-05-28 Colin Watson <cjwatson@ubuntu.com>
21492
21493 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21494 to the empty string.
21495
fa4b8490
BC
214962010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21497
21498 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21499
21500 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21501 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21502 * kern/misc.c (__enable_execute_stack): Disable on
21503 GRUB_MACHINE_EMU.
21504
a33075b9
CW
215052010-05-28 Colin Watson <cjwatson@ubuntu.com>
21506
21507 Make grub-probe work with symbolic links under /dev/mapper as well
21508 as with real block devices. The Linux world seems to be (at best)
21509 in transition here, and GRUB shouldn't get caught in the middle.
21510
21511 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21512 /dev/mapper.
21513
d8708134
CW
215142010-05-27 Colin Watson <cjwatson@ubuntu.com>
21515
21516 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21517 input files (in which case exit zero).
21518
db2102a0
CW
215192010-05-27 Colin Watson <cjwatson@ubuntu.com>
21520
21521 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21522 return NULL for various reasons even if it has a maximum-length
21523 buffer: for example, there might be a symlink loop, or the path
21524 might exceed PATH_MAX. If this happens, return NULL.
21525
5fdba519
RM
215262010-05-27 Robert Millan <rmh@gnu.org>
21527
21528 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21529 partmap module to handle cross-partmap setups.
21530 Reported by Orestes Mas. Gràcies!
21531
d1d368e4
CW
215322010-05-27 Colin Watson <cjwatson@ubuntu.com>
21533
21534 * util/grub-mkrescue.in: Initialise override_dir rather than
21535 assuming that it's unset or empty in the environment.
21536
95ac3c73
GS
215372010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21538
21539 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21540 variable index into p_index to suppress a warning with -Wshadow.
21541
7d8c0213
BC
215422010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21543
21544 * INSTALL: Added flex >= 2.5.35 requirement.
21545
db4d5813
VS
215462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21549
f24f4300
VS
215502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21551
21552 cmostest support.
21553
21554 * commands/i386/cmostest.c: New file.
21555 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21556 (cmostest_mod_SOURCES): New variable.
21557 (cmostest_mod_CFLAGS): Likewise.
21558 (cmostest_mod_LDFLAGS): Likewise.
21559 * conf/i386-pc.rmk: Likewise.
21560 * docs/grub.texi (Vendor power-on keys): New section.
21561 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21562 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21563 and GRUB_BUTTON_CMOS_ADDRESS.
21564 * util/grub.d/00_header.in: Handle powering-on by separate button.
21565
ad603f61
VS
215662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21569 Removed drawing_scrollbar argument. All users updated
21570 Fixes #29792.
21571 Reported by Jo Shields
21572
3ecb080a
VS
215732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21576 buffer since gfxterm handles double repaint.
21577
5f2316c1
VS
215782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21581 * term/gfxterm.c (real_scroll): Likewise.
21582
9a25f885
VS
215832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21586 before calling BIOS.
21587
39fbb79a
VS
215882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 * include/grub/i18n.h: Always enable grub_gettext.
21591
228cfa97
VS
215922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21595 partition naming style.
21596
21717c8f
CW
215972010-05-21 Colin Watson <cjwatson@ubuntu.com>
21598
21599 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21600 not the first option.
21601
c0f48e65
CW
216022010-05-20 Colin Watson <cjwatson@ubuntu.com>
21603
21604 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21605
96779aec
CW
216062010-05-20 Colin Watson <cjwatson@ubuntu.com>
21607
21608 * util/misc.c: Move inclusion of <limits.h> to ...
21609 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21610
fa9d256e
GS
216112010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21612
21613 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21614 Fix merge error in NetBSD code.
21615 (find_partition_start) [__NetBSD__]: Likewise.
21616
123b7a85
BC
216172010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21618
21619 Fix grub-mkrescue usage unit testing.
21620
21621 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21622
74276c0d
CF
216232010-05-18 Christian Franke <franke@computer.org>
21624
21625 * util/grub.d/10_windows.in: Use path names instead of
21626 drive letters to prevent warning from Cygwin 1.7.
21627 Add drivemap command to menuentry if needed.
21628
c4f7b523
ST
216292010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21630
21631 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21632 gnumach and gnumach.gz.
21633
95b97950
VS
216342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 * include/grub/i18n.h (gettext): Inline instead of using #define.
21637 (grub_gettext): Likewise.
21638 (_): Likewise.
21639
01b8d2d7
VS
216402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21643 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21644 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21645 (main): Add a slash after pkglibdirroot.
21646
654e1d1e
VS
216472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21648
21649 * util/grub-install.in: Add missing "in" keyword.
21650
26966aeb
VS
216512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21654 Reported by: Seth Goldberg.
21655
75006747
VS
216562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21659
74cbf5bd
CW
216602010-05-18 Colin Watson <cjwatson@ubuntu.com>
21661
21662 * configure.ac: Check for Linux device-mapper support.
21663
21664 * util/hostdisk.c (device_is_mapped): New function.
21665 (find_partition_start): New function, partly broken out from
21666 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21667 device-mapper support added.
21668 (linux_find_partition): Use find_partition_start.
21669 (convert_system_partition_to_system_disk): Add `st' argument.
21670 Support Linux /dev/mapper/* devices if device-mapper support is
21671 available; only DM-RAID devices are understood at present.
21672 (find_system_device): Add `st' argument. Pass it to
21673 convert_system_partition_to_system_disk.
21674 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21675 find_system_device and convert_system_partition_to_system_disk. Use
21676 find_partition_start.
21677
21678 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21679 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21680 * util/deviceiter.c [__linux__]: Define MINOR.
21681 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21682 * util/mkdevicemap.c (grub_putchar): New function.
21683 (grub_getkey): New function.
21684 (grub_refresh): New function.
21685 (main): Set debug=all if -v -v is used.
21686
355b51e9
CW
216872010-05-18 Colin Watson <cjwatson@ubuntu.com>
21688
21689 Fix build with non-GNU libcs.
21690
21691 * util/misc.c (canonicalize_file_name): Move to ...
21692 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21693 grub_make_system_path_relative_to_its_root.
21694
7fb5c25f
CW
216952010-05-18 Colin Watson <cjwatson@ubuntu.com>
21696
21697 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21698 we handle finding grub-mkimage. Default to finding grub-mkimage in
21699 ${bindir} with program_transform_name applied, and provide a
21700 --grub-mkimage option to override this.
21701
1d3293d6
VS
217022010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21703
21704 Remove grub-mkisofs.
21705
21706 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21707 (grub_mkisofs_SOURCES): Removed.
21708 (grub_mkisofs_CFLAGS): Removed.
21709 * util/mkisofs/defaults.h: Removed.
21710 * util/mkisofs/eltorito.c: Likewise.
21711 * util/mkisofs/exclude.h: Likewise.
21712 * util/mkisofs/hash.c: Likewise.
21713 * util/mkisofs/include/: Likewise.
21714 * util/mkisofs/include/fctldefs.h: Likewise.
21715 * util/mkisofs/include/mconfig.h: Likewise.
21716 * util/mkisofs/include/prototyp.h: Likewise.
21717 * util/mkisofs/include/statdefs.h: Likewise.
21718 * util/mkisofs/iso9660.h: Likewise.
21719 * util/mkisofs/joliet.c: Likewise.
21720 * util/mkisofs/match.c: Likewise.
21721 * util/mkisofs/match.h: Likewise.
21722 * util/mkisofs/mkisofs.c: Likewise.
21723 * util/mkisofs/mkisofs.h: Likewise.
21724 * util/mkisofs/msdos_partition.h: Likewise.
21725 * util/mkisofs/multi.c: Likewise.
21726 * util/mkisofs/name.c: Likewise.
21727 * util/mkisofs/rock.c: Likewise.
21728 * util/mkisofs/tree.c: Likewise.
21729 * util/mkisofs/write.c: Likewise.
21730
5dde9afe
VS
217312010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 Unify grub-mkimage accross platforms.
21734
21735 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21736 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21737 (grub_mkelfimage_SOURCES): Removed.
21738 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21739 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21740 (bin_UTILITIES): Add grub-mkimage.
21741 (grub_mkimage_SOURCES): New variable.
21742 (kernel_img_HEADERS): Remove machine/kernel.h.
21743 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21744 (pkglib_PROGRAMS): Add kernel.img.
21745 (kernel_img_HEADERS): Add machine/kernel.h.
21746 (kernel_img_FORMAT): Removed.
21747 (bin_UTILITIES): Remove grub-mkimage.
21748 (grub_mkimage_SOURCES): Removed.
21749 (grub_mkimage_CFLAGS): Likewise.
21750 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21751 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21752 (pkglib_PROGRAMS): Add kernel.img.
21753 (bin_UTILITIES): Remove grub-mkimage.
21754 (grub_mkimage_SOURCES): Removed.
21755 (grub_mkimage_CFLAGS): Likewise.
21756 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21757 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21758 (pkglib_PROGRAMS): Add kernel.img.
21759 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21760 (pkglib_PROGRAMS): Add kernel.img.
21761 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21762 (grub_mkimage_SOURCES): Removed.
21763 (grub_mkimage_CFLAGS): Likewise.
21764 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21765 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21766 (pkglib_PROGRAMS): Add kernel.img.
21767 (bin_UTILITIES): Remove grub-mkimage.
21768 (grub_mkimage_SOURCES): Removed.
21769 (grub_mkimage_CFLAGS): Likewise.
21770 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21771 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21772 (grub_mkimage_SOURCES): Removed.
21773 (grub_mkimage_CFLAGS): Likewise.
21774 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21775 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21776 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21777 (grub_pe32_optional_header): ... this.
21778 (grub_pe64_optional_header): ... and this. All users updated.
21779 (GRUB_PE32_PE32_MAGIC): Split into ..
21780 (GRUB_PE32_PE32_MAGIC): .. this.
21781 (GRUB_PE32_PE64_MAGIC): .. and this.
21782 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21783 * include/grub/elf.h (PT_GNU_STACK): New definition.
21784 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21785 * include/grub/i386/efi/kernel.h: Likewise.
21786 * include/grub/i386/kernel.h: Likewise.
21787 * include/grub/i386/pc/kernel.h: Likewise.
21788 * include/grub/i386/qemu/boot.h: Likewise.
21789 * include/grub/mips/kernel.h: Likewise.
21790 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21791 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21792 * include/grub/powerpc/kernel.h: Likewise.
21793 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21794 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21795 * include/grub/sparc64/kernel.h: Likewise.
21796 * include/grub/x86_64/efi/kernel.h: Likewise.
21797 * include/grub/x86_64/kernel.h: Likewise.
21798 * include/grub/offsets.h: New file.
21799 * include/grub/kernel.h (grub_module_info): Split into ...
21800 (grub_module_info32): ... this.
21801 (grub_module_info64): ... and this.
21802 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21803 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21804 (grub_boot_blocklist): Moved from here ...
21805 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21806 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21807 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21808 * include/grub/types.h (grub_target_to_host16): Removed.
21809 (grub_target_to_host32): Likewise.
21810 (grub_target_to_host64): Likewise.
21811 (grub_host_to_target16): Likewise.
21812 (grub_host_to_target32): Likewise.
21813 (grub_host_to_target64): Likewise.
21814 (grub_host_to_target_addr): Likewise.
21815
21816 Support grub-mkrescue for efi, coreboot and qemu.
21817
21818 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21819 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21820 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21821 * util/grub-mkrawimage.c: Moved from here ...
21822 * util/grub-mkimage.c: ... here. All users updated.
21823 (ALIGN_ADDR): Use image_target.
21824 (TARGET_NO_FIELD): New const.
21825 (image_target_desc): New type.
21826 (image_targets): New array.
21827 (grub_target_to_host64): Use image_target.
21828 (grub_target_to_host32): Likewise.
21829 (grub_target_to_host16): Likewise.
21830 (grub_host_to_target64): Likewise.
21831 (grub_host_to_target32): Likewise.
21832 (grub_host_to_target16): Likewise.
21833 (grub_host_to_target_addr): Likewise.
21834 (generate_image): Handle multiimage.
21835 (main): Require -O parameter. All users updated.
21836 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21837 util/efi/grub-mkimage.c
21838 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21839 New option --rom-directory.
21840 Use xorriso.
21841 * util/i386/efi/grub-mkimage.c: Removed.
21842 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21843 (grub_target_to_host32): Likewise.
21844 (grub_target_to_host64): Likewise.
21845 (grub_host_to_target16): Likewise.
21846 (grub_host_to_target32): Likewise.
21847 (grub_host_to_target64): Likewise.
21848 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21849 (grub_target_to_host32): Likewise.
21850 (grub_target_to_host64): Likewise.
21851 (grub_host_to_target16): Likewise.
21852 (grub_host_to_target32): Likewise.
21853 (grub_host_to_target64): Likewise.
21854
f4fc97d0
BC
218552010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21856
21857 Source tree is reorganized for emu build.
21858
21859 * include/grub/util/console.h: Move from here...
21860 * include/grub/emu/console.h: ...to here.
21861 * include/grub/util/getroot.h: Move from here...
21862 * include/grub/emu/getroot.h: ...to here.
21863 * include/grub/util/hostdisk.h: Move from here...
21864 * include/grub/emu/hostdisk.h: ...to here.
21865 * util/console.c: Move from here...
21866 * kern/emu/console.c: ...to here.
21867 * util/getroot.c: Move from here...
21868 * kern/emu/getroot.c: ...to here.
21869 * util/grub-emu.c: Move from here...
21870 * kern/emu/main.c: ...to here.
21871 * util/hostdisk.c: Move from here...
21872 * kern/emu/hostdisk.c: ...to here.
21873 * util/hostfs.c: Move from here...
21874 * kern/emu/hostfs.c: ...to here.
21875 * util/mm.c: Move from here...
21876 * kern/emu/mm.c: ...to here.
21877 * util/pci.c: Move from here...
21878 * bus/emu/pci.c: ...to here.
21879 * util/sdl.c: Move from here...
21880 * video/emu/sdl.c: ...to here.
21881 * util/time.c: Move from here...
21882 * kern/emu/time.c: ...to here.
21883 * util/usb.c: Move from here...
21884 * bus/usb/emu/usb.c: ...to here.
21885
21886 * include/grub/emu/misc.h: New header for grub-emu functions.
21887 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21888
21889 * conf/any-emu.rmk: Rule updates for above renames.
21890 * conf/common.rmk: Likewise.
21891 * conf/i386-pc.rmk: Likewise.
21892 * conf/i386-qemu.rmk: Likewise.
21893 * conf/mips.rmk: Likewise.
21894 * conf/sparc64-ieee1275.rmk: Likewise.
21895 * conf/x86-efi.rmk: Likewise.
21896
21897 * disk/lvm.h: #include updates for above renames.
21898 * util/grub-mkrelpath.c: Likewise.
21899 * util/grub-probe.c: Likewise.
21900 * util/i386/pc/grub-setup.c: Likewise.
21901 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21902 * kern/emu/console.c: Likewise.
21903 * kern/emu/getroot.c: Likewise.
21904 * kern/emu/hostdisk.c: Likewise.
21905 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
21906
21907 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
21908 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
21909 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
21910 * util/misc.c: Remove grub-emu functions.
21911
cced9145
VS
219122010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 Fix gfxmenu crash.
21915 Reported by: Thorsten Grützmacher.
21916
21917 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
21918 timeout hook.
21919 (circprog_set_property): Register and unregister timeout hook.
21920 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
21921 (label_destroy): Free template. and unregister hook.
21922 (label_set_state): New function.
21923 (label_set_property): Handle templates and hooks.
21924 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
21925 timeout hook.
21926 (progress_bar_set_property): Register and unregister timeout hook.
21927 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
21928 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
21929 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
21930 (update_timeout_visit): Removed.
21931 (update_timeouts): New function.
21932 (redraw_timeouts): Likewise.
21933 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
21934 (grub_gfxmenu_clear_timeout): Likewise.
21935 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
21936 (grub_gfxmenu_timeout_notify): Likewise.
21937 (grub_gfxmenu_timeout_notifications): New external variable.
21938 (grub_gfxmenu_timeout_register): New function.
21939 (grub_gfxmenu_timeout_unregister): Likewise.
21940
c6e5caab
VS
219412010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 Transform (broken) vga terminal into (working) vga video driver.
21944
21945 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
21946 video/i386/pc/vga.c.
21947 * include/grub/video.h (grub_video_driver_id):
21948 Add GRUB_VIDEO_DRIVER_VGA.
21949 * term/i386/pc/vga.c: Renamed to ...
21950 * video/i386/pc/vga.c: ...this
21951 (DEBUG_VGA): Removed.
21952 (CHAR_WIDTH): Likewise.
21953 (CHAR_HEIGHT): Likewise.
21954 (TEXT_WIDTH): Likewise.
21955 (TEXT_HEIGHT): Likewise.
21956 (DEFAULT_FG_COLOR): Likewise.
21957 (DEFAULT_BG_COLOR): Likewise.
21958 (colored_char): Likewise.
21959 (xpos): Likewise.
21960 (ypos): Likewise.
21961 (cursor_state): Likewise.
21962 (fg_color): Likewise.
21963 (bg_color): Likewise.
21964 (text_buf): Likewise.
21965 (page): Likewise.
21966 (font): Likewise.
21967 (framebuffer): New variable.
21968 (set_read_map): Disabled.
21969 (setup): New variable.
21970 (is_target): Likewise.
21971 (grub_vga_mod_init): Likewise.
21972 (grub_vga_mod_fini): Likewise.
21973 (check_vga_mem): Likewise.
21974 (write_char): Likewise.
21975 (write_cursor): Likewise.
21976 (scroll_up): Likewise.
21977 (grub_vga_putchar): Likewise.
21978 (grub_vga_getcharwidth): Likewise.
21979 (grub_vga_getwh): Likewise.
21980 (grub_vga_getxy): Likewise.
21981 (grub_vga_gotoxy): Likewise.
21982 (grub_vga_cls): Likewise.
21983 (grub_vga_setcolorstate): Likewise.
21984 (grub_vga_setcursor): Likewise.
21985 (grub_video_vga_init): New function.
21986 (grub_video_vga_setup): Likewise.
21987 (grub_video_vga_fini): Likewise.
21988 (update_target): Likewise.
21989 (grub_video_vga_blit_bitmap): Likewise.
21990 (grub_video_vga_blit_render_target): Likewise.
21991 (grub_video_vga_set_active_render_target): Likewise.
21992 (grub_video_vga_get_active_render_target): Likewise.
21993 (grub_video_vga_swap_buffers): Likewise.
21994 (grub_video_vga_set_palette): Likewise.
21995 (grub_video_vga_get_info_and_fini): Likewise.
21996 (grub_vga_term): Removed.
21997 (grub_video_vga_adapter): New variable.
21998 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21999 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22000
2bf61a98
VS
220012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22002
22003 * video/readers/jpeg.c: Indented.
22004
09ddcd11
VS
220052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Various jpeg cleanups.
22008
22009 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22010 (grub_jpeg_decode_quan_table): Use sizeof.
22011 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22012
e5507505
PH
220132010-05-05 Peter Hurley <No e-mail available> (tiny change)
22014
22015 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22016 tables. Ignore non-last ac bit.
22017 (grub_jpeg_decode_quan_table): Likewise.
22018
7e720a9b
VS
220192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22022 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22023 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22024 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22025 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22026 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22027
a7fc080b
VS
220282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22031 error.
22032
2bf6012d
VS
220332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22036
265d68cd
VS
220372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22040 condition.
22041
220422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22043
22044 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22045 part.
22046
265d68cd 220472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22048
22049 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22050 pointers.
22051
265d68cd 220522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22053
22054 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22055
d1b61374
CF
220562010-05-01 Christian Franke <franke@computer.org>
22057
22058 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22059 Remove broken Cygwin path conversion.
22060 * util/misc.c: [__CYGWIN__] Add include and define.
22061 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22062 for Cygwin 1.7.
22063 (make_system_path_relative_to_its_root): Simplify loop, replace early
22064 return by break.
22065 [__CYGWIN__] Add conversion to win32 path.
22066 Include "/" case in trailing slash removal.
22067
3558c6e9
VS
220682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22071 Reported by: Seth Goldberg
22072
f5f3ff93
VS
220732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * commands/help.c (grub_cmd_help): Fix a typo.
22076 Reported by: Seth Goldberg
22077
d8b5cd40
VS
220782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22081 name and add N_.
22082 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22083 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22084 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22085 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22086 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22087 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22088 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22089 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22090 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22091 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22092 * normal/context.c (GRUB_MOD_INIT): Likewise.
22093 * normal/main.c (GRUB_MOD_INIT): Likewise.
22094 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22095 * term/serial.c (GRUB_MOD_INIT): Likewise.
22096 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22097
88c14915
VS
220982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22101 extra == 0.
22102
165134bc
VS
221032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * commands/iorw.c: New file.
22106 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22107 (iorw_mod_SOURCES): New variable.
22108 (iorw_mod_CFLAGS): Likewise.
22109 (iorw_mod_LDFLAGS): Likewise.
22110
c5ac9b32
VS
221112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 Hotkey support
22114
22115 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22116 * normal/main.c (hotkey_aliases): New variable.
22117 (grub_normal_add_menu_entry): Parse "--hotkey".
22118 * normal/menu_text.c (run_menu): Handle hotkeys.
22119
ce60689c
VS
221202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * kern/i386/coreboot/init.c (grub_machine_init): Call
22123 grub_machine_mmap_init on qemu.
22124
0359d006
VS
221252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 * boot/i386/qemu/boot.S: Add a missing .code16.
22128
7819a456
VS
221292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 Use LBIO on coreboot.
22132
22133 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22134 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22135 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22136 New declaration.
22137 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22138 grub_machine_mmap_init on coreboot.
22139 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22140 GRUB_LINUXBIOS_MEMBER_LINK.
22141 (grub_machine_mmap_iterate): Fix declaration.
22142 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22143
7210dca9
VS
221442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 Split coreboot and multiboot ports.
22147
22148 * conf/i386-multiboot.rmk: New file.
22149 * configure.ac: Add multiboot port.
22150 * include/grub/i386/multiboot/boot.h: New file.
22151 * include/grub/i386/multiboot/console.h: Likewise.
22152 * include/grub/i386/multiboot/init.h: Likewise.
22153 * include/grub/i386/multiboot/kernel.h: Likewise.
22154 * include/grub/i386/multiboot/loader.h: Likewise.
22155 * include/grub/i386/multiboot/memory.h: Likewise.
22156 * include/grub/i386/multiboot/serial.h: Likewise.
22157 * include/grub/i386/multiboot/time.h: Likewise.
22158 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22159 * loader/multiboot.c: Likewise.
22160 * loader/multiboot_mbi2.c: Likewise.
22161 * util/grub-mkrescue.in: Generate multiboot rescue.
22162
6f8aaf68
VS
221632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22164
3080f7a7
VS
22165 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22166
221672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
22170
22171 * commands/terminal.c (abstract_terminal): New struct.
22172 (handle_command): New function. Based on grub_cmd_terminal_input.
22173 (grub_cmd_terminal_input): Use handle_command.
22174 (grub_cmd_terminal_output): Use handle_command.
22175
a8ebb841
BC
221762010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22177
22178 Fix comment handling.
22179
22180 * tests/grub_script_comments.in: New testcase.
22181 * conf/tests.rmk: Rules for new testcase.
22182 * script/yylex.l: Updated flex rules.
22183
bb06ba08
ST
221842010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22185
22186 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
22187 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22188 if argc is 1.
bb06ba08 22189
cc9d2425
VS
221902010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
22193 autogen issues.
22194
460d8402
CF
221952010-04-26 Christian Franke <franke@computer.org>
22196
22197 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
22198 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
22199 (grub_get_prefix): Remove function.
22200 * util/grub-emu.c (main): Replace grub_get_prefix () call by
22201 make_system_path_relative_to_its_root ().
22202 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22203
553c01f9
CF
222042010-04-24 Christian Franke <franke@computer.org>
22205
22206 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22207 (kernel_img_LDFLAGS): Remove -static-libgcc.
22208
2aec1692
CF
222092010-04-24 Christian Franke <franke@computer.org>
22210
22211 * configure.ac: Do not CHECK_BSS_START_SYMBOL
22212 and CHECK_END_SYMBOL if grub-emu is built.
22213 Unset TARGET_OBJ2ELF if grub-emu is built
22214 without module support.
22215
f67dc308
JS
222162010-04-24 Jiro SEKIBA <jir@unicus.jp>
22217
22218 Nilfs2 support.
22219
22220 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
22221 (grub_fstest_SOURCES): Likewise.
22222 (pkglib_MODULES): Add nilfs2.mod.
22223 (nilfs2_mod_SOURCES): New variable.
22224 (nilfs2_mod_CFLAGS): Likewise.
22225 (nilfs2_mod_LDFLAGS): Likewise.
22226 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22227 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22228 * fs/nilfs2.c: New file.
22229
4ba8d354
VS
222302010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
22233 is not supported.
22234
0d2c20c6
GS
222352010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
22236
22237 Add grub-mkconfig support for NetBSD.
22238
22239 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
22240 * util/grub-mkconfig.in: export new NetBSD specific variables.
22241 * po/POTFILES-shell: added 10_netbsd.in.
22242 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
22243
bc4a2d83
BC
222442010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
22245
22246 Fix emu build with grub-emu-pci and grub-emu-modules.
22247
22248 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
22249 functions.
22250 * include/grub/libpciaccess.h: New file.
22251 * conf/any-emu.rmk: Update kernel headers for emu build.
22252
f48c87aa
VS
222532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22256
18959385
VS
222572010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22260
0037de3f
VS
222612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
22264 Retrieve chosen/bootpath if bootpath isn't hardcoded.
22265 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
22266 util/ieee1275/ofpath.c.
22267 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
22268 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
22269 * include/grub/sparc64/ieee1275/boot.h
22270 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
22271 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
22272 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
22273 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
22274 const char *.
22275 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
22276 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
22277 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
22278 install.
22279
38e55e90
GS
222802010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22281
22282 * util/grub-mkconfig.in: Corrected two == equality tests.
22283 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
22284 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
22285 expect a number appended to it.
22286 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
22287 expects a number appended to it.
22288
a9e6ff28
VS
222892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22292
0b830b8f
VS
222932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * util/hostdisk.c (make_device_name): Change to new partition naming.
22296
0973daeb
VS
222972010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22300
460d8402 223012010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
22302
22303 * Makefile.in: Add missing localedir setting.
22304
0b456309
CW
223052010-04-14 Colin Watson <cjwatson@ubuntu.com>
22306
22307 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
22308 mistake in r2156. Noticed by Anthony Fok.
22309
22310 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
22311 @localedir@.
22312 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22313
08f46d62
BC
223142010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
22315
22316 Fix a spurious, uninitialized variable warning.
22317
22318 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
22319 Initialize variable, shdr.
22320 (grub_freebsd_load_elfmodule): Likewise.
22321 (grub_freebsd_load_elf_meta): Likewise.
22322
8c4a72d4
BC
223232010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
22324
22325 Fix for escaped dollar in double quoted strings.
22326
22327 * script/yylex.l: Updated flex rules.
22328 * conf/tests.rmk: Rule for new testcase.
22329 * tests/grub_script_dollar.in: New testcase.
22330
ce44826e
CPE
223312010-04-13 Carles Pina i Estany <carles@pina.cat>
223322010-04-13 Colin Watson <cjwatson@ubuntu.com>
22333
22334 Enclose all translated strings in grub.cfg in single quotes, and
22335 escape them appropriately (Ubuntu bug #552921).
22336
22337 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
22338 * util/grub.d/10_hurd.in: Use it.
22339 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22340 * util/grub.d/10_linux.in (linux_entry): Likewise.
22341
4b0cd8f8
VS
223422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 Fix cygwin compilation.
22345
22346 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
22347 * include/grub/misc.h (__register_frame_info)
22348 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22349 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22350 * kern/misc.c (__register_frame_info)
22351 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22352 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22353
01fcf061
VS
223542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22357
5d04b11e
VS
223582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 Unify libgcc processing.
22361
22362 * Makefile.in (kernel_img_LDFLAGS): New variable.
22363 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22364 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22365 overwriting.
22366 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22367 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22368 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22369 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22370 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22371 overwriting. Remove -lgcc and -static-libgcc
22372 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22373 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22374 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22375 (kernel_img_LDFLAGS): Append instead of overwriting.
22376 Remove -lgcc and -static-libgcc
22377 * conf/sparc64-ieee1275.rmk: Likewise.
22378 * include/grub/powerpc/libgcc.h: Move to ...
22379 * include/grub/libgcc.h: .. this.
22380 * include/grub/libgcc.h: Don't export most of the function on x86.
22381 (__bswapsi2): New export.
22382 (__bswapdi2): Likewise.
22383 * include/grub/mips/libgcc.h: Removed.
22384 * include/grub/sparc64/libgcc.h: Likewise.
22385
b7f3ac29
VS
223862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22389 disk_info_msg (conflicts with gettexting into languages with cases).
22390
2c7031b1
GS
223912010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22392
22393 Add grub-probe support for NetBSD.
22394
22395 * util/getroot.c (find_root_device): Convert block device to
22396 character device on NetBSD.
22397 * util/probe.c (probe): Require character device on NetBSD.
22398 * util/hostdisk.c: NetBSD specific headers.
22399 (configure_device_driver): new function to tune device driver
22400 parameters (currently only for NetBSD floppy driver).
22401 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22402 via disklabel ioctl).
22403 (open_device): call configure_device_driver on NetBSD.
22404 (convert_system_partition_to_system_disk): NetBSD specific code.
22405 (device_is_wholedisk): Likewise.
22406 (grub_util_biosdisk_get_grub_dev): Likewise.
22407 (make_device_name): Fixed a typo in bsd_part_str.
22408 * configure.ac: check for opendisk() and getrawpartition() on
22409 NetBSD and set LIBUTIL.
22410 * Makefile.in: add LIBUTIL to LIBS.
22411
f516290c
BC
224122010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22413
22414 Documentation fix.
22415
22416 * util/grub-script-check.c: Better help message.
22417
d8dcc0df
BC
224182010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22419
22420 Fix FreeBSD build.
22421
22422 * configure.ac: Flex version check.
22423 * conf/common.rmk: Add -Wno-error to sh.mod.
22424 * script/yylex.l: Remove all #pragma.
22425
6734334a
VS
224262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22429 prototype.
22430 Reported by: Seth Goldberg.
22431
daea6abd
VS
224322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22435 Rename "module" to "module2".
22436 Reported by: Seth Goldberg.
22437
f2fd9d2b
VS
224382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22439
22440 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22441 EXPORT_FUNC.
22442 Reported by: Seth Goldberg.
22443
be124579
VS
224442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * lib/posix_wrap/locale.h: Add missing file.
22447 Reported by: Seth Goldberg.
22448
ef5da797
VS
224492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 grub-emu module load support.
22452
22453 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22454 NO_DYNAMIC_MODULES switched to this.
22455 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22456 (CFLAGS): Likewise.
22457 * conf/any-emu.rmk: Generate symlist.
22458 (kernel_img_HEADERS): Add util/datetime.h.
22459 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22460 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22461 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22462 kern/$(target_cpu)/cache.S.
22463 * configure.ac (grub-emu-modules): New option.
22464 * genmk.rb: Handle multiple source lists.
22465 * include/grub/sdl.h: New file.
22466 * include/grub/libusb.h: Likewise.
22467 * util/grub-emu.c (main): Hanle (host) root.
22468 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22469 GRUB_ERR_UNKNOWN_DEVICE.
22470 * util/misc.c: Move mm functions to ...
22471 * util/mm.c: ... here. All users updated.
22472
47822096
VS
224732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22474
22475 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22476 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22477 missing files.
22478 (maintainer-clean): Remove libgcrypt-grub.
22479
5d7e7445
VS
224802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22483
25f4e252
EC
224842010-04-09 EFI Coder <eficoder@hotmail.com>
22485
22486 * normal/menu_text.c (print_message): Clean up the message and show
22487 the Fn information when on EFI
22488 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22489
027de555
VS
224902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22493 All users updated.
22494 * normal/crypto.c (read_crypto_list): Likewise.
22495 * normal/dyncmd.c (read_command_list): Likewise.
22496 * normal/term.c (read_terminal_list): Likewise.
22497 * normal/main.c (read_lists): Use explicit prefix.
22498 (read_lists_hook): Use read_lists.
22499 (grub_normal_execute): Likewise.
22500
47779711
VS
225012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22504 Reported by: Thomas Schmitt.
22505 Add -no-emul-boot to grub-mkisofs parameters.
22506
1118c32e
VS
225072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 * font/font.c: Indented.
22510
7d652447
BC
225112010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22512
22513 Elif support to GRUB script (by Deepak Vankadaru).
22514
22515 * tests/grub_script_if.in: New testcase.
22516 * conf/tests.rmk: Rule for new testcase.
22517 * script/parser.y: Grammar rules for elif.
22518
34bb22df
BC
225192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22520
22521 While and until loops support to GRUB script.
22522
22523 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22524 (grub_script_create_cmdwhile): New function prototype.
22525 (grub_script_execute_cmdwhile): New function prototype.
22526 * script/execute.c (grub_script_execute_cmdwhile): New function.
22527 * script/parser.y (command): New commands.
22528 (whilecmd): New grammar rule.
22529 (untilcmd): New grammar rule.
22530 * script/script.c (grub_script_create_cmdwhile): New function.
22531 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22532 function.
22533
22534 * tests/grub_script_while1.in: New testcase.
22535 * conf/tests.rmk: Rule for new testcase.
22536
e215d8e0
VS
225372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22540 as *.jpg.
22541
d7c43ba1
MV
225422010-04-09 Mario Vazquez <mariovazq@gmail.com>
22543
22544 GRUB_BACKGROUND support.
22545
22546 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22547 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22548
d64795c0
VS
225492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 22552 Idea by: Mario Vazquez
d64795c0
VS
22553
22554 * util/grub.d/00_header.in: Load pf2 and image modules.
22555
f267f83a
VS
225562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 grub-mkconfig multiple terminal support.
22559
22560 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22561 * util/grub.d/00_header.in: Likewise.
22562
b7841ceb
VS
225632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22564
22565 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22566 we use cd $(srcdir).
22567
df60998c
CW
225682010-04-08 Colin Watson <cjwatson@ubuntu.com>
22569
22570 * util/grub.d/10_linux.in: Only use the first word of
22571 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22572 spaces in GRUB_DISTRIBUTOR.
22573 * util/grub.d/10_kfreebsd.in: Likewise.
22574 * util/grub.d/10_hurd.in: Likewise.
22575
fa09c82e
BC
225762010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22577
14e18ae3 22578 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
22579
22580 * tests/util/grub-shell.in: Remove -serial stdio option.
22581
daf892b3
BC
225822010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 POSIX header file wrappers.
22585
22586 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22587 equivalents.
22588 * lib/posix_wrap/ctype.h: Likewise.
22589 * lib/posix_wrap/errno.h: Likewise.
22590 * lib/posix_wrap/langinfo.h: Likewise.
22591 * lib/posix_wrap/limits.h: Likewise.
22592 * lib/posix_wrap/localcharset.h: Likewise.
22593 * lib/posix_wrap/stdint.h: Likewise.
22594 * lib/posix_wrap/stdio.h: Likewise.
22595 * lib/posix_wrap/stdlib.h: Likewise.
22596 * lib/posix_wrap/string.h: Likewise.
22597 * lib/posix_wrap/sys/types.h: Likewise.
22598 * lib/posix_wrap/unistd.h: Likewise.
22599 * lib/posix_wrap/wchar.h: Likewise.
22600 * lib/posix_wrap/wctype.h: Likewise.
22601 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22602 (grub_script.yy.h): Likewise.
22603 * script/yylex.l: Remove POSIX emulation #defines.
22604 * Makefile.in (POSIX_CFLAGS): New variable.
22605 (GNULIB_UTIL_CFLAGS): Likewise.
22606
22607 Regexp support.
22608
22609 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22610 (regexp_mod_SOURCES): New variable.
22611 (regexp_mod_CFLAGS): Likewise.
22612 (regexp_mod_LDFLAGS): Likewise.
22613 * commands/regexp.c: New file.
22614 * gnulib/regcomp.c: New file. Imported from gnulib.
22615 * gnulib/regex.c: Likewise.
22616 * gnulib/regex_internal.c: Likewise.
22617 * gnulib/regex_internal.h: Likewise.
22618 * gnulib/regexec.c: Likewise.
22619 * gnulib/regex.h: Likewise.
22620
974ac4f7
VS
226212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22624 unsupported video mode types.
22625
2622c3ff
VS
226262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22629
064cb524
VS
226302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22631
22632 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22633 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22634
a8c3b552
VS
226352010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 Remove unused grub_vga_get_font.
22638
22639 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22640 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22641
187bbe3d
GS
226422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22643
22644 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22645 * include/grub/misc.h: Likewise.
22646
b9396631
GS
226472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22648
22649 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22650 for which failure is fatal.
22651
50479feb
GS
226522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22653
22654 * util/grub-install.in: Use mkdir -p to create grub directory.
22655 * util/i386/efi/grub-install.in: Likewise.
22656 * util/ieee1275/grub-install.in: Likewise.
22657
b1654fdf
GS
226582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22659
22660 * Makefile.in (LEX): new variable.
22661
bd5a6415
GS
226622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22663
22664 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22665 `=' and added double quotes on operands of this equality test.
22666
3db3a82b
VS
226672010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22668
22669 * Makefile.in (uninstall): Remove a leftover debug echo.
22670 Reported by: Grégoire Sutre
22671
38023412
VS
226722010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22673
22674 MIPS multiboot2 support.
22675
22676 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22677 (multiboot2_mod_SOURCES): New variable.
22678 (multiboot2_mod_CFLAGS): Likewise.
22679 (multiboot2_mod_LDFLAGS): Likewise.
22680 (multiboot2_mod_ASFLAGS): Likewise.
22681 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22682 definition.
22683 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22684 (MULTIBOOT_MBI_REGISTER): Likewise.
22685 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22686 (MULTIBOOT_ELF32_MACHINE): Likewise.
22687 (MULTIBOOT_ELF64_MACHINE): Likewise.
22688 * include/grub/mips/multiboot.h: New file.
22689 * include/grub/video.h (grub_video_driver_id): New type
22690 GRUB_VIDEO_DRIVER_SM712.
22691 (grub_video_get_info_and_fini): Export.
22692 (grub_video_get_palette): Likewise.
22693 (grub_video_get_driver_id): Likewise.
22694 * include/multiboot2.h: Resynced with spec.
22695 * loader/i386/multiboot.c: Moved from here ...
22696 * loader/multiboot.c: ... here. All users updated.
22697 (grub_multiboot_boot): Use platform-specific macros.
22698 * loader/i386/multiboot_elfxx.c: Moved from here ...
22699 * loader/multiboot_elfxx.c: ... here. All users updated.
22700 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22701 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22702 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22703
47674667
VS
227042010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 Import gnulib argp module.
22707
22708 * gnulib/argp-ba.c: New file.
22709 * gnulib/argp-eexst.c: Likewise.
22710 * gnulib/argp-fmtstream.c: Likewise.
22711 * gnulib/argp-fmtstream.h: Likewise.
22712 * gnulib/argp-fs-xinl.c: Likewise.
22713 * gnulib/argp-help.c: Likewise.
22714 * gnulib/argp-namefrob.h: Likewise.
22715 * gnulib/argp-parse.c: Likewise.
22716 * gnulib/argp-pin.c: Likewise.
22717 * gnulib/argp-pv.c: Likewise.
22718 * gnulib/argp-pvh.c: Likewise.
22719 * gnulib/argp-version-etc.c: Likewise.
22720 * gnulib/argp-version-etc.h: Likewise.
22721 * gnulib/argp-xinl.c: Likewise.
22722 * gnulib/argp.h: Likewise.
22723
495442ed
VS
227242010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22725
22726 * kern/device.c (grub_device_iterate): Clear errors after failed
22727 opening device.
22728
f9fd65df
VS
227292010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22732 returned by firmware.
22733
af09641e
VS
227342010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22737 compilation on coreboot and qemu
22738
016883a5
VS
227392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22740
22741 * include/multiboot2.h: Resync with spec.
22742
f97e1f7d
VS
227432010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 Multiboot2 tag support
22746
22747 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22748 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22749 Remove loader/multiboot_loader.c.
22750 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22751 (grub_multiboot2_real_boot): Likewise.
22752 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22753 (grub_get_multiboot_mmap_count): New proto.
22754 (grub_fill_multiboot_mmap): Likewise.
22755 (grub_multiboot_set_video_mode): Likewise.
22756 (grub_multiboot_set_console): Likewise.
22757 (grub_multiboot_load): Likewise.
22758 (grub_multiboot_load_elf): Likewise.
22759 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22760 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22761 * include/multiboot.h: Resynced with specification.
22762 * include/multiboot2.h: Resynced with specification.
22763 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22764 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22765 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22766 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22767 users updated.
22768 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22769 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22770 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22771 Removed.
22772 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22773 Moved from here...
22774 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22775 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22776 Moved from here...
22777 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22778 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22779 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22780 All users updated.
22781 * loader/i386/multiboot_mbi2.c: New file.
22782
3506b90b
VS
227832010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22784
22785 Resync with gnulib.
22786
22787 * Makefile.in (GNULIB_CFLAGS): New variable.
22788 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22789 (grub_script_check_CFLAGS): New variable.
22790 * gnulib/alloca.h: Resync with gnulib.
22791 * gnulib/error.c: Likewise.
22792 * gnulib/error.h: Likewise.
22793 * gnulib/fnmatch.c: Likewise.
22794 * gnulib/fnmatch_loop.c: Likewise.
22795 * gnulib/getdelim.c: Likewise.
22796 * gnulib/getline.c: Likewise.
22797 * gnulib/getopt.c: Likewise.
22798 * gnulib/getopt1.c: Likewise.
22799 * gnulib/getopt_int.h: Likewise.
22800 * gnulib/gettext.h: Likewise.
22801 * gnulib/progname.c: Likewise.
22802 * gnulib/progname.h: Likewise.
22803
394a3120
GS
228042010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22805
22806 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22807 which is the case with --disabled-nls.
22808
22809 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22810 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22811 * util/misc.c: Likewise.
22812 * util/mkisofs/mkisofs.c: Likewise.
22813 * util/mkisofs/mkisofs.h: Likewise.
22814
969d1c78
VS
228152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 Simplify Apple CC support.
22818
22819 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22820 Add 0 byte at the end not to have a symbol with empty target.
22821 * mmap/i386/pc/mmap_helper.S: Likewise.
22822 * genmk.rb: Ignore errors 2030 and 2050.
22823 * kern/i386/pc/startup.S: Use LOCAL when possible.
22824
8d2977bb
BC
228252010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22826
22827 Testcase and the fix for final semicolon on cmdline.
22828
22829 * tests/grub_script_final_semicolon.in: New testcase.
22830 * conf/tests.rmk: Rules for the new testcase.
22831 * script/parser.y: Grammar fix.
22832
a7bd6915
BC
228332010-03-26 BVK Chaitanya <bvk@localhost>
22834
22835 Blank lines testcase for GRUB script.
22836
22837 * tests/grub_script_blanklines.in: New testcase.
22838 * conf/tests.rmk: Rules for the new testcase.
22839
e4ff6628
VS
228402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22841
22842 Don't use __FILE__.
22843
22844 * genmk.rb: Add -DGRUB_FILE to all C targets.
22845 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22846 * include/grub/list.h: Likewise.
22847 * include/grub/misc.h: Likewise.
22848 * include/grub/mm.h: Likewise.
22849 * include/grub/test.h: Likewise.
22850 * kern/mm.c: Likewise.
22851 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22852
6a5cf6b6
VS
228532010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 Sunpc partitions support.
22856
22857 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22858 (grub_fstest_SOURCES): Likewise.
22859 (pkglib_MODULES): Add part_sunpc.mod.
22860 (part_sunpc_mod_SOURCES): New variable.
22861 (part_sunpc_mod_CFLAGS): Likewise.
22862 (part_sunpc_mod_LDFLAGS): Likewise.
22863 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22864 * partmap/sunpc.c: New file.
22865
746d9045
BC
228662010-03-26 BVK Chaitanya <bvk@localhost>
22867
22868 For loop support to GRUB script.
22869
22870 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22871 (grub_script_create_cmdfor): New function prototype.
22872 (grub_script_execute_cmdfor): New function prototype.
22873 * script/execute.c (grub_script_execute_cmdfor): New function.
22874 * script/parser.y (command): New for command.
22875 (forcmd): New grammar rule.
22876 * script/script.c (grub_script_create_cmdfor): New function.
22877 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22878 function.
22879 * tests/grub_script_for1.in: New testcase.
22880 * conf/tests.rmk: Rules for new testcase.
22881
18486b18
VS
228822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22883
22884 Nested partitions
22885
22886 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22887 'partition' is NULL, grub_partition_get_start already does that.
22888 * commands/loadenv.c (check_blocklists): Likewise.
22889 (write_blocklists): Likewise.
22890 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
22891 (grub_fstest_SOURCES): Likewise.
22892 (pkglib_MODULES): Add part_bsd.mod.
22893 (part_bsd_mod_SOURCES): New variable.
22894 (part_bsd_mod_CFLAGS): Likewise.
22895 (part_bsd_mod_LDFLAGS): Likewise.
22896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
22897 (grub_emu_SOURCES): Likewise.
22898 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22899 * include/grub/bsdlabel.h: New file.
22900 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
22901 'get_name'.
22902 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
22903 (grub_partition_map_list): New variable.
22904 (grub_partition_map_register): Inline.
22905 (grub_partition_map_unregister): Likewise.
22906 (FOR_PARTITION_MAPS): New macro.
22907 (grub_partition_map_iterate): Removed.
22908 (grub_partition_get_start): Handle nested partitions.
22909 * include/grub/msdos_partition.h: Remove bsd-related entries.
22910 (grub_pc_partition): Remove.
22911 * kern/disk.c (grub_disk_close): Free partition data.
22912 (grub_disk_adjust_range): Handle nested partitions.
22913 * kern/partition.c (grub_partition_map_probe): New function.
22914 (grub_partition_probe): Parse name to number, handle subpartitions.
22915 (get_partmap): New function.
22916 (grub_partition_iterate): Handle subpartitions.
22917 (grub_partition_get_name): Likewise.
22918 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
22919 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
22920 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
22921 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
22922 Set 'number'.
22923 (acorn_partition_map_probe): Remove.
22924 (acorn_partition_map_get_name): Likewise.
22925 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
22926 Set 'number'.
22927 Set 'index' to 0 since there can be only one partition entry per sector.
22928 (amiga_partition_map_probe): Remove.
22929 (amiga_partition_map_get_name): Likewise.
22930 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
22931 Set 'number'.
22932 Set 'offset' and 'index' to real positions of partitions.
22933 (apple_partition_map_probe): Remove.
22934 (apple_partition_map_get_name): Likewise.
22935 * partmap/bsdlabel.c: New file.
22936 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
22937 Set 'number'.
22938 Allocate 'data' so it can be correctly freed.
22939 Set 'index' to offset inside sector.
22940 (gpt_partition_map_probe): Remove.
22941 (gpt_partition_map_get_name): Likewise.
22942 * partmap/msdos.c (grub_partition_parse): Remove.
22943 (pc_partition_map_iterate): Don't force raw access.
22944 Set 'number'.
22945 Make 'ext_offset' a local variable.
22946 (pc_partition_map_probe): Remove.
22947 (pc_partition_map_get_name): Remove.
22948 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
22949 Set 'number'.
22950 (sun_partition_map_probe): Remove.
22951 (sun_partition_map_get_name): Likewise.
22952 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
22953 (grub_pcpart_type): Likewise.
22954 * util/hostdisk.c (open_device): Handle new numbering scheme.
22955 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
22956 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
22957 * util/grub-probe.c (probe_partmap): Handle nested paritions.
22958 * util/grub-install.in: Insert all subpartition modules.
22959 * util/ieee1275/grub-install.in: Likewise.
22960
a3940f88
AG
229612010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
22962
22963 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
22964 grammar.
22965
21b99926 229662010-03-24 Colin Watson <cjwatson@ubuntu.com>
22967
22968 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
22969
bed1d352
CW
229702010-03-21 Colin Watson <cjwatson@ubuntu.com>
22971
22972 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
22973 match where 'make install' puts them.
22974 * util/i386/efi/grub-install.in: Likewise.
22975
c9f58427
CW
229762010-03-19 Colin Watson <cjwatson@ubuntu.com>
22977
22978 * .bzrignore: Add gentrigtables, grub-script-check,
22979 grub_script_check_init.c, grub_script_check_init.h, and
22980 trigtables.c.
22981
f84afb27
VS
229822010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * kern/parser.c: Indented.
22985
ed0e3d30
VS
229862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22987
22988 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
22989
0ea81d98
VS
229902010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22991
22992 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22993 alpha_mask_size == 0 case.
22994
0cdc2a09
BC
229952010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22996
22997 GRUB shell lexer and parser improvements.
22998
22999 * conf/any-emu.rmk: Build rule updates.
23000 * conf/common.rmk: Likewise.
23001 * conf/i386-coreboot.rmk: Likewise.
23002 * conf/i386-efi.rmk: Likewise.
23003 * conf/i386-ieee1275.rmk: Likewise.
23004 * conf/i386-pc.rmk: Likewise.
23005 * conf/powerpc-ieee1275.rmk: Likewise.
23006 * conf/x86_64-efi.rmk: Likewise.
23007
23008 * configure.ac: Configure check for flex.
23009
23010 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23011 types.
23012 (grub_lexer_param): Struct member updates.
23013 (grub_parser_param): Likewise.
23014 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23015 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23016 (grub_script_lexer_init): Prototype update.
23017 (grub_script_lexer_record_start): Likewise.
23018 (grub_script_lexer_record_stop): Likewise.
23019 (grub_script_lexer_yywrap): New function prototype.
23020 (grub_script_lexer_fini): Likewise.
23021 (grub_script_execute_argument_to_string): Removed by...
23022 (grub_script_execute_argument_to_argv): ...better version.
23023
23024 * script/execute.c (ROUND_UPTO): New macro.
23025 (grub_script_execute_cmdline): Out of memory fixes.
23026 (grub_script_execute_menuentry): Likewise.
23027 (grub_script_execute_argument_to_string): Removed. Update all
23028 users by...
23029 (grub_script_execute_argument_to_argv): ...better version.
23030 * script/function.c (grub_script_function_create): Use
23031 grub_script_execute_argument_to_argv instead of
23032 grub_script_execute_argument_to_string.
23033
23034 * script/lexer.c (check_varstate): Removed.
23035 (check_textstate): Removed.
23036 (grub_script_lexer_record_start): Likewise.
23037 (grub_script_lexer_record_stop): Likewise.
23038 (recordchar): Replaced with...
23039 (grub_script_lexer_record): ...new function.
23040 (nextchar): Removed.
23041 (grub_script_lexer_init): Rewritten.
23042 (grub_script_yylex): Rewritten.
23043 (append_newline): New function.
23044 (grub_script_lexer_yywrap): New function.
23045 (grub_script_lexer_fini): New function.
23046 (grub_script_yyerror): Sets error flag.
23047
23048 * script/yylex.l: New file.
23049 (grub_lexer_yyfree): Wrapper for flex yyffre.
23050 (grub_lexer_yyalloc): Likewise.
23051 (grub_lexer_yyrealloc): Likewise.
23052 * script/parser.y: Refactored.
23053
23054 * script/script.c (grub_script_arg_add): Out of memory fixes.
23055 (grub_script_add_arglist): Likewise.
23056 (grub_script_create_cmdline): Likewise.
23057 (grub_script_create_cmdmenu): Likewise.
23058 (grub_script_add_cmd): Likewise.
23059 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23060 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23061 unnecessary code.
23062
23063 * tests/grub_script_echo1.in: New testcase.
23064 * tests/grub_script_vars1.in: New testcase.
23065 * tests/grub_script_echo_keywords.in: New testcase.
23066
1d63a066
VS
230672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 Remove some redundancy in build system.
23070
23071 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23072 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23073 (TARGET_LDFLAGS): Add -nostdlib.
23074 (TARGET_IMG_LDFLAGS): Likewise.
23075 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23076 anything since mmap isn't available.
23077 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23078 Add util/time.c.
23079 (pkglib_MODULES): Remove reboot.mod.
23080 (reboot_mod_SOURCES): Removed.
23081 (reboot_mod_CFLAGS): Likewise.
23082 (reboot_mod_LDFLAGS): Likewise.
23083 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23084 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23085 (DEFSYMFILES): Add kernel_syms.lst.
23086 (kernel_img_HEADERS): Add common headers.
23087 (symlist.c): New target.
23088 (kernel_syms.lst): Likewise.
23089 (pkglib_MODULES): Add memdisk.mod.
23090 (memdisk_mod_SOURCES): New variable.
23091 (memdisk_mod_CFLAGS): Likewise.
23092 (memdisk_mod_LDFLAGS): Likewise.
23093 (pkglib_MODULES): Add reboot.mod.
23094 (reboot_mod_SOURCES): New variable.
23095 (reboot_mod_CFLAGS): Likewise.
23096 (reboot_mod_LDFLAGS): Likewise.
23097 (pkglib_MODULES): Add date.mod.
23098 (date_mod_SOURCES): New variable.
23099 (date_mod_CFLAGS): Likewise.
23100 (date_mod_LDFLAGS): Likewise.
23101 (pkglib_MODULES): Add datehook.mod.
23102 (datehook_mod_SOURCES): New variable.
23103 (datehook_mod_CFLAGS): Likewise.
23104 (datehook_mod_LDFLAGS): Likewise.
23105 (pkglib_MODULES): Add lsmmap.mod.
23106 (lsmmap_mod_SOURCES): New variable.
23107 (lsmmap_mod_CFLAGS): Likewise.
23108 (lsmmap_mod_LDFLAGS): Likewise.
23109 (pkglib_MODULES): Add boot.mod.
23110 (boot_mod_SOURCES): New variable.
23111 (boot_mod_CFLAGS): Likewise.
23112 (boot_mod_LDFLAGS): Likewise.
23113 * conf/i386-coreboot.rmk: Removed redundant parts.
23114 * conf/i386-ieee1275.rmk: Likewise.
23115 * conf/i386-pc.rmk: Likewise.
23116 * conf/mips-yeeloong.rmk: Likewise.
23117 * conf/mips.rmk: Likewise.
23118 * conf/powerpc-ieee1275.rmk: Likewise.
23119 * conf/sparc64-ieee1275.rmk: Likewise.
23120 * conf/x86_64-efi.rmk: Likewise.
23121 * conf/i386-coreboot.rmk: Moved qemu parts ..
23122 * conf/i386-qemu.rmk: ... here
23123 * conf/i386-efi.rmk: Moved common parts to...
23124 * conf/x86-efi.rmk: ... here.
23125 * conf/i386.rmk: Added modules common to all x86 variants.
23126 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23127 * disk/memdisk.c: Remove grub/machine/kernel.h.
23128 * gensymlist.sh.in: Include symbol.h.
23129 * hook/datehook.c: Correct module name.
23130 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23131 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23132 * include/grub/i386/efi/serial.h: New file.
23133 * include/grub/x86_64/efi/serial.h: Likewise.
23134 * util/time.c: Likewise.
23135 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23136
463ac55f
CK
231372010-03-14 Colin King <colin.king@ubuntu.com>
231382010-03-14 Colin Watson <cjwatson@ubuntu.com>
23139
23140 Shrink the pre-partition-table part of boot.img by eight bytes.
23141
23142 * boot/i386/pc/boot.S (ERR): New macro.
23143 (chs_mode): Use ERR.
23144 (geometry_error): Likewise.
23145 (hd_probe_error): Remove. This is only used once, so we wrwite
23146 it inline instead.
23147 (read_error): Instead of printing read_error_string, just set up
23148 %si and fall through to ...
23149 (error_message): ... this new function, also used by ERR.
23150
08e46ede
CW
231512010-03-14 Colin Watson <cjwatson@ubuntu.com>
23152
23153 Speed up consecutive hostdisk operations on the same device.
23154
23155 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23156 (grub_util_biosdisk_open): Initialise disk->data.
23157 (struct linux_partition_cache): New structure.
23158 (linux_find_partition): Cache partition start positions; these are
23159 expensive to compute on every read and write.
23160 (open_device): Cache open file descriptor in disk->data, so that we
23161 don't have to reopen it and flush the buffer cache for consecutive
23162 operations on the same device.
23163 (grub_util_biosdisk_close): New function.
23164 (grub_util_biosdisk_dev): Set `close' member.
23165
23166 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23167 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23168 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23169 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23170 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23171
4a6d2d06
VS
231722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 Compile parts of grub-emu as modules.
23175
23176 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23177 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23178 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23179 (all-local): Add $(GRUB_EMU).
23180 (install-local): Install $(GRUB_EMU).
23181 (uninstall): Uninstall $(GRUB_EMU).
23182 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23183 * kern/dl.c: Likewise.
23184 * commands/sleep.c: Not include machine/time.h.
23185 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
23186 (COMMON_CFLAGS): Likewise.
23187 (sbin_UTILITIES): Remove grub-emu.
23188 (grub_emu_SOURCES): Removed.
23189 (kernel_img_RELOCATABLE): New variable.
23190 (pkglib_PROGRAMS): Add kernel.img.
23191 (kernel_img_SOURCES): New variable
23192 (kernel_img_CFLAGS): Likewise.
23193 (kernel_img_LDFLAGS): Likewise.
23194 (TARGET_NO_STRIP): Likewise.
23195 (TARGET_NO_DYNAMIC_MODULES): Likewise.
23196 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
23197 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
23198 (grub-emu): New target.
23199 (GRUB_EMU): New variable.
23200 * configure.ac: Whitelist -emu as possible x86_64 architecture.
23201 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
23202 * loader/xnu.c: Likewise.
23203 * include/grub/pci.h: Likewise.
23204 * genemuinit.sh: New file.
23205 * genemuinitheader.sh: Likewise.
23206 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
23207 Support TARGET_NO_DYNAMIC_MODULES.
23208 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
23209 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
23210 * disk/loopback.c: Likewise.
23211 * font/font_cmd.c: Likewise.
23212 * partmap/acorn.c: Likewise.
23213 * partmap/amiga.c: Likewise.
23214 * partmap/apple.c: Likewise.
23215 * partmap/gpt.c: Likewise.
23216 * partmap/msdos.c: Likewise.
23217 * partmap/sun.c: Likewise.
23218 * parttool/msdospart.c: Likewise.
23219 * term/gfxterm.c: Likewise.
23220 * video/bitmap.c: Likewise.
23221 * video/readers/jpeg.c: Likewise.
23222 * video/readers/png.c: Likewise.
23223 * video/readers/tga.c: Likewise.
23224 * video/video.c: Likewise.
23225 * util/grub-emu.c (read_command_list): Removed.
23226 (main): Don't call util_init_nls.
23227 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
23228 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
23229
91fdd2ed
VS
232302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23231
23232 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
23233 date.mod, datehook.mod.
23234 (datetime_mod_SOURCES): New variable.
23235 (datetime_mod_CFLAGS): Likewise.
23236 (datetime_mod_LDFLAGS): Likewise.
23237 (date_mod_SOURCES): Likewise.
23238 (date_mod_CFLAGS): Likewise.
23239 (date_mod_LDFLAGS): Likewise.
23240 (datehook_mod_SOURCES): Likewise.
23241 (datehook_mod_CFLAGS): Likewise.
23242 (datehook_mod_LDFLAGS): Likewise.
23243 * conf/sparc64-ieee1275.rmk: Likewise.
23244 * lib/ieee1275/datetime.c: New file.
23245
873ccae6
VS
232462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
23249 (ieee1275_fb_mod_SOURCES): New variable.
23250 (ieee1275_fb_mod_CFLAGS): Likewise.
23251 (ieee1275_fb_mod_LDFLAGS): Likewise.
23252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
23253 New proto.
23254 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
23255 (HEAP_MAX_ADDR): Likewise.
23256 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
23257 type.
23258 Correct stop condition.
23259 (grub_ieee1275_devices_iterate): New function.
23260 * video/ieee1275.c: New file.
23261
601c97c0
VS
232622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
23265
23266 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
23267 as scratch.
23268 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
23269 SCRATCH_PAD_DISKBOOT as scratch.
23270 (bootit): Pass Openfirmware pointer in %o4.
23271 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
23272 of 0x200000.
23273 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
23274 with util/grub-mkrawimage.c.
23275 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
23276 * include/grub/aout.h (AOUT_MID_SUN): New definition.
23277 (grub_aout_get_type) [GRUB_UTIL]: Removed.
23278 (grub_aout_load) [GRUB_UTIL]: Likewise.
23279 * include/grub/kernel.h (grub_modules_get_end): New proto.
23280 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
23281 (SCRATCH_PAD_BOOT): New definition.
23282 (SCRATCH_PAD_DISKBOOT): Likewise.
23283 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
23284 * include/grub/sparc64/ieee1275/ieee1275.h
23285 (grub_ieee1275_original_stack): New variable
23286 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23287 New definition
23288 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
23289 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
23290 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
23291 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
23292 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
23293 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
23294 (grub_platform_image_format_t): New type.
23295 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
23296 * kern/main.c (grub_modules_get_end)
23297 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
23298 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
23299 (codestart): Switch stacks.
23300 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
23301 variable.
23302 (grub_heap_init): Use grub_modules_get_end.
23303 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
23304 stack.
23305 * util/grub-mkrawimage.c (generate_image): Support sparc64.
23306 (main): Likewise.
23307 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
23308
d68b491e
TG
233092010-03-14 Thorsten Glaser <tg@mirbsd.org>
23310
23311 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23312
4e02ed50
MK
233132010-03-08 Matt Kraai <kraai@ftbfs.org>
23314
23315 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
23316 bug #559005).
23317
1f15fc1e
VS
233182010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 * genmoddep.awk: Output all missing symbols and not only first.
23321
fce5d8ff
VS
233222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23323
23324 * NEWS: Put the date of 1.98 release.
23325
d1e8a02f
VS
233262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23327
23328 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23329 ft2build.h.
23330
696fd607
VS
233312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
23334 completition in the middle of string.
23335
33e2e6f3
VS
233362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23337
23338 * util/grub-mkrescue.in: Use mktemp with explicit template.
23339
b1f6d291
VS
233402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23341
23342 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23343
2ac227c7
VS
233442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23345
23346 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
23347 right pointer.
23348
8f9a632b
VS
233492010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23350
23351 Fix FreeBSD compilation.
23352
23353 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23354 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23355
60b03859
VS
233562010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23359
48a5a769
VS
233602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23363
3ab4bd77
VS
233642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23367
d116e0d8
RM
233682010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23369
23370 Support relative image path in theme file.
23371
23372 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23373 (image_set_property): Handle theme_dir and relative path.
23374
c7ef54aa
VS
233752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23376
23377 * configure.ac: Alias amd64 to x86_64.
23378
fcee14ed
VS
233792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23380
23381 * NEWS: mention multiboot on EFI.
23382
d0780363
VS
233832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23384
23385 * kern/main.c (grub_load_modules): Handle errors from init functions of
23386 embeded modules.
23387
41168ea4
VS
233882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23389
23390 * normal/autofs.c (autoload_fs_module): Handle errors.
23391
b54d93ac
VS
233922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23393
23394 Disable linux.mod on qemu-mips since it's not functional and leads
23395 to compilation failure.
23396
23397 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23398 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23399 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23400 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23401 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23402 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23403 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23404 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23405 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23406 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23407 Reported by: BVK Chaitanya
23408
fc8345da
JU
234092010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23410
23411 * INSTALL: Add gettext as a dependency and add qemu to a new section
23412 "Prerequisites for make-check".
23413
4760f979
CF
234142010-03-04 Christian Franke <franke@computer.org>
23415
23416 * util/grub-pe2elf.c: Add missing include "progname.h".
23417
f209b5b2
VS
234182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * normal/crypto.c (read_crypto_list): Fix a typo.
23421 Reported by: Seth Goldberg.
23422
b4b7be98
VS
234232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23424
23425 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 23426 Reported by: Seth Goldberg.
b4b7be98 23427
c0ee0385
VS
234282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23429
23430 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23431 ascii.bitmaps.
23432
a8efbf64
VS
234332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23434
23435 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 23436 Reported by: Seth Goldberg.
a8efbf64 23437
08dcd913
VS
234382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23439
23440 * util/i386/efi/grub-install.in: Copy gettext files.
23441
c4d0b332
VS
234422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23445
c6f2fe52
VS
234462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23447
23448 Wait for user entry basing on presence of output rather than on errors.
23449
23450 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23451 (grub_install_newline_hook): Likewise.
23452 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23453 * normal/menu.c (show_menu): Check line_counter to determine presence
23454 of output.
23455 * normal/term.c (grub_normal_line_counter): New variable.
23456 (grub_normal_get_line_counter): New function.
23457 (grub_install_newline_hook): Likewise.
23458
5382b1e4
VS
234592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23462
5519963b
VS
234632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 * configure.ac: Update version to 1.98.
23466
72b28631
VS
234672010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 * util/grub.d/10_linux.in (linux_entry): Don't default to
23470 gfxpayload=keep if Linux doesn't support video handover.
23471
c140a180
VS
234722010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23473
23474 Don't compile video modules on yeeloong since video subsystem is part
23475 of kernel.
23476
23477 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23478 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23479 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23480 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23481 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23482 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23483 * include/grub/bitmap_scale.h: Likewise.
23484 * include/grub/bufio.h: Likewise.
23485 * include/grub/font.h: Likewise.
23486 * include/grub/gfxterm.h: Likewise.
23487 * include/grub/video.h: Likewise.
23488 * include/grub/vbe.h: Don't include video_fb.h.
23489 * video/i386/pc/vbe.c: Include video_fb.h.
23490 * commands/i386/pc/vbetest.c: Include video.h.
23491
a0ca21c2
CW
234922010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23493
23494 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23495 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23496 default entry if GRUB_SAVEDEFAULT=true. This allows using
23497 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23498 saving a new default on every boot.
23499
4a8a763c
VS
235002010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23501
23502 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23503 * normal/term.c (read_terminal_list): Likewise.
23504 * normal/main.c (grub_normal_init_page): Likewise.
23505 (grub_normal_read_line_real): Likewise.
23506
607ffde2
VS
235072010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23510 memory leak.
23511 Reported by: Seth Goldberg.
23512
2b8fa975
CW
235132010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23514
23515 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23516 duplicate declaration of `start'.
23517
618307dd
VS
235182010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23521 filename.
23522 Reported by: Georgy Buranov
23523
7dd05b96 235242010-02-20 Carles Pina i Estany <carles@pina.cat>
23525
23526 * util/grub-mkrawimage.c (usage): Change string formatting to
23527 improve gettext.
23528
d1484a42
MRA
235292010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23530
23531 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23532 backspace keys.
23533
42b1d186
VS
235342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23535
23536 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23537 Reported by: Michael Suchanek.
23538
235392010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
23540
23541 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23542 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23543
d9f31a41
VS
235442010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23545
23546 Remove any reference to non-free fonts.
23547
23548 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23549 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23550 uses non-free components.
23551 * font/font.c (grub_font_get_name): Remove example name.
23552 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23553 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23554 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23555 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23556
2793c71e
GB
235572010-02-16 Georgy Buranov <gburanov@gmail.com>
23558
23559 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23560
402e3779
VS
235612010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23562
23563 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23564 Double divisor.
23565 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23566 features.
23567 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23568
0dd1e0dd
VS
235692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23572
6fa7cfce
ST
235732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23574
23575 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23576 * docs/grub.texi (Command-line and menu entry commands): Document play
23577 command.
23578
37c8483b
ST
235792010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23580
23581 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23582 parse arguments as inline tempo and notes. Move code for playing notes
23583 to...
23584 (play): ... new function.
23585
14da0fb7
ST
235862010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23587
23588 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23589 grub_uint16_t instead of short.
23590 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23591 disk from little endian to cpu endianness.
23592
04459e70
ST
235932010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23594
23595 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23596 GRUB_TICKS_PER_SECOND instead of 120.
23597
a0876943
VS
235982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23601 escape sequence after \e.
23602
e29f95dc
VS
236032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23604
23605 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23606 non-ASCII characters.
23607
d27859b2
VS
236082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23609
23610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23611 set root in single quotes to prevent \, from being unescaped.
23612
bc028f2f
VS
236132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 Prevent unknown commands from stopping menuentry execution.
23616
23617 * script/execute.c (grub_script_execute_cmdline): Print error after
23618 unknown command.
23619
095f5f82
VS
236202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23623 Reported by: Pavel Pisa.
23624
8c717950
VS
236252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23628
904935c3
VS
236292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 Merge grub_ieee1275_map_physical into grub_map and rename to
23632 grub_ieee1275_map
23633
23634 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23635 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23636 Remove.
23637 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23638 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23639 necessary.
23640 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23641
5b59a4e3
VS
236422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23643
23644 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23645 opening and not after.
23646
69e137e8
VS
236472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23648
23649 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23650 constants.
23651
2c0fcc36
VS
236522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23653
23654 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23655 (alloc_phys): Use ALIGN_UP instead of align_addr.
23656
8c6052ce
VS
236572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23660
17cec782
VS
236612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23662
23663 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23664
e0128bbd
VS
236652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23668 verbose dprintf.
23669
ca62070b
VS
236702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23671
23672 Fix over-4GiB seek on sparc64.
23673
23674 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23675 Replace pos_i and pos_lo with pos. All users updated.
23676 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23677 New constant.
23678 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23679 Likewise.
23680 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23681 and pos_lo.
23682
bdca2607
VS
236832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * util/grub-mkrawimage.c (main): Call set_program_name.
23686
da278c4d
VS
236872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 Properly align 64-bit targets.
23690
23691 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23692 (generate_image): Use ALIGN_ADDR.
23693
b274d734
VS
236942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 Properly create cross-endian images.
23697
23698 * include/grub/types.h (grub_host_to_target_addr): New macro
23699 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23700
82da2062
VS
237012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23704
7cae4377
VS
237052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23708
23709 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23710 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23711 (grub_linux_boot): Divide by 64K when on VESA.
23712
65a533e7
VS
237132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 Support GRUB_GFXPAYLOAD_LINUX.
23716
23717 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23718 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23719
dd01d397
VS
237202010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23721
23722 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23723 to show messages instead of discarding them.
23724 Process errors after executing command and not before. Keep old method
23725 too as precaution.
23726
660960d6
VS
237272010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 * configure.ac: Check for ft2build.h.
23730
62509f04
VS
237312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23734
473df63d
VS
237352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23736
23737 * genkernsyms.sh.in: Use TARGET_CC.
23738
c98d2a13
CW
237392010-02-07 Colin Watson <cjwatson@ubuntu.com>
23740
23741 * NEWS: Update.
23742
6e14234c
VS
237432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
23746 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23747 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 23748
b255e9cf
YB
237492010-02-07 Yves Blusseau <blusseau@zetam.org>
23750
6e14234c 23751 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 23752
98e6959d
VS
237532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 Fix warnings in grub-emu when compiling with maximum warning options.
23756
23757 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23758 (grub_arch_modules_addr): Return 0 and not NULL.
23759 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 23760 (xstrdup): Use newstr instead of dup.
f88d801b
VS
23761 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23762 of disk to dsk to avoid shadowing.
74e4934e
VS
23763 (find_free_slot): Fix prototype.
23764 * util/getroot.c (grub_util_is_dmraid): Make static.
23765 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23766 Add missing prototype.
23767 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 23768
74e31b5c
VS
237692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23772 appropriately.
23773
6b2ad14b
VS
237742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23777 code out.
23778
8f891adc
VS
237792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23780
23781 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23782 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23783 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23784 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23785 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23786 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23787
74b45184
VS
237882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23789
23790 * include/grub/err.h (grub_err_printf): Don't export.
23791
a4bced77
VS
237922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23795
007d0695
VS
237962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23799 * kern/misc.c (grub_gettext_dummy): Make static.
23800
b6c0d9c2
VS
238012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23804 by non-valid ones.
23805 * kern/term.c (grub_putchar): Likewise.
23806
f51a90d0
VS
238072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23810 buggy hook call and memory leak.
23811
6846cec5
VS
238122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23815
468d69fe
VS
238162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23819
51906b8c
VS
238202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23823 modevar.
23824 Return grub_errno on allocation error.
23825
09706ce5
VS
238262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23829
911df80c
YB
238302010-02-06 Yves Blusseau <blusseau@zetam.org>
23831
23832 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23833 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23834
3746a6bc
VS
238352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23838 non-pxe disk.
23839 (grub_pxefs_open): Likewise.
23840
09706ce5
VS
238412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23842
23843 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23844 * util/grub.d/10_kfreebsd.in: Likewise.
23845 * util/grub.d/10_linux.in: Likewise.
23846
7cc192d9
VS
238472010-02-06 Colin D Bennett <colin@gibibit.com>
23848
23849 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23850 (gfxmenu_mod_SOURCES): New variable.
23851 (gfxmenu_mod_CFLAGS): Likewise.
23852 (gfxmenu_mod_LDFLAGS): Likewise.
23853 * include/grub/term.h (grub_term_set_current_output): Declare
23854 argument as const.
23855 * docs/gfxmenu-theme-example.txt: New file.
23856 * gfxmenu/gfxmenu.c: Likewise.
23857 * gfxmenu/gui_box.c: Likewise.
23858 * gfxmenu/gui_canvas.c: Likewise.
23859 * gfxmenu/gui_circular_progress.c: Likewise.
23860 * gfxmenu/gui_image.c: Likewise.
23861 * gfxmenu/gui_label.c: Likewise.
23862 * gfxmenu/gui_list.c: Likewise.
23863 * gfxmenu/gui_progress_bar.c: Likewise.
23864 * gfxmenu/gui_string_util.c: Likewise.
23865 * gfxmenu/gui_util.c: Likewise.
23866 * gfxmenu/icon_manager.c: Likewise.
23867 * gfxmenu/model.c: Likewise.
23868 * gfxmenu/named_colors.c: Likewise.
23869 * gfxmenu/theme_loader.c: Likewise.
23870 * gfxmenu/view.c: Likewise.
23871 * gfxmenu/widget-box.c: Likewise.
23872 * include/grub/gfxmenu_model.h: Likewise.
23873 * include/grub/gfxmenu_view.h: Likewise.
23874 * include/grub/gfxwidgets.h: Likewise.
23875 * include/grub/gui.h: Likewise.
23876 * include/grub/gui_string_util.h: Likewise.
23877 * include/grub/icon_manager.h: Likewise.
23878
238792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23880
23881 Agglomerate scrolling in gfxterm.
23882
23883 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23884 (grub_virtual_screen_setup): Initialise 'total_screen'.
23885 (write_char): Split to ...
23886 (paint_char): ... this ...
23887 (write_char): ... and this.
23888 (paint_char): Handle delayed scrolling.
23889 (draw_cursor): Likewise.
23890 (scroll_up): Split to ...
23891 (real_scroll): ... this ...
23892 (scroll_up): ... and this.
23893 (real_scroll): Handle multi-line scroll and draw below-the-bottom
23894 characters.
23895 (grub_gfxterm_refresh): Call real_scroll.
23896
238972010-02-06 Colin D Bennett <colin@gibibit.com>
23898
23899 * include/grub/misc.h (grub_iscntrl): New inline function.
23900 (grub_isalnum): Likewise.
23901 (grub_strtol): Likewise.
23902
239032010-02-06 Colin D Bennett <colin@gibibit.com>
23904
23905 * normal/menu_text.c (get_entry_number): Move from here ...
23906 * normal/menu.c (get_entry_number): ... moved here.
23907 * include/grub/menu.h (grub_menu_get_default_entry_index):
23908 New prototype.
23909 * normal/menu.c (grub_menu_get_default_entry_index): New function.
23910 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
23911 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
23912 (grub_menu_viewer_should_return): Likewise.
23913 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
23914 * normal/menu_text.c (run_menu): Enable menu switching.
23915 * normal/menu_viewer.c (should_return): New variable.
23916 (menu_viewer_changed): Likewise.
23917 (grub_menu_viewer_show_menu): Handle menu viewer changes.
23918 (grub_menu_viewer_should_return): New function.
23919 (menuviewer_write_hook): Likewise.
23920 (grub_menu_viewer_init): Likewise.
23921
239222010-02-06 Colin D Bennet <colin@gibibit.com>
239232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 Support for gfxterm in a window.
23926
23927 * include/grub/gfxterm.h: New file.
23928 * include/grub/video.h (struct grub_video_rect): New declaration.
23929 (grub_video_rect_t): Likewise.
23930 * term/gfxterm.c (struct grub_gfxterm_window): New type.
23931 (refcount): New variable.
23932 (render_target): Likewise.
23933 (window): Likewise.
23934 (repaint_callback): Likewise.
23935 (grub_virtual_screen_setup): Use 'render_target'.
23936 (init_window): New function.
23937 (grub_gfxterm_init_window): Likewise.
23938 (grub_gfxterm_init): Check reference counter.
23939 Use init_window.
23940 (destroy_window): New function.
23941 (grub_gfxterm_destroy_window): Likewise.
23942 (grub_gfxterm_fini): Check reference counter.
23943 Use destroy_window.
23944 (redraw_screen_rect): Restore viewport.
23945 Use 'render_target' and 'window'.
23946 Call 'repaint_callback'.
23947 (write_char): Use 'render_target'.
23948 (draw_cursor): Likewise.
23949 (scroll_up): Restore viewport.
23950 Use 'render_target' and 'window'.
23951 Call 'repaint_callback'.
23952 (grub_gfxterm_cls): Likewise.
23953 (grub_gfxterm_refresh): Use 'window'.
23954 (grub_gfxterm_set_repaint_callback): New function.
23955 (grub_gfxterm_background_image_cmd): Use 'window'.
23956 (grub_gfxterm_get_term): New function.
23957 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
23958
239592010-02-06 Colin D Bennett <colin@gibibit.com>
23960
23961 Bitmap scaling support.
23962
23963 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
23964 (bitmap_scale_mod_SOURCES): New variable.
23965 (bitmap_scale_mod_CFLAGS): Likewise.
23966 (bitmap_scale_mod_LDFLAGS): Likewise.
23967 * include/grub/bitmap_scale.h: New file.
23968 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
23969 (background_image_cmd_options): New variable.
23970 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
23971 (cmd): Rename and change type to ...
23972 (background_image_cmd_handle): ... this. All users updated.
23973 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
23974 * video/bitmap_scale.c: New file.
23975
239762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23977
23978 SDL support.
23979
23980 * Makefile.in (LIBSDL): New variable.
23981 (enable_grub_emu_sdl): Likewise.
23982 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
23983 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
23984 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
23985 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
23986 * util/sdl.c: New file.
23987
239882010-02-06 Colin D Bennett <colin@gibibit.com>
239892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23990
23991 Double buffering support.
23992
23993 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23994 * include/grub/video.h: Update comment.
23995 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23996 New type.
23997 (grub_video_fb_doublebuf_blit_init): New prototype.
23998 * term/gfxterm.c (scroll_up): Support double buffering.
23999 (grub_gfxterm_refresh): Likewise.
24000 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24001 (grub_video_fb_doublebuf_blit_init): Likewise.
24002 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24003 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24004 'displayed_page', 'render_page' and 'update_screen'.
24005 (grub_video_vbe_fini): Free offscreen buffer.
24006 (doublebuf_pageflipping_commit): New function.
24007 (doublebuf_pageflipping_update_screen): Likewise.
24008 (doublebuf_pageflipping_init): Likewise.
24009 (double_buffering_init): Likewise.
24010 (grub_video_vbe_setup): Enable doublebuffering.
24011 (grub_video_vbe_swap_buffers): Implement.
24012 (grub_video_vbe_set_active_render_target): Handle double buffering.
24013 (grub_video_vbe_get_active_render_target): Likewise.
24014 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24015 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24016 (grub_video_vbe_enable_double_buffering): Likewise.
24017 (grub_video_vbe_swap_buffers): Use update_screen.
24018 (grub_video_set_mode): Use double buffering.
24019
240202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * maintainance/gentrigtables.py: Remove.
24023 * lib/trig.c: Likewise.
24024
24025 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24026
24027 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24028 `trigtables.c'.
24029 (trigtables.c): New rule.
24030 (gentrigtables): Likewise.
24031 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24032
240332010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24034
24035 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24036 integer constants.
24037
240382010-02-06 Colin D Bennet <colin@gibibit.com>
24039
24040 Trigonometry support.
24041
24042 * include/grub/trig.h: New file.
24043 * lib/trig.c: Likewise.
24044 * maintainance/gentrigtables.py: Likewise.
24045 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24046 (trig_mod_SOURCES): New variable.
24047 (trig_mod_CFLAGS): Likewise.
24048 (trig_mod_LDFLAGS): Likewise.
24049
5562834e
VS
240502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24053 disk devices.
24054
4f8528fc
VS
240552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24056
24057 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24058 error.
24059
2b4068e9
VS
240602010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24061
24062 * util/hostdisk.c (open_device): Don't use partition device when reading
24063 before the partition.
24064 (grub_util_biosdisk_read): Don't read from partition and before the
24065 partition in single operation.
24066 (grub_util_biosdisk_write): Don't write to partition and before the
24067 partition in single operation.
24068
399f6e4d
TL
240692010-02-03 Torsten Landschoff <torsten@debian.org>
24070
24071 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24072 last sectors.
24073
996649b0
VS
240742010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24075
24076 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24077 CDROM reads.
24078 (grub_biosdisk_write): Refuse to write to CDROM.
24079
3b205d4d
VS
240802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24083
61e89d9d
VS
240842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24085
24086 * font/font.c (find_glyph): Check that bmp_idx is available before
24087 using it.
24088 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24089 with (font == NULL).
24090
bf7fcba2
CS
240912010-01-28 Christian Schmitt <chris@ilovelinux.de>
24092
24093 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24094
f45d2663
BC
240952010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24096
24097 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24098 * util/grub-script-check.c (getline): Fix empty lines case.
24099
ec1444e6
RM
241002010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * Makefile.in (check): Exit with fail status when one of the tests
24103 fails.
24104 * tests/example_functional_test.c (example_test): Fix reversed assert.
24105 * tests/example_unit_test.c (example_test): Likewise.
24106
2e1cb9bb
CW
241072010-01-28 Colin Watson <cjwatson@ubuntu.com>
24108
24109 * util/grub.d/10_linux.in: This script does not use any of the
24110 contents of gettext.sh, only the external command `gettext', so stop
24111 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24112 the same prefix as GRUB.)
24113 * util/grub.d/10_kfreebsd.in: Likewise.
24114
63533ab0
VS
241152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24118 of the line.
24119
989e1f93
VS
241202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24123 last sectors.
24124
e709ebe2
VS
241252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24126
24127 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24128 having a 4KiB and not 32KiB buffer size.
24129
27dea7ed
RM
241302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24131
24132 * util/hostfs.c: Include `<errno.h>'.
24133 (grub_hostfs_read): Handle errors from fseeko() and fread().
24134
67667b9c
RM
241352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24136
24137 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24138 loop when using read hooks on files whose size isn't sector-aligned.
24139
c294d9d8
RM
241402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24141
24142 Remove unused parameter.
24143
24144 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24145 (grub_iso9660_open): Remove initialization of `data->length'.
24146
af75a9f1
RM
241472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24148
24149 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24150 memleak conditions.
24151
254e2ce5 241522010-01-27 Carles Pina i Estany <carles@pina.cat>
24153
24154 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24155 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24156
b510928c 241572010-01-26 Carles Pina i Estany <carles@pina.cat>
24158
24159 * util/bin2h.c (usage): Fix warning (space after backslash).
24160
aa2f9dd2 241612010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 24162
24163 * font/font.c: Include `grub/fontformat.h.
24164 Remove font file format constants.
24165 (grub_font_load): Use the new macros.
24166 * include/grub/fontformat.h: New file.
24167 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24168 (write_font_pf2): Use the new macros.
24169
94e7e712
RM
241702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24171
24172 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24173 does.
24174
3973a59a
RM
241752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24176
24177 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24178
24179 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24180 (_start): Macroify `0x7F'.
24181
24182 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24183 (make_install_device): Use "(pxe)" as fallback prefix when booting
24184 via PXE.
24185
42e0cba3
GS
241862010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * configure.ac: Reset LIBS after check for libgcc symbols.
24189
847effd8
CW
241902010-01-25 Colin Watson <cjwatson@ubuntu.com>
24191
24192 * util/hostdisk.c (open_device): Add trailing newline to debug
24193 message.
24194
ea4a7e35
GS
241952010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
24196
24197 * configure.ac: Check for `limits.h'.
24198 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
24199
67951a53
RM
242002010-01-24 Robert Millan <rmh.grub@aybabtu.com>
24201
24202 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
24203 capitalize error strings.
24204
c273d4ce
ST
242052010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24206
24207 * util/grub.d/10_hurd.in: Add a recovery mode.
24208
69be5b74
VS
242092010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * configure.ac: Check for libgcc symbols with -nostdlib.
24212
fc9e5810
BC
242132010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24214
24215 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24216
4b358c0a
VS
242172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24218
24219 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
24220 stack since heap may be unavailable at that point.
24221 (grub_ofconsole_gotoxy): Likewise.
24222
454fcd1c
VS
242232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24224
24225 * configure.ac: Check for _restgpr_14_x.
24226 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
24227 and _savegpr_* prototypes.
24228
566863ca
RM
242292010-01-22 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 Use generic grub_reboot() for i386-efi.
24232
24233 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
24234 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
24235 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
24236
bf86e59a
VS
242372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
24240 presence of "prefix" variable as it breaks when normal.mod is
24241 embedded.
24242
d645e0f8
VS
242432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
24246 stack since heap is unavailable at that point.
24247
f9ab2e25
VS
242482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
24251 (grub_freebsd_bootinfo): Rewritten.
24252 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
24253
01fc7054
VS
242542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24257
caab4fd6
RM
242582010-01-21 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
24261 domain now.
24262
67eb1427
FZ
242632010-01-20 Felix Zielcke <fzielcke@z-51.de>
24264
24265 * util/misc.c (make_system_path_relative_to_its_root): Change the work
24266 around for handling "/" to the correct fix. Fix a memory leak. Use
24267 xstrdup instead of strdup.
24268
a9ed4ff3
VS
242692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
24272
242732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
24274
24275 Optimise glyph lookup by Basic Multilingual Plane lookup array.
24276
24277 * font/font.c (struct grub_font): New member 'bmp_idx'.
24278 (font_init): Initialise 'bmp_idx'.
24279 (load_font_index): Fill 'bmp_idx'.
24280 (find_glyph): Make inline. Use bmp_idx for BMP characters.
24281
48209f4f
VS
242822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
24285 unnecessary calls.
24286
9f0a4bb7
VS
242872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24288
24289 Move context handling out of the kernel.
24290
24291 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
24292 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
24293 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
24294 * conf/i386-efi.rmk: Likewise.
24295 * conf/i386-ieee1275.rmk: Likewise.
24296 * conf/i386-pc.rmk: Likewise.
24297 * conf/powerpc-ieee1275.rmk: Likewise.
24298 * conf/sparc64-ieee1275.rmk: Likewise.
24299 * conf/x86_64-efi.rmk: Likewise.
24300 * include/grub/env.h: Include grub/menu.h.
24301 (grub_env_var_type): Removed.
24302 (grub_env_var): Replaced field 'type' with 'global'.
24303 (grub_env_find): New prototype.
24304 (grub_env_context_open): Remove EXPORT_FUNC.
24305 (grub_env_context_close): Likewise.
24306 (grub_env_export): Likewise.
24307 (grub_env_set_data_slot): Removed.
24308 (grub_env_get_data_slot): Likewise.
24309 (grub_env_unset_data_slot): Likewise.
24310 (grub_env_unset_menu): New prototype.
24311 (grub_env_set_menu): Likewise.
24312 (grub_env_get_menu): Likewise.
24313 * include/grub/env_private.h: New file.
24314 * include/grub/normal.h (grub_context_init): New prototype.
24315 (grub_context_fini): Likewise.
24316 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
24317 * normal/context.c (grub_cmd_export): ... to here.
24318 * kern/env.c: Include env_private.h.
24319 (HASHSZ): Moved to include/grub/env_private.h.
24320 (grub_env_context): Likewise.
24321 (grub_env_sorted_var): Likewise.
24322 (current_context): Renamed from this ...
24323 (grub_current_context): ...to this. 'static' removed. All users updated.
24324 (grub_env_find): Removed 'static'.
24325 (grub_env_context_open): Moved to normal/context.c.
24326 (grub_env_context_close): Likewise.
24327 (grub_env_export): Likewise.
24328 (mangle_data_slot_name): Removed.
24329 (grub_env_set_data_slot): Likewise.
24330 (grub_env_get_data_slot): Likewise.
24331 (grub_env_unset_data_slot): Likewise.
24332 * kern/main.c (grub_set_root_dev): Don't export root.
24333 It will be done later.
24334 (grub_main): Don't export prefix.
24335 It will be done later.
24336 * normal/context.c: New file.
24337 * normal/main.c (free_menu): Use grub_env_unset_menu.
24338 (grub_normal_add_menu_entry): Use grub_env_get_menu.
24339 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
24340 (GRUB_MOD_INIT(normal)): Call grub_context_init.
24341 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
24342
8dd35b8c
VS
243432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24344
24345 setpci support.
24346
24347 * commands/setpci.c: New file.
24348 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24349 (setpci_mod_SOURCES): New variable.
24350 (setpci_mod_CFLAGS): Likewise.
24351 (setpci_mod_LDFLAGS): Likewise.
24352
449193d5
VS
243532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 Byte-addressable PCI configuration space.
24356
24357 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24358 dword address.
24359 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24360 GRUB_PCI_REG_CACHELINE.
24361 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24362 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24363 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24364 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24365 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24366 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24367 grub_pci_make_address.
24368 (lock_rom_area): Likewise.
24369 * commands/lspci.c (grub_lspci_iter): Use macroses
24370 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24371 of grub_pci_make_address.
24372 * disk/ata.c (grub_ata_pciinit): Likewise.
24373 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24374 (GRUB_PCI_REG_VENDOR): Likewise.
24375 (GRUB_PCI_REG_DEVICE): Likewise.
24376 (GRUB_PCI_REG_COMMAND): Likewise.
24377 (GRUB_PCI_REG_STATUS): Likewise.
24378 (GRUB_PCI_REG_REVISION): Likewise.
24379 (GRUB_PCI_REG_CLASS): Likewise.
24380 (GRUB_PCI_REG_CACHELINE): Likewise.
24381 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24382 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24383 (GRUB_PCI_REG_BIST): Likewise.
24384 (GRUB_PCI_REG_ADDRESSES): Likewise.
24385 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24386 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24387 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24388 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24389 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24390 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24391 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24392 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24393 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24394 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24395 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24396 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24397 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24398 (GRUB_PCI_REG_MIN_GNT): Likewise.
24399 (GRUB_PCI_REG_MAX_LAT): Likewise.
24400 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24401 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24402 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 24403 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
24404 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24405 space.
24406
96d73208
RM
244072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24408
24409 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24410 can be reliably determined to be supported.
24411
d4484482
RM
244122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24413
24414 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24415 that VESA is supported.
24416 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24417 supported.
24418
00308ecf
VS
244192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24422
f66924a4
RM
244232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24424
24425 * util/misc.c (make_system_path_relative_to_its_root): Work around
24426 special-casing of "/", as previous incarnation of this routine did.
24427
cbca0ada
VS
244282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 Fix any-emu compilation.
24431
24432 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24433 * grub_bin2h_SOURCES: New variable.
24434
34a66d99
RM
244352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24436
24437 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24438
94fabf58
RM
244392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24440
24441 * util/grub.d/00_header.in: Fix handling of locale_dir.
24442
02cf98ca
VS
244432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24444
24445 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24446 as possible unifont location (Gentoo).
24447 Reported by: Alexander Brüning
24448
327dbcd7
VS
244492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24450
24451 Don't try to generate lists for kernel.img.
24452
24453 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24454 (pkglib_MODULES): Remove kernel.img.
24455 (kernel_img_EXPORTS): Removed.
24456 (kernel_img_RELOCATABLE): New variable.
24457 * conf/x86_64-efi.rmk: Likewise.
24458 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24459
ca467290
VS
244602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24461
24462 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24463 grub_xasprintf or grub_snprintf.
24464 (grub_vsprintf): Likewise.
24465 (grub_snprintf): New proto.
24466 (grub_vsnprintf): Likewise.
24467 (grub_xasprintf): Likewise.
24468 (grub_xvasprintf): Likewise.
24469 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24470 (grub_sprintf): Removed.
24471 (grub_vsnprintf): New function.
24472 (grub_snprintf): Likewise.
24473 (grub_xvasprintf): Likewise.
24474 (grub_xasprintf): Likewise.
24475 (grub_vsprintf): Renamed to ...
24476 (grub_vsnprintf_real): ...this. New argument max_len.
24477
aca655fd
BC
244782010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24479
24480 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24481 fix grub-script-check warning.
24482
7ee92c32
VS
244832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24484
24485 * include/grub/font.h (grub_font_load): Fix prototype.
24486
f80927ca
VS
244872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24490
119c50ea
VS
244912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24492
24493 * include/grub/x86_64/at_keyboard.h: New file.
24494
47d5f3c1
VS
244952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24496
24497 * loader/mips/linux.c: Include missing grub/i18n.h.
24498
55ff5266
RM
244992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24500
24501 * normal/menu.c (notify_execution_failure): Clarify error message.
24502
c893cc87
RM
245032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24504
24505 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24506 return value (and revert all return statements). Update users.
24507
917dd370
CW
245082010-01-20 Dan Merillat <debian@dan.merillat.org>
24509
24510 * kern/device.c (grub_device_iterate): Allocate new part_ent
24511 structure based on sizeof (*p) rather than sizeof (p->next), to
24512 account for structure padding.
24513
24514 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24515 disk is NULL, which might happen for LVM physical volumes with no
24516 LVM signature.
24517
d4a4ee57
RM
245182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24519
24520 * loader/mips/linux.c (grub_cmd_initrd)
24521 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24522
245232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24524
24525 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24526 (grub_video_video_init, grub_video_bitmap_init)
24527 (grub_font_manager_init, grub_term_gfxterm_init)
24528 (grub_at_keyboard_init): New extern declarations.
24529 (grub_machine_init): Initialize gfxterm and at_keyboard.
24530
24531 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24532
24533 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24534 `gfxterm.mod' into core image.
24535
24536 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24537 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24538 (kernel_img_FORMAT): Copy to ...
24539
24540 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24541 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24542 (kernel_img_FORMAT): ... here, and ...
24543
24544 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24545 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24546 (kernel_img_FORMAT): ... here.
24547
24548 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24549 and input (at_keyboard) terminals in kernel.
24550 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24551
24552 (pkglib_MODULES): Remove `pci.mod'.
24553 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24554 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24555 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24556 (at_keyboard_mod_LDFLAGS): Remove variables.
24557
245582010-01-11 Felix Zielcke <fzielcke@z-51.de>
24559
24560 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24561
245622009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24563
24564 * include/grub/mips/libgcc.h: Only export symbols for functions
24565 that libgcc provides.
24566
245672009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24568
24569 MIPS support.
24570
24571 * bus/bonito.c: New file.
24572 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24573 GRUB_PCI_NUM_DEVICES.
24574 * term/i386/pc/serial.c: Move to ...
24575 * term/serial.c: ... here. All users updated.
24576 * util/i386/pc/grub-mkimage.c: Move to ...
24577 * util/grub-mkrawimage.c: ... here. All users updated.
24578 * term/i386/pc/at_keyboard.c: Move to ...
24579 * term/at_keyboard.c: ... here. All users updated.
24580 * conf/mips-qemu-mips.rmk: New file.
24581 * conf/mips-yeeloong.rmk: Likewise.
24582 * conf/mips.rmk: Likewise.
24583 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24584 mipsel-qemu-mips.
24585 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24586 to port addresses.
24587 (grub_ata_pciinit): Support CS5536.
24588 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24589 * font/font_cmd.c (loadfont_command): Open file before passing it to
24590 grub_font_load.
24591 (pseudo_file_read): New function.
24592 (pseudo_file_close): Likewise.
24593 (pseudo_fs): New structure.
24594 (load_font_module): New function.
24595 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24596 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24597 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24598 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24599 * include/grub/i386/at_keyboard.h: Split into ...
24600 * include/grub/at_keyboard.h: ... this ...
24601 * include/grub/i386/at_keyboard.h: ... and this.
24602 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24603 New prototype.
24604 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24605 updated.
24606 (grub_elf64_size): Likewise.
24607 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24608 filename.
24609 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24610 * include/grub/i386/coreboot/serial.h: Rewritten.
24611 * include/grub/i386/ieee1275/serial.h: Include
24612 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24613 * include/grub/i386/pc/serial.h: Moved from here ...
24614 * include/grub/serial.h: ... to here. All users updated.
24615 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24616 (GRUB_PCI_NUM_BUS): Likewise.
24617 (GRUB_PCI_NUM_DEVICES): Likewise.
24618 (grub_pci_device_map_range): Add missing volatile keyword.
24619 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24620 * include/grub/mips/at_keyboard.h: New file.
24621 * include/grub/mips/cache.h: Likewise.
24622 * include/grub/mips/io.h: Likewise.
24623 * include/grub/mips/kernel.h: Likewise.
24624 * include/grub/mips/libgcc.h: Likewise.
24625 * include/grub/mips/pci.h: Likewise.
24626 * include/grub/mips/qemu-mips/boot.h: Likewise.
24627 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24628 * include/grub/mips/qemu-mips/loader.h: Likewise.
24629 * include/grub/mips/qemu-mips/memory.h: Likewise.
24630 * include/grub/mips/qemu-mips/serial.h: Likewise.
24631 * include/grub/mips/qemu-mips/time.h: Likewise.
24632 * include/grub/mips/relocator.h: Likewise.
24633 * include/grub/mips/time.h: Likewise.
24634 * include/grub/mips/types.h: Likewise.
24635 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24636 * include/grub/mips/yeeloong/boot.h: Likewise.
24637 * include/grub/mips/yeeloong/kernel.h: Likewise.
24638 * include/grub/mips/yeeloong/loader.h: Likewise.
24639 * include/grub/mips/yeeloong/memory.h: Likewise.
24640 * include/grub/mips/yeeloong/pci.h: Likewise.
24641 * include/grub/mips/yeeloong/serial.h: Likewise.
24642 * include/grub/mips/yeeloong/time.h: Likewise.
24643 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24644 * kern/elf.c (grub_elf32_size): New parameter. All users
24645 updated.
24646 (grub_elf64_size): Likewise.
24647 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24648 Load modules before saying "Welcome to GRUB!".
24649 Call grub_refresh after saying "Welcome to GRUB!".
24650 * kern/mips/cache.S: New file.
24651 * kern/mips/cache_flush.S: Likewise.
24652 * kern/mips/dl.c: Likewise.
24653 * kern/mips/init.c: Likewise.
24654 * kern/mips/qemu-mips/init.c: Likewise.
24655 * kern/mips/startup.S: Likewise.
24656 * kern/mips/yeeloong/init.c: Likewise.
24657 * kern/term.c (grub_putcode): Handle NULL terminal.
24658 (grub_getcharwidth): Likewise.
24659 (grub_getkey): Likewise.
24660 (grub_checkkey): Likewise.
24661 (grub_getkeystatus): Likewise.
24662 (grub_getxy): Likewise.
24663 (grub_getwh): Likewise.
24664 (grub_gotoxy): Likewise.
24665 (grub_cls): Likewise.
24666 (grub_setcolorstate): Likewise.
24667 (grub_setcolor): Likewise.
24668 (grub_getcolor): Likewise.
24669 (grub_refresh): Likewise.
24670 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24671 (write_jump): Add hatch nop.
24672 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24673 * lib/mips/setjmp.S: New file.
24674 * loader/mips/linux.c: Likewise.
24675 * term/i386/pc/at_keyboard.c: Move from here ...
24676 * term/at_keyboard.c: ... to here.
24677 * term/i386/pc/serial.c: Moved from here ...
24678 * term/serial.c: ... to here. All users updated.
24679 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24680 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24681 (serial_translate_key_sequence): Avoid deadlock.
24682 (grub_serial_getkey): Handle backspace.
24683 (grub_serial_putchar): Fix newline handling.
24684 * util/i386/pc/grub-mkimage.c: Move from here ...
24685 * util/grub-mkrawimage.c: ... to here. All users updated.
24686 (generate_image): New parameters 'font_path' and 'format'.
24687 Support embedding font.
24688 Use grub_host_to_target* instead of grub_cpu_to_le*.
24689 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24690 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24691 (options): New option "--font".
24692 (usage): Likewise.
24693 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24694 (main): Handle "--font".
24695 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24696 (grub_virtual_screen_setup): Set bg_color_display.
24697 (redraw_screen_rect): Use bg_color_display instead of incorrect
24698 bg_color.
24699 (grub_gfxterm_cls): Likewise.
24700 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24701 Support embedding config file.
24702 (add_segments): Likewise.
24703 (options): New option "--config".
24704 (main): Handle "--config".
24705 * video/sm712.c: New file.
24706
25c2b5b3
RM
247072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24708
24709 Fix parallel builds.
24710
24711 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24712 font.c depend on ascii.h).
24713
247142010-01-12 Carles Pina i Estany <carles@pina.cat>
24715
24716 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24717
247182010-01-11 Carles Pina i Estany <carles@pina.cat>
24719
24720 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24721 By default: disabled.
24722 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24723 parameter.
24724
247252010-01-10 Carles Pina i Estany <carles@pina.cat>
24726
24727 * font/font.c: Update copyright years.
24728 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24729
247302010-01-10 Carles Pina i Estany <carles@pina.cat>
24731
24732 * font/font.c: Include `ascii.h'.
24733 (ASCII_BITMAP_SIZE): New macro.
24734 (ascii_font_glyph): Define.
24735 (ascii_glyph_lookup): New function.
24736 (grub_font_get_string_width): Change comment. If glyph not found, use
24737 ascii_glyph_lookup.
24738 (grub_font_get_glyph_with_fallback): If glyph not available returns
24739 ascii_glyph_lookup.
24740 * util/grub-mkfont.c (file_formats): New enum.
24741 (options): Add `ascii-bitmaps' new option.
24742 (usage): Add `asii-bitmaps' new option.
24743 (write_font_ascii_bitmap): New function.
24744 (write_font): Rename to ...
24745 (write_font_p2): ... this. Remove print_glyphs call.
24746 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24747 used. Call print_glyphs.
24748 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24749
247502010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24751
24752 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24753 (grub_bin2h_SOURCES): New variable.
24754 * util/bin2h.c: New file.
24755
915fc1b8
VS
247562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24757
24758 * include/multiboot.h: Resynced with spec.
24759 * include/multiboot2.h: Likewise.
24760 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24761 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24762
9444b678
RM
247632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24764
24765 * include/grub/term.h (grub_term_register_input,
24766 grub_term_register_output): Check return of terminal init()
24767 routines, and abort if errors are raised.
24768
24769 * commands/terminal.c: Update copyright year.
24770
cba98e8d
RM
247712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24772
24773 * commands/terminal.c (grub_cmd_terminal_input)
24774 (grub_cmd_terminal_output): Check return of terminal init()
24775 routines, and abort if errors are raised.
24776
6f7db5d6
VS
247772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 * include/grub/i386/bsd.h: Fix include pathes.
24780
262bff8d
VS
247812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 Add missing *BSD copyright headers.
24784
24785 * include/grub/aout.h: Add BSD licence.
24786 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24787 * include/grub/i386/freebsd_linker.h: ... here,
24788 * include/grub/i386/freebsd_reboot.h: ... here,
24789 * include/grub/i386/netbsd_bootinfo.h: ... here,
24790 * include/grub/i386/netbsd_reboot.h: ... here,
24791 * include/grub/i386/openbsd_bootarg.h: ... here,
24792 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24793 licence to each file.
24794
b2cab848
RM
247952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24796
24797 * acinclude.m4: Remove `nop' assembly instruction; it's not
24798 implemented by all architectures.
24799
2cb6be4b
RM
248002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24801
24802 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24803 ELILO. This is no longer necessary.
24804
a2eaee15
BC
248052010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24806
24807 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24808
24809 * util/grub-script-check.c: grub-script-check tool.
24810 * conf/common.rmk: Make rules for grub-script-check.
24811
88d17012
RM
248122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24813
24814 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24815 spotting it back in 2008. Shame on me for forgetting he did.
24816
24817 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24818
8040619d
RM
248192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24820
24821 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24822 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24823 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24824 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24825 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24826 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24827
a0c2a0f6
RM
248282010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24829
24830 * include/grub/test.h: Add license header.
24831 * tests/example_functional_test.c: Likewise.
24832 * tests/example_unit_test.c: Likewise.
24833 * tests/lib/functional_test.c: Likewise.
24834 * tests/lib/test.c: Likewise.
24835 * tests/lib/unit_test.c: Likewise.
24836
b0b13907
VS
248372010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 Use flag-based instead of hook-based video mode selection and "auto"
24840 keyword.
24841
24842 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24843 (grub_video_set_mode): Changed prototype. All users updated.
24844 (grub_video_check_mode_flag): New inline function.
24845 * video/video.c (parse_modespec): New function.
24846 (grub_video_set_mode): Parse flags and keywords.
24847
ea379330 248482010-01-17 Carles Pina i Estany <carles@pina.cat>
24849
24850 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24851 fprintf call.
24852
e15c215e
FZ
248532010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24854
24855 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24856
409ae1c9 248572010-01-16 Carles Pina i Estany <carles@pina.cat>
24858
24859 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24860 string.
24861 * util/grub-emu.c (usage): Likewise.
24862 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24863 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24864 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24865 * util/i386/pc/grub-setup.c (usage): Likewise.
24866
70a14d3d 248672010-01-16 Carles Pina i Estany <carles@pina.cat>
24868
24869 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24870 the message.
24871 (grub_util_info): Likewise.
24872 (grub_util_error): Likewise.
24873 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24874 and/or new lines in `grub_util_warna', `grub_util_info',
24875 `grub_util_error' calls.
24876 * util/getroot.c: Likewise.
24877 * util/grub-editenv.c: Likewise.
24878 * util/grub-emu.c: Likewise.
24879 * util/grub-fstest.c: Likewise.
24880 * util/grub-mkdevicemap.c: Likewise.
24881 * util/grub-mkfont.c: Likewise.
24882 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24883 * util/grub-mkrelpath.c: Likewise.
24884 * util/grub-pe2elf.c: Likewise.
24885 * util/grub-probe.c: Likewise.
24886 * util/hostdisk.c: Likewise.
24887 * util/i386/efi/grub-mkimage.c: Likewise.
24888 * util/i386/pc/grub-mkimage.c: Likewise.
24889 * util/i386/pc/grub-setup.c: Likewise.
24890 * util/ieee1275/ofpath.c: Likewise.
24891 * util/mkisofs/eltorito.c: Likewise.
24892 * util/mkisofs/rock.c: Likewise.
24893 * util/mkisofs/write.c: Likewise.
24894 * util/raid.c: Likewise.
24895 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24896 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24897
a0b766fc
VS
248982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 Enable multiboot on non-pc.
24901
24902 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
24903 multiboot.mod and multiboot2.mod to ...
24904 * conf/i386.rmk (pkglib_MODULES): ... here.
24905 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
24906 Moved to ...
24907 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
24908 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
24909 Moved to ...
24910 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
24911 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
24912 Moved to ...
24913 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
24914 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
24915 Moved to ...
24916 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
24917 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
24918 relocator.mod.
24919 (ata_mod_SOURCES): Removed.
24920 (ata_mod_CFLAGS): Likewise.
24921 (ata_mod_LDFLAGS): Likewise.
24922 (relocator_mod_SOURCES): Removed.
24923 (relocator_mod_CFLAGS): Likewise.
24924 (relocator_mod_ASFLAGS): Likewise.
24925 (relocator_mod_LDFLAGS): Likewise.
24926 Include i386.mk.
24927 * include/grub/x86_64/multiboot.h: New file.
24928 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
24929 Terminate EFI.
24930
884ade56
VS
249312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24932
24933 Video multiboot support.
24934
24935 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
24936 New prototype.
24937 * include/multiboot.h: Resynced with multiboot specification.
24938 * include/multiboot2.h: Likewise.
24939 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
24940 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
24941 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
24942 (HAS_VGA_TEXT): Likewise.
24943 (accepts_video): New variable.
24944 (grub_multiboot_set_accepts_video): New function.
24945 (grub_multiboot_get_mbi_size): Account for video structures.
24946 (set_video_mode): New function.
24947 (retrieve_video_parameters): Likewise.
24948 (grub_multiboot_make_mbi): Fill video fields.
24949
0d90e8a6
VS
249502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24951
24952 Video driver ids.
24953
24954 * include/grub/video.h (grub_video_driver_id): New type.
24955 (grub_video_adapter): New member 'id'. All users updated.
24956 (grub_video_get_driver_id): New proto.
24957 * video/video.c (grub_video_get_driver_id): New function.
24958
5c71db1b 249592010-01-14 Carles Pina i Estany <carles@pina.cat>
24960
24961 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
24962 `var=val'.
24963
cca15b52 249642010-01-14 Carles Pina i Estany <carles@pina.cat>
24965
24966 * normal/cmdline.c (print_completion): Gettextizze.
24967
c586fbb2 249682001-01-14 Carles Pina i Estany <carles@pina.cat>
24969
24970 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
24971
ba2f6848 249722010-01-14 Carles Pina i Estany <carles@pina.cat>
24973
24974 * gettext/gettext.c (grub_gettext_translate): Push and pop
24975 grub_errno.
24976 (grub_gettext_delete_list): Change comment style.
24977 * kern/err.c (grub_error): Gettextizze.
24978 (grub_fatal): Gettextizze.
24979
0a46429a
RM
249802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24981
24982 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
24983 (grub_linux16_real_boot): ... this.
24984 * kern/i386/loader.S: Likewise.
24985 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
24986 (grub_linux16_boot): New function. Switches to text mode and calls
24987 grub_linux16_real_boot().
24988
24989 * loader/i386/bsd.c: Include `<grub/video.h>'.
24990 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
24991 text mode before calling grub_unix_real_boot().
24992
24993 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24994 (grub_multiboot_boot): Switch to text mode before calling
24995 grub_relocator32_boot().
24996
24997 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24998 (grub_chainloader_boot): Switch to text mode before calling
24999 grub_chainloader_real_boot().
25000
d6f93a66
RM
250012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
250022010-01-05 Colin Watson <cjwatson@ubuntu.com>
25003
25004 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25005 non-empty value.
25006
250072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
250082010-01-05 Colin Watson <cjwatson@ubuntu.com>
25009
25010 * util/grub.d/00_header.in: Define a "savedefault" function for use
25011 in menu entries.
25012 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25013
250142010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
250152010-01-05 Colin Watson <cjwatson@ubuntu.com>
25016
25017 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25018 saved_entry if boot_once is unset.
25019 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25020 previous saved entry (i.e. grub-reboot).
25021
250222009-12-08 Colin Watson <cjwatson@ubuntu.com>
25023
25024 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25025
250262009-12-08 Colin Watson <cjwatson@ubuntu.com>
25027
25028 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25029 `var=val'.
25030 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25031
250322009-12-08 Colin Watson <cjwatson@ubuntu.com>
25033
25034 * util/grub-reboot.in: Fix --version output.
25035 * util/grub-set-default.in: Likewise.
25036
250372009-12-08 Colin Watson <cjwatson@ubuntu.com>
25038
25039 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25040 blocks.
25041
250422009-12-08 Colin Watson <cjwatson@ubuntu.com>
25043
25044 * util/grub.d/00_header.in: Quote the value assigned to `default',
25045 in case it contains spaces.
25046
250472009-12-08 Colin Watson <cjwatson@ubuntu.com>
25048
25049 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25050 `save_default_entry' call from the macosx case to the linux case.
25051
250522009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
250532009-10-25 Colin Watson <cjwatson@ubuntu.com>
25054
25055 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25056 in `chosen' environment variable.
25057 * normal/menu_text.c (get_entry_number): Check if the variable
25058 matches the title of a menu entry.
25059 (run_menu): Pass menu to get_entry_number.
25060
25061 * util/grub-reboot.in: New file.
25062 * util/grub-set-default.in: New file.
25063 * conf/common.rmk (grub-reboot): New utility.
25064 (grub-set-default): New utility.
25065
25066 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25067 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25068 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25069 move it to `saved_entry' for the next boot. Load environment on
25070 initialisation.
25071 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25072 * util/grub.d/10_hurd.in: Likewise.
25073 * util/grub.d/10_linux.in (linux_entry): Likewise.
25074 * util/grub.d/10_windows.in: Likewise.
25075 * util/grub.d/30_os-prober.in: Likewise.
25076
25077 * util/grub-install.in: Create environment block.
25078 * util/i386/efi/grub-install.in: Likewise.
25079 * util/ieee1275/grub-install.in: Likewise.
25080 * util/sparc64/ieee1275/grub-install.in: Likewise.
25081
0934d184
BC
250822010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25083
25084 Unit testing framework for GRUB.
25085
25086 * Makefile.in: Test framework build rules for 'make check'.
25087 * conf/tests.rmk: Build rules for individual tests and framework.
25088
25089 * include/grub/test.h: Header file for whitebox tests.
25090 * tests/lib/functional_test.c: Framework support for whitebox
25091 functional tests.
25092 * tests/lib/test.c: Common whitebox testing code for unit and
25093 functional tests.
25094 * tests/lib/unit_test.c: Framework support for whitebox unit
25095 tests.
25096
25097 * tests/util/grub-shell-tester.in: Support utility for grub-script
25098 tests.
25099 * tests/util/grub-shell.in: Utility to execute grub-script
25100 commands in a Qemu instance.
25101
25102 * tests/example_functional_test.c: Example whitebox functional
25103 test.
25104 * tests/example_grub_script_test.in: Example grub-script test.
25105 * tests/example_scripted_test.in: Example scripted test.
25106 * tests/example_unit_test.c: Example whitebox unit test.
25107
9c4ffeeb
VS
251082010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25109
25110 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25111 Add loader/i386/multiboot_mbi.c.
25112 (multiboot2_mod_SOURCES): Likewise.
25113 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25114 (multiboot2_mod_SOURCES): Likewise.
25115 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25116 (grub_multiboot_make_mbi): Likewise.
25117 (grub_multiboot_free_mbi): Likewise.
25118 (grub_multiboot_init_mbi): Likewise.
25119 (grub_multiboot_add_module): Likewise.
25120 (grub_multiboot_set_bootdev): Likewise.
25121 * loader/i386/multiboot.c (mbi): Removed.
25122 (mbi_dest): Likewise.
25123 (alloc_mbi): New variable.
25124 (grub_multiboot_payload_size): Removed. All users updated.
25125 (grub_multiboot_pure_size): New variable.
25126 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25127 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25128 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25129 (grub_fill_multiboot_mmap): Likewise.
25130 (grub_multiboot_get_bootdev): Likewise.
25131 (grub_multiboot): Use multiboot_mbi functions.
25132 * loader/i386/multiboot_mbi.c: New file.
25133
17383dfe
VS
251342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25137 it would result in module crash.
25138
c1f28820
VS
251392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25142 (grub_ofconsole_getwh): Split to ...
25143 (grub_ofconsole_getwh): ... this.
25144 (grub_ofconsole_dimensions): ...and this.
25145 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25146
58655a16
RM
251472010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25148
25149 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25150
10891398
VS
251512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25152
25153 * loader/i386/pc/multiboot2.c: Removed stalled file.
25154
0b8a223c
VS
251552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25158 Reported by: Grégoire Sutre
25159
92ab12b0
RM
251602010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25161
25162 * util/misc.c (canonicalize_file_name): New function.
25163 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25164 instead of realpath().
25165
a788afb6
CW
251662010-01-11 Colin Watson <cjwatson@ubuntu.com>
25167
25168 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25169 and make it clearer that it's optional. Based on confusion
25170 witnessed on IRC.
25171
ffa8e3d2
VS
251722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25173
25174 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25175 in premature implicit newline.
25176
e9060a9d
VS
251772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25180 which resulted in garbled command line at the end of screen.
25181
f0d0c0b7
RM
251822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25183
25184 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
25185 initialization with similar approach as with other Linux loaders.
25186
0e60bae7
RM
251872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25188
25189 Fix i386-ieee1275 build.
25190
25191 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
25192 and grub_term_height() for video_{width,height} initialization.
25193
251942010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
25195
25196 Fix grub-emu build.
25197
25198 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25199
cdb3f378
RM
252002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
252012010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25202
25203 Support for multiple terminals.
25204
25205 * Makefile.in (pkglib_DATA): terminal.lst.
25206 (terminal.lst): New target.
25207 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
25208 (GRUB_MOD_INIT(handler)): Likewise.
25209 (GRUB_MOD_FINI(handler)): Likewise.
25210 * commands/help.c (grub_cmd_help): Handle multiple terminals.
25211 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
25212 * commands/sleep.c (do_print): Use grub_term_restore_pos.
25213 (grub_cmd_sleep): Use grub_term_save_pos.
25214 * commands/terminal.c: New file.
25215 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
25216 commands/terminal.c and lib/charset.c.
25217 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
25218 (pkglib_MODULES): Add terminal.mod.
25219 (terminal_mod_SOURCES): New variable.
25220 (terminal_mod_CFLAGS): Likewise.
25221 (terminal_mod_LDFLAGS): Likewise.
25222 * genhandlerlist.sh: Don't handle terminals.
25223 * genmk.rb: Generate terminal-*.lst.
25224 * genterminallist.sh: New file.
25225 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
25226 (grub_is_valid_utf8): Likewise.
25227 (grub_utf8_to_ucs4_alloc): Likewise.
25228 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
25229 (grub_menu_register_viewer): Changed argument.
25230 (grub_menu_try_text): New proto.
25231 (grub_gfxmenu_try_hook): New declaration.
25232 * include/grub/normal.h (grub_normal_exit_level): New declaration.
25233 (grub_menu_init_page): Additional argument term.
25234 (grub_normal_init_page): Likewise.
25235 (grub_cmdline_get): Arguments simplified.
25236 (grub_utf8_to_ucs4_alloc): Removed.
25237 (grub_print_ucs4): Additional argument term.
25238 (grub_getstringwidth): Likewise.
25239 (grub_print_message_indented): Likewise.
25240 (grub_menu_text_register_instances): New proto.
25241 (grub_show_menu): Likewise.
25242 (read_terminal_list): Likewise.
25243 (grub_set_more): Likewise.
25244 * include/grub/parser.h: Include handler.h.
25245 * include/grub/reader.h: Rewritten.
25246 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
25247 (GRUB_TERM_WIDTH): Changed to function.
25248 (GRUB_TERM_HEIGHT): Likewise.
25249 (GRUB_TERM_BORDER_WIDTH): Likewise.
25250 (GRUB_TERM_BORDER_HEIGHT): Likewise.
25251 (GRUB_TERM_NUM_ENTRIES): Likewise.
25252 (GRUB_TERM_ENTRY_WIDTH): Likewise.
25253 (GRUB_TERM_CURSOR_X): Likewise.
25254 (grub_term_input_class): Likewise.
25255 (grub_term_output_class): Likewise.
25256 (grub_term_outputs_disabled): New declaration.
25257 (grub_term_inputs_disabled): Likewise.
25258 (grub_term_outputs): Likewise.
25259 (grub_term_inputs): Likewise.
25260 (grub_term_register_input): Rewritten.
25261 (grub_term_register_output): Likewise.
25262 (grub_term_unregister_input): Likewise.
25263 (grub_term_unregister_output): Likewise.
25264 (FOR_ACTIVE_TERM_INPUTS): New macro.
25265 (FOR_DISABLED_TERM_INPUTS): Likewise.
25266 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25267 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25268 * include/grub/terminfo.h: Add oterm argument to all protypes.
25269 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
25270 Use grub_rescue_run.
25271 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
25272 All users updated.
25273 * kern/reader.c: Removed. All users updated.
25274 * kern/rescue_reader.c (grub_rescue_init): Removed.
25275 (grub_rescue_reader): Likewise.
25276 (grub_register_rescue_reader): Likewise.
25277 (grub_rescue_run): New function based on kern/reader.c.
25278 * kern/term.c: Adapted for multiterm.
25279 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
25280 (grub_is_valid_utf8): Likewise.
25281 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
25282 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
25283 right terminal.
25284 * loader/i386/linux.c (grub_linux_boot): Likewise.
25285 * normal/auth.c (grub_username_get): New function.
25286 (grub_auth_check_authentication): Use grub_username_get.
25287 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
25288 * normal/color.c: Adapt for multiterm.
25289 * normal/main.c (read_config_file): Don't use grub_reader_loop.
25290 (grub_normal_init_page): Additional argument term.
25291 (read_lists): Call read_terminal_lists.
25292 (grub_enter_normal_mode): Call grub_cmdline_run.
25293 Handle grub_normal_exit_level.
25294 (grub_cmd_normal): Make reentrant.
25295 (grub_cmd_normal_exit): New function.
25296 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
25297 * normal/menu.c: Adapt for multiterm.
25298 * normal/menu_entry.c: Likewise.
25299 * normal/menu_text.c: Likewise.
25300 * normal/menu_viewer.c: Removed. All users updated.
25301 * normal/term.c: New file.
25302 * util/console.c: Change order of includes to workaround a bug in
25303 ncurses headers.
25304 * term/terminfo.c: New argument oterm on all exported functions.
25305 All users updated.
25306 * util/grub-editenv.c (grub_term_input_class): Removed.
25307 (grub_term_output_class): Likewise.
25308
1a064917
RM
253092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25310
25311 Make loader output a bit more user-friendly.
25312
25313 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
25314 is being loaded. Likewise for the Hurd.
25315
25316 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
25317 that kernel of FreeBSD ${version} is being loaded.
25318
25319 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
25320 grub_dprintf().
25321 (grub_cmd_initrd): Likewise.
25322 * util/grub.d/10_linux.in (linux_entry): Print message indicating
25323 that Linux ${version} is being loaded. Likewise for initrd.
25324
5ce0a83a 253252010-01-09 Carles Pina i Estany <carles@pina.cat>
25326
25327 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25328
809bbfeb 253292010-01-08 Carles Pina i Estany <carles@pina.cat>
25330
25331 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
25332 (GRUB_MOD_INIT): Gettextizze.
25333 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
25334 (GRUB_MOD_INIT): Gettextizze.
25335 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
25336 (grub_cmd_linux): Capitalise Linux.
25337 (GRUB_MOD_INIT): Gettextizze.
25338 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
25339 (grub_cmd_linux): Capitalise Linux.
25340 (GRUB_MOD_INIT): Gettextizze.
25341 * loader/i386/linux.c: Include `<grub/i18n.h>'.
25342 (grub_cmd_linux): Capitalise Linux.
25343 (GRUB_MOD_INIT): Gettextizze.
25344 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
25345 (GRUB_MOD_INIT): Gettextizze.
25346 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
25347 (grub_cmd_linux): Capitalise Linux.
25348 (GRUB_MOD_INIT): Gettextizze.
25349 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25350 (grub_cpu_xnu_init): Gettextizze.
25351 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25352 (GRUB_MOD_INIT): Gettextizze.
25353 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25354 (GRUB_MOD_INIT): Gettextizze.
25355 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25356 (grub_linux_load64): Capitalise Linux.
25357 (GRUB_MOD_INIT): Gettextizze.
25358 * loader/xnu.c: Include `<grub/i18n.h>'.
25359 (GRUB_MOD_INIT): Gettextizze.
25360 * po/POTFILES: Add `loader/efi/appleloader.c',
25361 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25362 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25363 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25364 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25365 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25366 and `loader/xnu.c'.
25367
b394b2ca
RM
253682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25369
25370 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25371
253722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
25373
25374 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25375 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25376 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25377
bc8b32b3
RM
253782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25379
25380 Reset Multiboot 2 support. New loader implements the draft in
25381 /branches/multiboot2 and shares as much code as possible with the
25382 production Multiboot 1 implementation.
25383
25384 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25385 * loader/multiboot2.c: Likewise.
25386 * loader/i386/multiboot_helper.S: Likewise.
25387 * include/multiboot2.h: Replace with latest version from the draft
25388 in /branches/multiboot2.
25389
25390 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25391 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25392 and `loader/multiboot2.c'.
25393 (pkglib_MODULES): Add `multiboot2.mod'.
25394 (multiboot2_mod_SOURCES): New variable.
25395 (multiboot2_mod_LDFLAGS): Likewise.
25396 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25397
25398 * conf/i386-pc.rmk: Likewise.
25399
25400 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25401 (multiboot_mod_SOURCES): Remove variable.
25402 (multiboot_mod_LDFLAGS): Likewise.
25403 (multiboot_mod_CFLAGS): Likewise.
25404
25405 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25406 `<multiboot2.h>' instead of `<multiboot.h>'.
25407 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25408 (MULTIBOOT_HEADER_MAGIC): New macros.
25409
25410 * loader/multiboot_loader.c (module_version_status): Remove variable.
25411 (find_multi_boot2_header): Remove function.
25412 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25413 logic. Always check for the Multiboot version we're compiling for.
25414 (grub_cmd_module_loader): Likewise.
25415 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25416 command instead of `multiboot'.
25417
5d2c52b8
RM
254182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25419
25420 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25421 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25422 all users.
25423
53108d92
RM
254242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
254252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 Fix breakage introduced with previous commit.
25428
25429 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25430 commands.
25431 * normal/handler.c (read_handler_list): Revert part of previous commit
25432 affecting this file.
25433 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25434 (grub_normal_execute): ... here.
25435
e2e936b2
RM
254362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25437
25438 Merge prefix-redefinition-fix branch.
25439
25440 * normal/autofs.c (read_fs_list): Make function capable of being
25441 run multiple times, gracefuly replacing the previous data
25442 structures.
25443 * normal/dyncmd.c (read_command_list): Likewise.
25444 * normal/handler.c (read_handler_list): Likewise.
25445 * normal/main.c (read_lists): New function. Calls all the
25446 list reading functions.
25447 (grub_normal_execute): Use read_lists() instead of calling all
25448 list reading functions explicitly. Register read_lists() as a
25449 variable hook attached to ${prefix}.
25450
607a3701
VS
254512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 Merge crypto branch.
25454
25455 * Makefile.in (pkglib_DATA): Add crypto.lst.
25456 (crypto.lst): New target.
25457 * commands/hashsum.c: New file.
25458 * commands/password.c (check_password): Use grub_crypto_memcmp.
25459 * commands/password_pbkdf2.c: New file.
25460 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25461 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25462 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25463 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25464 -I$(srcdir)/lib/libgcrypt_wrap.
25465 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25466 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25467 password_pbkdf2.mod.
25468 (crypto_mod_SOURCES): New variable.
25469 (crypto_mod_CFLAGS): Likewise.
25470 (crypto_mod_LDFLAGS): Likewise.
25471 (hashsum_mod_SOURCES): New variable.
25472 (hashsum_mod_CFLAGS): Likewise.
25473 (hashsum_mod_LDFLAGS): Likewise.
25474 (pbkdf2_mod_SOURCES): New variable.
25475 (pbkdf2_mod_CFLAGS): Likewise.
25476 (pbkdf2_mod_LDFLAGS): Likewise.
25477 (password_pbkdf2_mod_SOURCES): New variable.
25478 (password_pbkdf2_mod_CFLAGS): Likewise.
25479 (password_pbkdf2_mod_LDFLAGS): Likewise.
25480 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25481 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25482 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25483 Include conf/gcry.rmk.
25484 * include/grub/auth.h: Rewritten.
25485 * include/grub/crypto.h: New file.
25486 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25487 * include/grub/normal.h (read_crypto_list): New prototype.
25488 * lib/crypto.c: New file.
25489 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25490 * lib/pbkdf2.c: Likewise.
25491 * normal/auth.c (grub_auth_strcmp): Removed.
25492 (grub_iswordseparator): Likewise.
25493 (grub_auth_strword): Likewise.
25494 (is_authenticated): Use grub_strword.
25495 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25496 and grub_strword. Pass entered password to authentication callback.
25497 * normal/crypto.c: New file.
25498 * normal/main.c: Call read_crypto_list.
25499 * util/grub-mkpasswd-pbkdf2.c: New file.
25500 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25501
42841caa
VS
255022010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 Fix descent and ascent calculation.
25505
25506 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25507 (options): New option "asce".
25508 (usage): Likewise.
25509 (add_char): Ignore invalid glyphs for descent calculation.
25510 Calculate ascent from actual content.
25511 (print_glyphs): Use 'asce'.
25512 (write_font): Likewise. Allow ascent override.
25513 (main): Handle "asce" option.
25514
e7730de7 255152010-01-06 Carles Pina i Estany <carles@pina.cat>
25516
25517 * kern/err.c: Include `<grub/i18n.h>'.
25518 (grub_print_error): Add full stop. Gettextizze.
25519 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25520 (grub_bsd_load_elf): Capitalise ELF.
25521 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25522 (grub_cmd_freebsd_module): Likewise.
25523 (grub_cmd_freebsd_module_elf): Likewise.
25524 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25525
40e3a41f 255262010-01-06 Carles Pina i Estany <carles@pina.cat>
25527
25528 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25529 * commands/search_file.c (HELP_MESSAGE): New macro.
25530 * commands/search_label.c (HELP_MESSAGE): Likewise.
25531 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25532 * po/POTFILES: Add `commands/search_file.c',
25533 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25534 `commands/search.c'.
25535
83507e68
RM
255362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25537
25538 * config.rpath: Update from Gnulib.
25539
465c787b
YB
255402010-01-05 Yves Blusseau <blusseau@zetam.org>
25541
25542 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25543
6581dd3a
YB
255442010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25545
25546 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25547
3bff18c5
CW
255482010-01-05 Colin Watson <cjwatson@ubuntu.com>
25549
25550 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25551 arguments to fread so that we get a return value in bytes, rather
25552 than something that will normally be rounded down to 0.
25553 Adjust error handling to avoid producing garbage when size_t is not
25554 the same size as long long.
25555
a1368118
CW
255562010-01-05 Colin Watson <cjwatson@ubuntu.com>
25557
25558 * util/mkisofs/write.c (padblock_write): Check return value of
25559 fread.
25560
7c302978
RM
255612010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25562
25563 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25564 floppy images now.
25565
25566 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25567
e33ace06
RM
255682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25569
25570 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25571 instead of manual alignment.
25572 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25573 verbose). Avoid attempts to read past end of the device
25574 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25575 but GRUB_DISK_CACHE_SIZE may exceed that).
25576
4b856776
RM
255772010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25578
25579 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25580 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25581 it to upper layer.
25582
52c2d97f
VS
255832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25584
25585 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25586 New constant.
25587 (grub_efi_piwg_device_path): New structure
25588 (grub_efi_piwg_device_path_t): New type.
25589 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25590 (devpath_1): Transform to a structure. All users updated.
25591 (devpath_2): Likewise.
25592 (devpath_3): Likewise.
25593 (devpath_4): Likewise.
25594 (devpath_5): Likewise.
25595
98ff6a54
VS
255962010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25597
25598 * loader/efi/appleloader.c: Restored. Update all users.
25599
3a73dcb6
RM
256002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25601
25602 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25603
25604 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25605 (struct boot_blocklist): Move from here ...
25606 * include/grub/i386/pc/boot.h [ASM_FILE]
25607 (struct grub_boot_blocklist): ... to here. Update all users.
25608 (setup): Only initialize `start' member of `first_block'
25609 structure. Add assert() calls to verify the other members.
25610
25611 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25612 (generate_image): Fix broken blocklist length initialization.
25613 Add assert() call to verify blocklist `segment' field.
25614
ab0eeb0c
RM
256152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25616
25617 * loader/efi/appleloader.c: Remove. Update all users.
25618
58bc8bd5
RM
256192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25620
25621 * boot/i386/pc/boot.S: Update copyright year.
25622 * boot/i386/pc/cdboot.S: Likewise.
25623 * boot/i386/pc/diskboot.S: Likewise.
25624 * boot/i386/pc/lnxboot.S: Likewise.
25625 * boot/i386/pc/pxeboot.S: Likewise.
25626 * bus/pci.c: Likewise.
25627 * commands/cmp.c: Likewise.
25628 * commands/help.c: Likewise.
25629 * commands/hexdump.c: Likewise.
25630 * commands/i386/pc/halt.c: Likewise.
25631 * commands/i386/pc/play.c: Likewise.
25632 * commands/i386/pc/vbeinfo.c: Likewise.
25633 * commands/ls.c: Likewise.
25634 * commands/test.c: Likewise.
25635 * disk/dmraid_nvidia.c: Likewise.
25636 * disk/i386/pc/biosdisk.c: Likewise.
25637 * disk/ieee1275/nand.c: Likewise.
25638 * disk/ieee1275/ofdisk.c: Likewise.
25639 * disk/lvm.c: Likewise.
25640 * disk/raid.c: Likewise.
25641 * disk/raid6_recover.c: Likewise.
25642 * disk/scsi.c: Likewise.
25643 * fs/affs.c: Likewise.
25644 * fs/cpio.c: Likewise.
25645 * fs/ext2.c: Likewise.
25646 * fs/hfs.c: Likewise.
25647 * fs/iso9660.c: Likewise.
25648 * fs/ntfs.c: Likewise.
25649 * fs/sfs.c: Likewise.
25650 * fs/udf.c: Likewise.
25651 * fs/ufs.c: Likewise.
25652 * fs/xfs.c: Likewise.
25653 * gencmdlist.sh: Likewise.
25654 * genmk.rb: Likewise.
25655 * include/grub/disk.h: Likewise.
25656 * include/grub/efi/api.h: Likewise.
25657 * include/grub/efi/efi.h: Likewise.
25658 * include/grub/efi/pe32.h: Likewise.
25659 * include/grub/elf.h: Likewise.
25660 * include/grub/fs.h: Likewise.
25661 * include/grub/i386/at_keyboard.h: Likewise.
25662 * include/grub/i386/pc/memory.h: Likewise.
25663 * include/grub/i386/pc/vbe.h: Likewise.
25664 * include/grub/i386/pci.h: Likewise.
25665 * include/grub/i386/tsc.h: Likewise.
25666 * include/grub/ieee1275/ieee1275.h: Likewise.
25667 * include/grub/ntfs.h: Likewise.
25668 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25669 * include/grub/sparc64/libgcc.h: Likewise.
25670 * include/grub/symbol.h: Likewise.
25671 * include/grub/types.h: Likewise.
25672 * include/multiboot2.h: Likewise.
25673 * io/gzio.c: Likewise.
25674 * kern/device.c: Likewise.
25675 * kern/disk.c: Likewise.
25676 * kern/efi/efi.c: Likewise.
25677 * kern/efi/mm.c: Likewise.
25678 * kern/elf.c: Likewise.
25679 * kern/file.c: Likewise.
25680 * kern/i386/dl.c: Likewise.
25681 * kern/i386/pc/init.c: Likewise.
25682 * kern/i386/pc/startup.S: Likewise.
25683 * kern/ieee1275/ieee1275.c: Likewise.
25684 * kern/ieee1275/init.c: Likewise.
25685 * kern/main.c: Likewise.
25686 * kern/mm.c: Likewise.
25687 * kern/powerpc/dl.c: Likewise.
25688 * kern/sparc64/dl.c: Likewise.
25689 * kern/x86_64/dl.c: Likewise.
25690 * lib/hexdump.c: Likewise.
25691 * loader/efi/appleloader.c: Likewise.
25692 * loader/i386/ieee1275/linux.c: Likewise.
25693 * loader/i386/pc/chainloader.c: Likewise.
25694 * loader/i386/pc/linux.c: Likewise.
25695 * loader/i386/pc/multiboot2.c: Likewise.
25696 * loader/ieee1275/multiboot2.c: Likewise.
25697 * loader/multiboot2.c: Likewise.
25698 * loader/multiboot_loader.c: Likewise.
25699 * loader/powerpc/ieee1275/linux.c: Likewise.
25700 * normal/completion.c: Likewise.
25701 * normal/menu_entry.c: Likewise.
25702 * partmap/apple.c: Likewise.
25703 * util/grub.d/10_hurd.in: Likewise.
25704 * util/hostfs.c: Likewise.
25705 * video/readers/png.c: Likewise.
25706
e2d70b5c
CW
257072010-01-03 Colin Watson <cjwatson@ubuntu.com>
25708
25709 * include/grub/misc.h (GNUC_PREREQ): New macro.
25710 (ATTRIBUTE_ERROR): New macro.
25711 * include/grub/list.h (grub_bad_type_cast_real): Use
25712 ATTRIBUTE_ERROR.
25713
a173283f 257142010-01-03 Carles Pina i Estany <carles@pina.cat>
25715
25716 * normal/menu_text.c (print_message): Change messages.
25717
7fa7ff74 257182010-01-03 Carles Pina i Estany <carles@pina.cat>
25719
25720 * normal/menu_entry.c (store_completion): Gettextizze.
25721
136d24f6 257222010-01-03 Carles Pina i Estany <carles@pina.cat>
25723
25724 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25725
f936862e 257262010-01-03 Carles Pina i Estany <carles@pina.cat>
25727
25728 * po/POTFILES: Sort correctly.
25729
29c44ad1 257302010-01-03 Carles Pina i Estany <carles@pina.cat>
25731
25732 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25733 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25734 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25735 full stop.
25736 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25737 summary. Gettextizze the strings.
25738 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25739 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25740 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25741 full stop.
25742 (GRUB_MOD_INIT): Remove command name from summary.
25743 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25744 summary.
25745 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25746 * term/i386/pc/serial.c (options): Add full stops.
25747 (GRUB_MOD_INIT): Remove command name from the summary.
25748
77a79592 257492010-01-03 Carles Pina i Estany <carles@pina.cat>
25750
25751 * commands/acpi.c: Gettextizze help strings and/or options. Include
25752 `grub/i18n.h' if needed.
25753 * commands/blocklist.c: Likewise.
25754 * commands/boot.c: Likewise.
25755 * commands/cat.c: Likewise.
25756 * commands/cmp.c: Likewise.
25757 * commands/configfile.c: Likewise.
25758 * commands/crc.c: Likewise.
25759 * commands/date.c: Likewise.
25760 * commands/echo.c: Likewise.
25761 * commands/efi/fixvideo.c: Likewise.
25762 * commands/efi/loadbios.c: Likewise.
25763 * commands/gptsync.c: Likewise.
25764 * commands/halt.c: Likewise.
25765 * commands/handler.c: Likewise.
25766 * commands/hdparm.c: Likewise.
25767 * commands/hexdump.c: Likewise.
25768 * commands/i386/cpuid.c: Likewise.
25769 * commands/i386/pc/drivemap.c: Likewise.
25770 * commands/i386/pc/halt.c: Likewise.
25771 * commands/i386/pc/pxecmd.c: Likewise.
25772 * commands/i386/pc/vbeinfo.c: Likewise.
25773 * commands/i386/pc/vbetest.c: Likewise.
25774 * commands/ieee1275/suspend.c: Likewise.
25775 * commands/keystatus.c: Likewise.
25776 * commands/loadenv.c: Likewise.
25777 * commands/ls.c: Likewise.
25778 * commands/lsmmap.c: Likewise.
25779 * commands/lspci.c: Likewise.
25780 * commands/memrw.c: Likewise.
25781 * commands/minicmd.c: Likewise.
25782 * commands/parttool.c: Likewise.
25783 * commands/password.c: Likewise.
25784 * commands/probe.c: Likewise.
25785 * commands/read.c: Likewise.
25786 * commands/reboot.c: Likewise.
25787 * commands/search.c: Likewise.
25788 * commands/sleep.c: Likewise.
25789 * commands/test.c: Likewise.
25790 * commands/true.c: Likewise.
25791 * commands/usbtest.c: Likewise.
25792 * commands/videotest.c: Likewise.
25793 * commands/xnu_uuid.c: Likewise.
25794 * disk/loopback.c: Likewise.
25795 * hello/hello.c: Likewise.
25796 * loader/i386/bsd.c: Likewise.
25797 * term/i386/pc/serial.c: Likewise.
25798 * po/POTFILES: Add new files.
25799
da8d5c53
CW
258002010-01-02 Colin Watson <cjwatson@ubuntu.com>
25801
25802 * term/i386/pc/at_keyboard.c
25803 (keyboard_controller_wait_untill_ready): Rename to ...
25804 (keyboard_controller_wait_until_ready): ... this. Update all users.
25805
33937904 258062010-01-01 Carles Pina i Estany <carles@pina.cat>
25807
25808 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25809 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25810 string using string width.
25811 * normal/menu_text.c (grub_print_message_indented): Use
25812 grub_print_spaces and not print_spaces.
25813 (print_timeout): Likewise.
25814 (print_spaces): Move to...
25815 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25816
3fd3b8d8
RM
258172010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25818
25819 Import from Gnulib.
25820
25821 * gnulib/getdelim.c: New file.
25822 * gnulib/getline.c: Likewise.
25823
33433555
VS
258242009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25825
25826 * include/grub/list.h (grub_assert_fail): Removed.
25827 (grub_bad_type_cast_real): New function.
25828 (grub_bad_type_cast): New macro.
25829 (GRUB_AS_LIST): Use grub_bad_type_cast.
25830 (GRUB_AS_LIST_P): Likewise.
e44721e8 25831 (GRUB_AS_NAMED_LIST): Likewise.
33433555 25832 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 25833 (GRUB_AS_PRIO_LIST): Likewise.
33433555 25834 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 25835 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 25836
f5a51306
VS
258372009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25838
25839 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25840 Fix syntax error.
25841
90d1e879
RM
258422009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25843
25844 * configure.ac: Check for TARGET_CFLAGS initialization before we
25845 initialize it ourselves (sigh).
25846 Move a few modifications to TARGET_CFLAGS to be unconditional
25847 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25848 eh_frame)
25849
25850 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25851 * term/i386/pc/at_keyboard.c
25852 (keyboard_controller_wait_untill_ready): Likewise.
25853 (keyboard_controller_led): Rename `led_status' paramter to avoid
25854 name conflict.
25855
465b5a81 258562009-12-28 Carles Pina i Estany <carles@pina.cat>
25857
25858 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25859 quotes.
25860
c181849b
VS
258612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25864
9c8739a4
VS
258652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25866
25867 * normal/menu_text.c (grub_print_message_indented): Prevent
25868 past-the-end-of-array dereference.
25869
3e74249c
VS
258702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25873 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25874
64fd18ed 258752009-12-27 Carles Pina i Estany <carles@pina.cat>
25876
25877 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25878 * normal/main.c (grub_normal_read_line): Remove a space from the
25879 default prompt.
25880
714af9b9 258812009-12-27 Carles Pina i Estany <carles@pina.cat>
25882
25883 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25884 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25885 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25886 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25887 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25888 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25889 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25890
82f3e412 258912009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 25892
25893 * video/readers/jpeg.c (cmd): Declare.
25894 (grub_cmd_jpegtest): Use `grub_command_t' type.
25895 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25896 Assign to `cmd'.
25897 (GRUB_MOD_FINI): Use `cmd' to unregister.
25898 * video/readers/png.c (cmd): Declare.
25899 (grub_cmd_pngtest): Use `grub_command_t' type.
25900 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25901 Assign to `cmd'.
25902 (GRUB_MOD_FINI): Use `cmd' to unregister.
25903 * video/readers/tga.c (cmd): Declare.
25904 (grub_cmd_tgatest): Use `grub_command_t' type.
25905 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25906 Assign to `cmd'.
25907 (GRUB_MOD_FINI): Use `cmd' to unregister.
25908
82f3e412 259092009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 25910
25911 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
25912 stops.
25913 * kern/corecmd.c (grub_register_core_commands): Likewise.
25914 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
25915 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25916 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
25917 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25918 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25919 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
25920 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25921 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
25922 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25923 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25924 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25925 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25926 * normal/handler.c (insert_handler): Likewise.
25927 * normal/main.c (GRUB_MOD_INIT): Likewise.
25928 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25929
fdcdbb66 259302009-12-26 Carles Pina i Estany <carles@pina.cat>
25931
25932 * commands/help.c (grub_cmd_help): Print the command name before the
25933 summary.
25934 (GRUB_MOD_INIT): Remove command name from the summary.
25935 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 25936 string as summary.
fdcdbb66 25937 * lib/arg.c (find_long): Print the command name before the summary.
25938 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
25939 summary.
25940 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
25941 * commands/cat.c (GRUB_MOD_INIT): Likewise.
25942 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
25943 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25944 * commands/crc.c (GRUB_MOD_INIT): Likewise.
25945 * commands/date.c (GRUB_MOD_INIT): Likewise.
25946 * commands/echo.c (GRUB_MOD_INIT): Likewise.
25947 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
25948 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25949 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25950 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
25951 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
25952 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
25953 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
25954 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25955 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
25956 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
25957 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
25958 * commands/ls.c (GRUB_MOD_INIT): Likewise.
25959 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25960 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25961 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25962 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
25963 * commands/password.c (GRUB_MOD_INIT): Likewise.
25964 * commands/probe.c (GRUB_MOD_INIT): Likewise.
25965 * commands/read.c (GRUB_MOD_INIT): Likewise.
25966 * commands/search.c (GRUB_MOD_INIT): Likewise.
25967 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
25968 * commands/test.c (GRUB_MOD_INIT): Likewise.
25969 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
25970 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25971 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25972 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
25973 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25974 * lib/arg.c (GRUB_MOD_INIT): Likewise.
25975 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
25976 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25977 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25978 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25979 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25980 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
25981 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
25982 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
25983
9c288be2
VS
259842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25985
25986 Use search command for preliminar UUID search.
25987
25988 * commands/search.c: Split into ...
25989 * commands/search_wrap.c: ...this
25990 * commands/search.c: ...and this.
25991 * commands/search_file.c: New file.
25992 * commands/search_label.c: New file.
25993 * commands/search_uuid.c: New file.
25994 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25995 Add commands/search_wrap.c, commands/search_file.c,
25996 commands/search_label.c and commands/search_uuid.c.
25997 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25998 (search_mod_SOURCES): Set to commands/search_wrap.c.
25999 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26000 search_label.mod.
26001 (search_fs_file_mod_SOURCES): New variable.
26002 (search_fs_file_mod_CFLAGS): Likewise.
26003 (search_fs_file_mod_LDFLAGS): Likewise.
26004 (search_label_mod_SOURCES): Likewise.
26005 (search_label_mod_CFLAGS): Likewise.
26006 (search_label_mod_LDFLAGS): Likewise.
26007 (search_fs_uuid_mod_SOURCES): New variable.
26008 (search_fs_uuid_mod_CFLAGS): Likewise.
26009 (search_fs_uuid_mod_LDFLAGS): Likewise.
26010 (fs_file_mod_SOURCES): Removed.
26011 (fs_file_mod_CFLAGS): Likewise.
26012 (fs_file_mod_LDFLAGS): Likewise.
26013 (fs_uuid_mod_SOURCES): Removed.
26014 (fs_uuid_mod_CFLAGS): Likewise.
26015 (fs_uuid_mod_LDFLAGS): Likewise.
26016 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26017 Set to util/grub-install.in.
26018 * disk/fs_file.c: Removed.
26019 * disk/fs_uuid.c: Likewise.
26020 * include/grub/search.h: New file.
26021 * util/grub-install.in: Handle sparc64.
26022 Create and use load.cfg.
26023 * util/sparc64/ieee1275/grub-install.in: Removed.
26024
db943399
VS
260252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26028 Ignore return status if CF is cleared.
26029 (grub_biosdisk_get_diskinfo_standard): Likewise.
26030
3fdae612
RM
260312009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26032
26033 * term/i386/pc/at_keyboard.c
26034 (keyboard_controller_wait_untill_ready): New function.
26035 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26036 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26037 for keyboard polling, rather than duplicate the same loop. This
26038 saves a few bytes in code size.
26039
7ebaa2b4
VS
260402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 Support for (pxe[:server[:gateway]]) syntax and
26043 use environment variable for PXE.
26044
26045 * commands/i386/pc/pxecmd.c (options): Removed.
26046 (print_ip): Removed.
26047 (grub_cmd_pxe): Removed
26048 (grub_cmd_pxe_unload): New function.
26049 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26050 (grub_pxe_your_ip): Made static.
26051 (grub_pxe_default_server_ip): Likewise.
26052 (grub_pxe_default_gateway_ip): Likewise.
26053 (grub_pxe_blksize): Likewise.
26054 (parse_ip): New function.
26055 (grub_pxe_open): Support server and gateway specification.
26056 (grub_pxe_close): Free disk->data.
26057 (grub_pxefs_open): Use disk->data.
26058 (grub_pxefs_read): Likewise.
26059 (grub_env_write_readonly): New function.
26060 (set_mac_env): Likewise.
26061 (set_env_limn_ro): Likewise.
26062 (parse_dhcp_vendor): Likewise.
26063 (grub_pxe_detect): Set the environment variables.
26064 (set_ip_env): New function.
26065 (write_ip_env): Likewise.
26066 (grub_env_write_pxe_default_server): Likewise.
26067 (grub_env_write_pxe_default_gateway): Likewise.
26068 (grub_env_write_pxe_blocksize): Likewise.
26069 (GRUB_MOD_INIT(pxe)): Set environment variables.
26070 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26071 (grub_pxe_mac_addr_t): ... this. All users updated.
26072 (grub_pxe_your_ip): Removed.
26073 (grub_pxe_server_ip): Likewise.
26074 (grub_pxe_gateway_ip): Likewise.
26075 (grub_pxe_blksize): Likewise.
26076
ec5f98ab 260772009-12-25 Carles Pina i Estany <carles@pina.cat>
26078
26079 * commands/help.c: Include `<grub/i18n.h>'.
26080 (grub_cmd_help): Gettextizze.
26081 (GRUB_MOD_INIT): Likewise.
26082 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26083 (GRUB_MOD_INIT): Gettextizze.
26084 * commands/search.c: Include `<grub/i18n.h>'.
26085 (options): Gettextizze.
26086 (GRUB_MOD_INIT): Gettextizze.
26087 * lib/arg.c: Include `<grub/i18n.h>'.
26088 (help_options): Gettextizze.
26089 (find_long): Likewise.
26090 (grub_arg_show_help): Likewise.
26091 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26092 (read_command_list): Gettextizze.
26093 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 26094 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26095
22815526
RM
260962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26097
26098 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26099 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26100 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26101 (led_status): New variable.
26102 (keyboard_controller_led): New function.
26103 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26104 update led status for caps lock, num lock and scroll lock.
26105
0ad46fd7
FZ
261062009-12-25 Felix Zielcke <fzielcke@z-51.de>
26107
26108 * util/hostdisk.c (open_device): Fix a comment.
26109
d0e158c2
RM
261102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26111
26112 * util/grub-install.in (host_os): New variable.
26113 * util/i386/efi/grub-install.in (host_os): Likewise.
26114
401c0ad6
RM
261152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26116
26117 * util/mkisofs/write.c (padblock_write): Abort when given an
26118 excedingly large embed image, instead of silently truncating it.
26119
d14d3370
RM
261202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26121
26122 * include/multiboot.h: Indentation fixes.
26123
eeed10b4
RM
261242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26125
26126 * include/multiboot.h (struct multiboot_aout_symbol_table)
26127 (struct multiboot_elf_section_header_table): New structure
26128 declarations (stolen from GRUB Legacy).
26129 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26130 table information.
26131
26132 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26133 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26134 type aliases.
26135
681c70ab
RM
261362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26137
26138 * include/multiboot.h: Make comments src2texi-friendly.
26139
e4d47d8d
RM
261402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 For consistency with [multiboot]/docs/boot.S.
26143
26144 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26145 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26146 (MULTIBOOT_MAGIC2): Rename from this ...
26147 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26148
a0b70bda
RM
261492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26150
26151 * include/multiboot.h: Remove `<grub/types.h>'.
26152 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26153 types. Update all users.
26154
61ba42be 261552009-12-25 Carles Pina i Estany <carles@pina.cat>
26156
26157 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26158 `couldn't' and `can not' by `cannot'.
26159 * commands/i386/pc/drivemap.c: Likewise.
26160 * disk/ata.c: Likewise.
26161 * disk/ieee1275/nand.c: Likewise.
26162 * fs/affs.c: Likewise.
26163 * fs/fat.c: Likewise.
26164 * fs/hfs.c: Likewise.
26165 * fs/hfsplus.c: Likewise.
26166 * fs/iso9660.c: Likewise.
26167 * fs/jfs.c: Likewise.
26168 * fs/minix.c: Likewise.
26169 * fs/reiserfs.c: Likewise.
26170 * fs/sfs.c: Likewise.
26171 * fs/udf.c: Likewise.
26172 * fs/ufs.c: Likewise.
26173 * fs/xfs.c: Likewise.
26174 * loader/powerpc/ieee1275/linux.c: Likewise.
26175 * loader/sparc64/ieee1275/linux.c: Likewise.
26176 * util/grub-probe.c: Likewise.
26177 * util/misc.c: Likewise.
26178
7fd0baee 261792009-12-24 Carles Pina i Estany <carles@pina.cat>
26180
26181 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26182 grub_errno calls.
26183 * commands/acpi.c: Likewise.
26184 * commands/blocklist.c: Likewise.
26185 * commands/efi/loadbios.c: Likewise.
26186 * commands/i386/pc/drivemap.c: Likewise.
26187 * commands/loadenv.c: Likewise.
26188 * commands/memrw.c: Likewise.
26189 * commands/password.c: Likewise.
26190 * commands/videotest.c: Likewise.
26191 * disk/ata.c: Likewise.
26192 * disk/ata_pthru.c: Likewise.
26193 * disk/dmraid_nvidia.c: Likewise.
26194 * disk/ieee1275/nand.c: Likewise.
26195 * disk/ieee1275/ofdisk.c: Likewise.
26196 * disk/loopback.c: Likewise.
26197 * disk/lvm.c: Likewise.
26198 * disk/mdraid_linux.c: Likewise.
26199 * disk/raid.c: Likewise.
26200 * disk/raid6_recover.c: Likewise.
26201 * disk/scsi.c: Likewise.
26202 * efiemu/main.c: Likewise.
26203 * efiemu/mm.c: Likewise.
26204 * efiemu/pnvram.c: Likewise.
26205 * efiemu/symbols.c: Likewise.
26206 * font/font.c: Likewise.
26207 * fs/cpio.c: Likewise.
26208 * fs/hfsplus.c: Likewise.
26209 * fs/iso9660.c: Likewise.
26210 * fs/jfs.c: Likewise.
26211 * fs/minix.c: Likewise.
26212 * fs/ntfs.c: Likewise.
26213 * fs/ntfscomp.c: Likewise.
26214 * fs/reiserfs.c: Likewise.
26215 * fs/ufs.c: Likewise.
26216 * fs/xfs.c: Likewise.
26217 * gettext/gettext.c: Likewise.
26218 * include/grub/auth.h: Likewise.
26219 * kern/elf.c: Likewise.
26220 * kern/file.c: Likewise.
26221 * kern/ieee1275/init.c: Likewise.
26222 * kern/ieee1275/mmap.c: Likewise.
26223 * kern/ieee1275/openfw.c: Likewise.
26224 * kern/powerpc/dl.c: Likewise.
26225 * kern/sparc64/dl.c: Likewise.
26226 * lib/arg.c: Likewise.
26227 * loader/i386/bsd.c: Likewise.
26228 * loader/i386/bsdXX.c: Likewise.
26229 * loader/i386/efi/linux.c: Likewise.
26230 * loader/i386/efi/xnu.c: Likewise.
26231 * loader/i386/ieee1275/linux.c: Likewise.
26232 * loader/i386/linux.c: Likewise.
26233 * loader/i386/multiboot.c: Likewise.
26234 * loader/i386/pc/linux.c: Likewise.
26235 * loader/i386/pc/multiboot2.c: Likewise.
26236 * loader/i386/xnu.c: Likewise.
26237 * loader/ieee1275/multiboot2.c: Likewise.
26238 * loader/macho.c: Likewise.
26239 * loader/machoXX.c: Likewise.
26240 * loader/multiboot2.c: Likewise.
26241 * loader/multiboot_loader.c: Likewise.
26242 * loader/powerpc/ieee1275/linux.c: Likewise.
26243 * loader/sparc64/ieee1275/linux.c: Likewise.
26244 * loader/xnu.c: Likewise.
26245 * loader/xnu_resume.c: Likewise.
26246 * mmap/i386/pc/mmap.c: Likewise.
26247 * normal/menu_viewer.c: Likewise.
26248 * partmap/acorn.c: Likewise.
26249 * partmap/amiga.c: Likewise.
26250 * partmap/apple.c: Likewise.
26251 * script/lexer.c: Likewise.
26252 * term/gfxterm.c: Likewise.
26253 * term/i386/pc/serial.c: Likewise.
26254 * term/i386/pc/vga.c: Likewise.
26255 * term/ieee1275/ofconsole.c: Likewise.
26256 * term/terminfo.c: Likewise.
26257 * video/bitmap.c: Likewise.
26258 * video/efi_gop.c: Likewise.
26259 * video/efi_uga.c: Likewise.
26260 * video/fb/video_fb.c: Likewise.
26261 * video/i386/pc/vbe.c: Likewise.
26262 * video/readers/tga.c: Likewise.
26263 * video/video.c: Likewise.
26264
0ad46fd7 262652009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
26266
26267 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
26268 * commands/lspci.c: Likewise.
26269 * commands/probe.c: Likewise.
26270 * commands/xnu_uuid.c: Likewise.
26271 * conf/i386-coreboot.rmk: Likewise.
26272 * conf/i386-efi.rmk: Likewise.
26273 * conf/i386-ieee1275.rmk: Likewise.
26274 * conf/i386-pc.rmk: Likewise.
26275 * conf/powerpc-ieee1275.rmk: Likewise.
26276 * conf/sparc64-ieee1275.rmk: Likewise.
26277 * conf/x86_64-efi.rmk: Likewise.
26278 * fs/i386/pc/pxe.c: Likewise.
26279 * gettext/gettext.c: Likewise.
26280 * include/grub/efi/graphics_output.h: Likewise.
26281 * include/grub/i386/pc/memory.h: Likewise.
26282 * kern/env.c: Likewise.
26283 * kern/i386/qemu/startup.S: Likewise.
26284 * lib/i386/pc/biosnum.c: Likewise.
26285 * lib/i386/relocator.c: Likewise.
26286 * lib/i386/relocator_asm.S: Likewise.
26287 * lib/relocator.c: Likewise.
26288 * loader/i386/bsd.c: Likewise.
26289 * loader/i386/multiboot.c: Likewise.
26290 * loader/i386/pc/chainloader.c: Likewise.
26291 * loader/i386/xnu.c: Likewise.
26292 * loader/xnu.c: Likewise.
26293 * normal/main.c: Likewise.
26294 * normal/menu_text.c: Likewise.
26295 * util/getroot.c: Likewise.
26296 * util/grub-mkconfig_lib.in: Likewise.
26297 * util/grub.d/00_header.in: Likewise.
26298 * util/i386/pc/grub-mkimage.c: Likewise.
26299 * util/mkisofs/eltorito.c: Likewise.
26300 * util/mkisofs/exclude.h: Likewise.
26301 * util/mkisofs/hash.c: Likewise.
26302 * util/mkisofs/iso9660.h: Likewise.
26303 * util/mkisofs/joliet.c: Likewise.
26304 * util/mkisofs/mkisofs.c: Likewise.
26305 * util/mkisofs/mkisofs.h: Likewise.
26306 * util/mkisofs/multi.c: Likewise.
26307 * util/mkisofs/name.c: Likewise.
26308 * util/mkisofs/rock.c: Likewise.
26309 * util/mkisofs/tree.c: Likewise.
26310 * util/mkisofs/write.c: Likewise.
26311 * video/efi_gop.c: Likewise.
26312
009ec743
VS
263132009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
26316 size counting.
26317
0ad46fd7 263182009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
26319
26320 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
26321 * genmk.rb (class SCRIPT): Modify the target file instead of source.
26322
d3d30ea0
VS
263232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26324
26325 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
26326 (GRUB_MOD_INIT(memrw)): Update help line.
26327
a34f5c70
VS
263282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
26331 Use grub_extcmd_t. All users updated.
26332 (options): New variable.
26333 (grub_cmd_read): Restructure for readability. Support "-v" option.
26334 (grub_cmd_write): Restructure for readability.
26335
0ad46fd7 263362009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
26337
26338 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26339
0ad46fd7 263402009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
26341
26342 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
26343 with the actual contents of the correspondending make variable.
26344 * util/grub-mkrescue.in (pkglib_DATA): New variable.
26345 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
26346 specifying `*.lst' and `efiemu??.o'
26347
0ad46fd7 263482009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
26349
26350 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26351 after function name.
26352 Noticed by Rene Engelhard <rene@debian.org>.
26353
dc77a799
VS
263542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26355
26356 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26357 (options): New variable.
26358 (iospace): Likewise.
26359 (grub_lspci_iter): List IO spaces if "-i" was given.
26360 (grub_cmd_lspci): Parse options.
26361 (GRUB_MOD_INIT(lspci)): Use extcmd.
26362 (GRUB_MOD_FINI(lspci)): Likewise.
26363
0ad46fd7 263642009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
26365
26366 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26367 `function' keyword.
26368 Patch by Tony Mancill <tmancill@debian.org>.
26369
b5d5993b
VS
263702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26371
26372 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26373 (grub_uhci_portstatus): Likewise.
26374 (grub_uhci_portstatus): Add necessary delay.
11d18281 26375 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 26376
941903f2 263772009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 26378
941903f2 26379 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26380 (GRUB_MOD_INIT): Likewise.
26381 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 26382 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26383 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 26384 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26385 (enable_rom_area): Likewise.
26386 (GRUB_MOD_INIT): Likewise.
26387 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26388 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26389 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26390 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26391 * commands/hexdump.c (options): Likewise.
26392 * commands/i386/cpuid.c (options): Likewise.
26393 (GRUB_MOD_INIT): Likewise.
26394 * commands/i386/pc/drivemap.c (options): Likewise.
26395 (GRUB_MOD_INIT): Likewise.
26396 * commands/i386/pc/halt (options): Likewise.
26397 (GRUB_MOD_INIT): Likewise.
26398 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26399 * commands/i386/pc/pxecmd.c (options): Likewise.
26400 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26401 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26402 * commands/keystatus.c (options): Likewise.
26403 (GRUB_MOD_INIT): Likewise.
26404 * commands/loadenv.c (options): Likewise.
26405 * commands/ls.c (options): Likewise.
26406 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26407 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26408 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26409 * commands/parttool.c (helpmsg): Likewise.
26410 * commands/probe.c (options): Likewise.
26411 * commands/read.c (GRUB_MOD_INIT): Likewise.
26412 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26413 * commands/search.c (options): Likewise.
26414 * commands/sleep.c (options): Likewise.
26415 * commands/test.c (GRUB_MOD_INIT): Likewise.
26416 * commands/true.c (GRUB_MOD_INIT): Likewise.
26417 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26418 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26419 * lib/arg.c (help_options): Likewise.
e9bbb4e7 26420 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26421 `$(XGETTEXT)'.
98a50553 26422 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 26423
0ad46fd7 264242009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 26425
ef3c2c3a 26426 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
26427 instead of specifying them explicit.
26428
7922f68b
RM
264292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26430
26431 * NEWS: Add grub-probe support for GNU/Hurd.
26432
537ce47f
RM
264332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26434
26435 * NEWS: gettext was added after 1.97.
26436
9b214e3a
RM
264372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26438
26439 * util/mkisofs/msdos_partition.h: New file (based on
26440 include/grub/msdos_partition.h).
26441 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26442 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26443 (ld_options, main): Recognize --protective-msdos-label.
26444 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26445 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26446 (padblock_write): If `use_protective_msdos_label' is set, patch a
26447 protective DOS-style label in the output image.
26448
26449 * util/grub-mkrescue.in: Use --protective-msdos-label.
26450
e9309813
RM
264512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26452
26453 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26454 boot.
26455
0ae56929
RM
264562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26457
26458 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26459 variables.
26460 (ld_options, main): Recognize `--embedded-boot'.
26461 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26462 declarations.
26463 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26464 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26465 (padblock_write): Likewise. Rewrite to support embedded boot image.
26466
26467 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26468 for BIOS-based disk boot instead of only ElTorito.
26469
b15937b1
RM
264702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26471
26472 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26473 build (not needed for bootstrap).
26474
52cc3ce0
RM
264752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26476
26477 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26478 from i386-pc build (not needed for bootstrap).
26479 Rewrite a pair of strings.
26480
36f5ff04
RM
264812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26482
26483 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26484
973c6c85 264852009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
26486
26487 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26488
05d21547
AB
264892009-12-21 Andreas Born <futur.andy@googlemail.com>
26490
26491 * kern/env.c (grub_env_context_open): Mark exported variable for
26492 reexport.
26493
0175d51f
AB
264942009-12-21 Andreas Born <futur.andy@googlemail.com>
26495
26496 * kern/env.c (grub_env_export): Create nonexistent variables before
26497 exporting.
26498
7f39d92f 264992009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 26500
7f39d92f 26501 * include/grub/auth.h: Include `<grub/i18n.h>'.
26502 (GRUB_GET_PASSWORD): Gettextizze string.
26503 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26504 menu_text.c.
26505 (grub_utf8_to_ucs4_alloc): Fix indentation.
26506 (grub_print_ucs4): Likewise.
26507 (grub_getstringwidth): Likewise.
26508 (print_message_indented): New declaration.
26509 * normal/auth.c: Include `<grub/i18n.h>'.
26510 (grub_auth_check_authentication): Gettexttize string.
26511 * normal/cmdline.c: Include `<grub/i18n.h>'.
26512 (grub_cmdline_get): Gettextizze.
26513 * normal/color.c: Include `<grub/i18n.h>'.
26514 (grub_parse_color_name_pair): Gettexttize strings.
26515 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26516 string (use `print_message_indented').
26517 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26518 `include/grub/normal.h'.
26519 (print_message_indented): Renamed to ...
26520 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26521 used in normal/main.c).
26522 (print_message): Use `grub_print_message_indented' instead of
26523 `print_message_indented'.
26524 (print_timeout): Likewise.
26525 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26526 (grub_normal_print_device_info): Gettexttize strings.
26527 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26528
3041d898
VS
265292009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26530
26531 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26532 of arguments. Return number of tokens and not arguments. All users
26533 updated.
26534
de15bf8e
VS
265352009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26536
26537 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26538 non-MSDOS paritions.
26539
e0a6ca52
VS
265402009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26541
26542 * include/grub/types.h (UNUSED): Removed since it conflicts with
26543 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26544 Reported by Grégoire Sutre.
26545
b99518d1 265462009-12-19 Carles Pina i Estany <carles@pina.cat>
26547
26548 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26549 (grub_print_ucs4_alloc): Likewise.
26550 (grub_getstringwidth): Likewise.
26551 * normal/main.c (grub_normal_init_page): Gettextize version string.
26552 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26553 (getstringwidth): Renamed to ...
26554 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26555 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26556 (grub_print_ucs4): Remove `static' qualifer (now used in
26557 normal/main.c).
26558 * po/POTFILES: Add normal/main.c.
26559
bfd5e52b 265602009-12-19 Carles Pina i Estany <carles@pina.cat>
26561
26562 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26563 (print_message_indented): Add `margin_left' and `margin_right'
26564 parameters.
26565 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26566 strings.
26567 (print_timeout): Use `print_message_indented' to print the message.
26568 Deletes `second_stage' parameter.
26569 (run_menu): Update `print_timeout' calls.
26570
5a1ad2b9
VS
265712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26572
26573 Fix console palette on OpenFirmware.
26574
26575 * term/ieee1275/ofconsole.c (MAX): Removed.
26576 (colors): Redone based on VGA palette.
26577 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26578 colors are supported.
26579 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26580
b045f00a
VS
265812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 Fix potential EfiEmu double prepare.
26584
26585 * efiemu/main.c (prepared): New variable
26586 (grub_efiemu_unload): Set prepare to '0'.
26587 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26588
26589 set_virtual_address_map support.
26590
26591 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26592 prototype.
26593 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26594 prototype.
26595 (grub_efiemu_crc32): Likewise.
26596 (grub_efiemu_crc64): Likewise.
26597 (grub_efiemu_set_virtual_address_map): Likewise.
26598 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26599 New definition.
26600 (grub_autoefi_set_virtual_address_map): Likewise.
26601 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26602 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26603 Restructure flow to accomodate it.
26604 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26605 (grub_efiemu_crc): Recompute CRC32.
26606 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26607 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26608 * efiemu/symbols.c (relocated_handle): New variable.
26609 (grub_efiemu_free_syms): Free relocated_handle.
26610 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26611 (grub_efiemu_write_sym_markers): New function.
26612 (grub_efiemu_set_virtual_address_map): Likewise.
26613
26614 Newer XNU parameters.
26615
26616 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26617 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26618 (grub_xnu_fill_devicetree): New prototype.
26619 (grub_xnu_heap_real_start): New variable.
26620 * loader/xnu.c (get_name_ptr): New function.
26621 (grub_xnu_load_driver): Fill namelen and name.
26622
26623 64-bit xnu support.
26624
26625 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26626 and 'loader/macho64.c'.
26627 * conf/i386-pc.rmk: Likewise.
26628 * conf/x86_64-efi.rmk: Likewise.
26629 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26630 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26631 * include/grub/macho.h (grub_macho_segment64): New structure.
26632 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26633 (grub_macho_size32): ... to this.
26634 (grub_macho32_get_entry_point): Renamed from ...
26635 (grub_macho_get_entry_point32): ... to this.
26636 (grub_macho_contains_macho64): New prototype.
26637 (grub_macho_size64): Likewise.
26638 (grub_macho_get_entry_point64): Likewise.
26639 (grub_macho32_load): Renamed from ...
26640 (grub_macho_load32): ... to this.
26641 (grub_macho32_filesize): Renamed from ...
26642 (grub_macho_filesize32): ... to this.
26643 (grub_macho32_readfile): Renamed from ...
26644 (grub_macho_readfile32): ... to this.
26645 (grub_macho_filesize64): New prototype.
26646 (grub_macho_readfile64): Likewise.
26647 (grub_macho_parse32): Likewise.
26648 (grub_macho_parse64): Likewise.
26649 * loader/macho.c: Split into ...
26650 * loader/machoXX.c: ... and this. Replace 32 with XX.
26651 * loader/macho32.c: New file.
26652 * loader/macho64.c: Likewise.
26653 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26654 (grub_cmd_xnu_kernel): Make 32-bit only.
26655 (grub_cmd_xnu_kernel64): New function.
26656 (grub_xnu_load_driver): Support Mach-O 64.
26657 (grub_cmd_xnu_mkext): Likewise.
26658 * util/grub.d/30_os-prober.in (osx_entry): New function.
26659 Generate entries for 64-bit boot too.
26660
26661 Eliminate ad-hoc tree format in XNU and EfiEmu.
26662
26663 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26664 * efiemu/pnvram.c: Rewritten to use environment variables.
26665 All users updated.
26666
26667 Inline utf16_to_utf8.
26668
26669 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26670 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26671 All users updated.
26672 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26673
26674 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26675 * commands/usbtest.c (grub_usb_get_string): ... move here.
26676 (usb_print_str): Fix error handling.
26677 * include/grub/usb.h (grub_usb_get_string): Remove.
26678
26679 UTF-8 to UTF-16 transformation.
26680
26681 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26682 (charset_mod_SOURCES): New variable.
26683 (charset_mod_CFLAGS): Likewise.
26684 (charset_mod_LDFLAGS): Likewise.
26685 * include/grub/utf.h: New file.
26686 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26687
26688 Support for device properties.
26689
26690 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26691 (grub_xnu_devprop_device_header): Likewise.
26692 (grub_xnu_devprop_device_descriptor): Likewise.
26693 (grub_xnu_devprop_add_device): New prototype.
26694 (grub_xnu_devprop_remove_device): Likewise.
26695 (grub_xnu_devprop_remove_property): Likewise.
26696 (grub_xnu_devprop_add_property_utf8): Likewise.
26697 (grub_xnu_devprop_add_property_utf16): Likewise.
26698 (grub_cpu_xnu_init): Likewise.
26699 (grub_cpu_xnu_fini): Likewise.
26700 (grub_cpu_xnu_unload): Likewise.
26701 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26702 (property_descriptor): Likewise.
26703 (devices): New variable.
26704 (grub_xnu_devprop_remove_property): New function.
26705 (grub_xnu_devprop_add_device): Likewise.
26706 (grub_xnu_devprop_remove_device): Likewise.
26707 (grub_xnu_devprop_add_property): Likewise.
26708 (grub_xnu_devprop_add_property_utf8): Likewise.
26709 (grub_xnu_devprop_add_property_utf16): Likewise.
26710 (hextoval): Likewise.
26711 (grub_cpu_xnu_fill_devprop): Likewise.
26712 (grub_cmd_devprop_load): Likewise.
26713 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26714 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26715 (cmd_devprop_load): New variable.
26716 (grub_cpu_xnu_init): New function.
26717 (grub_cpu_xnu_fini): Likewise.
26718 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26719 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26720 (grub_cmd_xnu_devtree): Likewise.
26721 (hextoval): New function.
26722 (unescape): Likewise.
26723 (grub_xnu_fill_devicetree): Likewise.
26724
26725 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26726 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26727
0945f181
VS
267282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26729
26730 Workaround for broken ATI VBE.
26731
26732 * video/i386/pc/vbe.c (last_set_mode): New variable.
26733 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26734 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26735 (grub_video_vbe_setup): Don't check for reserved flag.
26736
0ad46fd7 267372009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
26738
26739 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26740 the `find' command.
26741
c179ebe4
VS
267422009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 UUID support for HFS.
26745
26746 * fs/hfs.c (grub_hfs_uuid): New function.
26747 (grub_hfs_fs): New value .uuid.
26748 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26749
0ad46fd7 267502009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
26751
26752 Fix a segfault with parsing unknown long options.
26753
26754 * util/grub-mkrelpath.c (options): Zero terminate it.
26755
c4a3e41a
CPE
267562009-12-13 Carles Pina i Estany <carles@pina.cat>
26757
26758 * include/grub/misc.h (grub_puts): New declaration.
26759 (grub_puts_): Likewise.
a22008a6 26760 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
26761 (grub_puts_): Likewise.
26762
2e8a7602
RM
267632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 * util/grub-probe.c (probe): Improve error message.
26766
b50b77b9
RM
267672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26768
26769 * loader/i386/multiboot_elfxx.c
26770 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26771 initialization.
26772
267732009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26774
26775 Relocator framework
26776
26777 * loader/i386/xnu_helper.S: Removed. All users updated.
26778 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26779 (relocator_mod_SOURCES): New variable.
26780 (relocator_mod_CFLAGS): Likewise.
26781 (relocator_mod_LDFLAGS): Likewise.
26782 (relocator_mod_ASFLAGS): Likewise.
26783 * conf/x86_64.rmk: Likewise.
26784 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26785 (grub_multiboot_payload_entry_offset): Likewise.
26786 (grub_multiboot_forward_relocator): Likewise.
26787 (grub_multiboot_forward_relocator_end): Likewise.
26788 (grub_multiboot_backward_relocator): Likewise.
26789 (grub_multiboot_backward_relocator_end): Likewise.
26790 (grub_multiboot_payload_eip): New variable.
26791 (grub_multiboot_payload_orig): Likewise.
26792 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26793 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26794 * include/grub/i386/memory.h
26795 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26796 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26797 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26798 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26799 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26800 * include/grub/i386/relocator.h: New file.
26801 * include/grub/x86_64/relocator.h: Likewise.
26802 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26803 (XNU_RELOCATOR): New macro.
26804 (grub_xnu_launcher_start): Remove.
26805 (grub_xnu_launcher_end): Likewise.
26806 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26807 (grub_xnu_heap_real_start): Remove.
26808 (grub_xnu_heap_start): Change to void *. All users updated.
26809 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26810 * lib/i386/relocator.c: New file.
26811 * lib/i386/relocator_asm.S: Likewise.
26812 * lib/i386/relocator_backward.S: Likewise.
26813 * lib/mips/relocator.c: Likewise.
26814 * lib/mips/relocator_asm.S: Likewise.
26815 * lib/relocator.c: Likewise.
26816 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26817 (entry): Removed.
26818 (playground): Likewise.
26819 (grub_multiboot_payload_orig): New variable.
26820 (grub_multiboot_payload_dest): Likewise.
26821 (grub_multiboot_payload_size): Likewise.
26822 (grub_multiboot_payload_eip): Likewise.
26823 (grub_multiboot_payload_esp): Likewise.
26824 (grub_multiboot_boot): Use grub_relocator32_boot.
26825 (grub_multiboot_unload): Free relocators.
26826 (grub_multiboot): Setup stack. Use relocators.
26827 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26828 (grub_multiboot_load_elfXX): Use relocators.
26829 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26830 (grub_multiboot_payload_size): Likewise.
26831 (grub_multiboot_payload_dest): Likewise.
26832 (grub_multiboot_payload_entry_offset): Likewise.
26833 (grub_multiboot_forward_relocator): Likewise.
26834 (grub_multiboot_backward_relocator): Likewise.
26835 (grub_multiboot_real_boot): Likewise.
26836 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26837 (grub_xnu_entry_point): Likewise.
26838 (grub_xnu_arg1): Likewise.
26839 (grub_xnu_stack): Likewise.
26840 (grub_xnu_launch): Removed.
26841 (grub_xnu_boot_resume): New function.
26842 (grub_xnu_boot): Use relocators.
26843 * loader/i386/xnu_helper.S: Removed.
26844 * loader/xnu.c (grub_xnu_heap_start): New variable.
26845 (grub_xnu_heap_size): Likewise.
26846 (grub_xnu_heap_malloc): Use relocators.
26847 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26848
29eb90c6
VS
268492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26852 anything.
26853
31027430
CPE
268542009-12-13 Carles Pina i Estany <carles@pina.cat>
26855
26856 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26857 GRUB_ERR_NONE before calling grub_env_set.
26858
dc0c71d9
RM
268592009-12-12 Robert Millan <rmh@aybabtu.com>
26860
26861 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26862 * genmk.rb (video): New variable.
26863 (CLEANFILES, VIDEOFILES): Add #{video}.
26864 (#{video}): New target rule.
26865 * genvideolist.sh: New file.
26866 * Makefile.in (pkglib_DATA): Add video.lst.
26867 (video.lst): New target rule.
26868 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26869 `video.lst'.
26870 * util/grub.d/30_os-prober.in: Replace `vbe' with
26871 ${GRUB_VIDEO_BACKEND}.
26872
2a4bfcf0
RM
268732009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26874
26875 * THANKS: Add David Miller.
26876
2a3aa4d5
RM
268772009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26878
26879 libpciaccess support.
26880
26881 * Makefile.in (LIBPCIACCESS): New variable.
26882 (enable_grub_emu_pci): Likewise.
26883 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26884 util/pci.c and commands/lspci.c.
26885 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26886 * configure.ac (grub-emu-pci): New option.
26887 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26888 (grub_pci_device_unmap_range): Likewise.
26889 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
26890 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
26891 (grub_pci_address_t) [!GRUB_UTIL]: New type.
26892 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
26893 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
26894 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
26895 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
26896 * include/grub/pciutils.h: New file.
26897 * util/pci.c: Likewise.
26898
0ad46fd7 268992009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
26900
26901 * util/misc.c: Don't include <errno.h> twice.
26902
0ad46fd7 269032009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
26904
26905 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
26906 name in an error message.
26907 (grub_biosdisk_rw): Likewise.
26908
2e59983c
VS
269092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26910
26911 Eliminate NTFS 4Gib barrier.
26912
26913 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
26914 (read_run_data): Likewise.
26915 (grub_ntfs_read_run_list): Likewise.
26916 (grub_ntfs_read_block): Likewise.
26917 (grub_ntfs_iterate_dir): Likewise.
26918 (read_mft): Likewise.
26919 (read_data): Likewise.
26920 Use COM_LOG_LEN.
26921 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
26922 to avoid 64-bit division
26923 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
26924 (grub_ntfs_rlst): Use grub_disk_addr_t.
26925
71ee178a
VS
269262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 Eliminate grub-fstest 4Gib barrier.
26929
26930 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
26931 (read_file): Fix error reporting.
26932
2520d4b8
VS
269332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26934
26935 Eliminate hexdump 4Gib barrier.
26936
26937 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
26938 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
26939
e1f27065
VS
269402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26941
26942 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
26943 Fixes amarsh bug.
26944
1a0f7f45
RM
269452009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
26946
26947 Remove miscellaneous files in distclean target.
26948
26949 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
26950
c631d9fb
CW
269512009-12-09 Colin Watson <cjwatson@ubuntu.com>
26952
26953 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
26954 if they're already set. This resolves the conflict between my
26955 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
26956 fixing the --grub-probe option again.
26957 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
26958 change on 2009-10-06, so that we now once again source
26959 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26960
7c7b6106
RM
269612009-12-08 Robert Millan <rmh.grub@aybabtu.com>
26962
26963 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
26964 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
26965 `util/devicemap.c'.
26966
e3069ec1
CPE
269672009-12-08 Carles Pina i Estany <carles@pina.cat>
26968
26969 * include/grub/misc.h (grub_printf_): New declaration.
26970 * kern/misc.c (grub_printf_): New definition.
26971 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
26972 instead of `grub_printf' and `_'.
26973 * normal/menu_entry.c (store_completion): Likewise.
26974 (run): Likewise.
26975 (grub_menu_entry_run): Likewise.
26976 * normal/menu_text.c (grub_wait_after_message): Likewise.
26977 (notify_booting): Likewise.
26978 (notify_fallback): Likewise.
26979 (notify_execution_failure): Likewise.
26980
d6ceebf1
CW
269812009-12-07 Colin Watson <cjwatson@ubuntu.com>
26982
26983 * configure.ac: Check for vasprintf.
26984 * util/misc.c (asprintf): Move allocation from here ...
26985 (vasprintf): ... to here. New function.
26986 (xasprintf): New function.
26987 * include/grub/util/misc.h (vasprintf, xasprintf): Add
26988 prototypes.
26989 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26990 * util/grub-mkfont.c (write_font): Likewise.
26991 * util/grub-probe.c (probe): Likewise.
26992 * util/hostdisk.c (make_device_name): Likewise.
26993
de6daa8b
DM
269942009-12-06 David S. Miller <davem@sunset.davemloft.net>
26995
26996 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26997 anything even prefixed with 'cdrom' as a cdrom.
26998
0ad46fd7 269992009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27000
27001 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27002 mount points.
27003
98d3dc02
CPE
270042009-12-05 Carles Pina i Estany <carles@pina.cat>
27005
27006 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27007 grub_gettext_msg_list.
27008 (grub_gettext_gettranslation_from_position): Return const char *
27009 and not char *.
a2c1332b 27010 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27011 returns from the list if existing there.
27012 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27013 (grub_gettext_delete_list): Delete the list.
27014 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27015 lang environment variable is changed.
27016 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27017
b283f108
VS
270182009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27019
27020 Rename kernel.mod to kernel.img.
27021
27022 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27023 (kernel_mod_EXPORTS): Rename to ...
27024 (kernel_img_EXPORTS): ... this.
27025 (kernel_mod_SOURCES): Rename to ...
27026 (kernel_img_SOURCES): ... this.
27027 (kernel_mod_HEADERS): Rename to ...
27028 (kernel_img_HEADERS): ... this. All users updated.
27029 (kernel_mod_CFLAGS): Rename to ...
27030 (kernel_img_CFLAGS): ... this.
27031 (kernel_mod_ASFLAGS): Rename to ...
27032 (kernel_img_ASFLAGS): ... this.
27033 (kernel_mod_LDFLAGS): Rename to ...
27034 (kernel_img_LDFLAGS): ... this.
27035 * conf/x86_64-efi.rmk: Likewise.
27036 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27037 (read_kernel_image): ... this. All users updated.
27038 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27039
69055f8a
CPE
270402009-12-05 Carles Pina i Estany <carles@pina.cat>
27041
27042 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27043 (print_spaces): New function.
27044 (grub_print_ucs4): New function.
27045 (getstringwidth): New function.
27046 (print_message_indented): New function.
27047 (print_message): Gettexttize strings using print_message_indented.
27048 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27049 width.
27050 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27051 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27052 Gettextize.
27053 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27054 string.
27055 (run): Likewise.
27056 (grub_menu_entry_run): Likewise.
27057 * PO/POTFILES: Add normal/menu_entry.c.
27058
f616f51c
VS
270592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27062
57bbe3be
CPE
270632009-12-05 Carles Pina i Estany <carles@pina.cat>
27064
27065 * util/grub-install.in: Install gettext .mo files.
27066 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27067
013d67a1
CPE
270682009-12-05 Carles Pina i Estany <carles@pina.cat>
27069
27070 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27071 grub_dprintf.
27072
fb954db0
RM
270732009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27074
27075 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27076 non-firmware-dependant one in realmode.S takes precedence.
27077
6b8474f8
RM
270782009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27079
27080 * commands/halt.c: Replace misc arch-specific headers with
27081 `<grub/misc.h>'.
27082 * commands/reboot.c: Likewise.
27083 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27084 `<grub/misc.h>'.
27085 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27086 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27087 (kernel_img_SOURCES): ... to here.
27088
27089 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27090 * include/grub/i386/pc/init.h: Likewise.
27091 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27092 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27093
27094 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27095
27096 * include/grub/i386/halt.h: Remove.
27097 * include/grub/i386/reboot.h: Likewise.
27098
27099 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27100
4b2e6ca2
DM
271012009-12-03 David S. Miller <davem@sunset.davemloft.net>
27102
27103 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27104 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27105 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27106 "progname.h"
27107 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27108 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27109 (usage): Add missing comma in printf.
27110
5239348f
RM
271112009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27112
27113 Use the same reboot approach on i386 coreboot and qemu as we do on
27114 BIOS.
27115
27116 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27117 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27118 * kern/i386/reboot.c: Remove.
27119 * include/grub/i386/reboot.h (grub_reboot): Export function.
27120 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27121 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27122 0xf000:0xfff0 instead of 0xffff:0x0000.
27123 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27124 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27125
ef34cbd4
RM
271262009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27127
27128 Fix $srcdir != $objdir build.
27129
27130 * Makefile.in (po/%.po): Rewrite as ...
27131 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27132
dc9837ea
ST
271332009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27134
27135 Fix GNU/Hurd grub-install crash.
27136 * util/grub-probe.c (probe): Try to access `path' only when it is not
27137 NULL.
27138
2f857f98
VS
271392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27140
27141 Correct module naming.
27142
27143 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27144 (GRUB_MOD_INIT(efi_uga)): ... to this
27145 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27146 (GRUB_MOD_FINI(efi_uga)): ... to this
27147 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27148 (GRUB_MOD_INIT(efi_gop)): ... to this
27149 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27150 (GRUB_MOD_FINI(efi_gop)): ... to this
27151
c5448046
RM
271522009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27153
27154 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27155 translatable.
27156 (usage): Translate `arg' strings using gettext().
27157 Thanks to Jordi Mallach for the suggestion.
27158
c85184ad
VS
271592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27160
27161 GOP support. Based on patch from Bean
27162 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27163
27164 * video/efi_gop.c: New file.
27165 * include/grub/efi/graphics_output.h: Likewise.
27166 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27167 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27168 variables.
27169 * conf/x86_64-efi.rmk: Likewise.
27170
8a4c48d8
VS
271712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 Rename efi_fb to efi_uga.
27174
27175 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27176 'efi_uga.mod'.
27177 (efi_fb_mod_SOURCES): Rename this ...
27178 (efi_uga_mod_SOURCES): ... to this.
27179 (efi_fb_mod_CFLAGS): Rename this ...
27180 (efi_uga_mod_CFLAGS): ... to this.
27181 (efi_fb_mod_LDFLAGS): Rename this ...
27182 (efi_uga_mod_LDFLAGS): ... to this.
27183 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27184 'efi_uga.mod'.
27185 (efi_fb_mod_SOURCES): Rename this ...
27186 (efi_uga_mod_SOURCES): ... to this.
27187 (efi_fb_mod_CFLAGS): Rename this ...
27188 (efi_uga_mod_CFLAGS): ... to this.
27189 (efi_fb_mod_LDFLAGS): Rename this ...
27190 (efi_uga_mod_LDFLAGS): ... to this.
27191 * video/efi_fb.c: Move this ...
27192 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
27193
fb6c1a7b
RM
271942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27195
27196 * po/README: New file. Explain our PO file workflow.
27197
3bc7896c
RM
271982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27199
27200 * po/ChangeLog: Remove. Move relevant entries back to ...
27201 * ChangeLog: ... here.
27202 * po/ca.po: Remove (now handled by TLP).
27203 * po/id.po: Likewise.
27204 * po/zh_CN.po: Likewise.
27205 * Makefile.in (LINGUAS): Initialize in a way that supports
27206 empty set.
27207
9ed4841d
RM
272082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27209
27210 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
27211 reliing on po/LINGUAS.
27212 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
27213 (po/%.po): ... this.
27214
0ad46fd7 272152009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
27216
27217 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27218 (main): Use `program_name' instead of nonexistent `progname'.
27219
e30dd392
FZ
272202009-11-26 Felix Zielcke <fzielcke@z-51.de>
27221
27222 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27223 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
27224
7656de4f
RM
272252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27226
27227 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
27228 commit.
27229 * conf/i386-efi.rmk: Likewise.
27230 * conf/i386-ieee1275.rmk: Likewise.
27231 * conf/powerpc-ieee1275.rmk: Likewise.
27232 * conf/sparc64-ieee1275.rmk: Likewise.
27233 * conf/x86_64-efi.rmk: Likewise.
27234
db77c4d4
FZ
272352009-11-26 Felix Zielcke <fzielcke@z-51.de>
27236
27237 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27238
a755bb04
FZ
272392009-11-26 Felix Zielcke <fzielcke@z-51.de>
27240
27241 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27242
8a4c07fd
RM
272432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27244
27245 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
27246 (grub_mkdevicemap_SOURCES): New variable.
27247 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
27248 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
27249 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
27250 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
27251 (grub_mkdevicemap_SOURCES): Remove.
27252 * conf/i386-efi.rmk: Likewise.
27253 * conf/i386-ieee1275.rmk: Likewise.
27254 * conf/i386-pc.rmk: Likewise.
27255 * conf/powerpc-ieee1275.rmk: Likewise.
27256 * conf/sparc64-ieee1275.rmk: Likewise.
27257 * conf/x86_64-efi.rmk: Likewise.
27258 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
27259 (usage): Fix strings to use `program_name'.
27260 (main): Initialize gettext.
27261 * util/grub-editenv.c: Likewise.
27262 * util/grub-emu.c: Likewise.
27263 * util/grub-fstest.c: Likewise.
27264 * util/grub-mkdevicemap.c: Likewise.
27265 * util/grub-mkfont.c: Likewise.
27266 * util/grub-mkrelpath.c: Likewise.
27267 * util/grub-pe2elf.c: Likewise.
27268 * util/grub-probe.c: Likewise.
27269 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27270 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27271 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27272
27273 * util/misc.c: Include `"progname.h"'.
27274 (progname): Remove variable.
27275 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
27276
6f61ed55
FZ
272772009-11-25 Felix Zielcke <fzielcke@z-51.de>
27278
27279 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
27280 printf and print a newline after the menuentry header line.
27281 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27282
f022876b
FZ
272832009-11-25 Felix Zielcke <fzielcke@z-51.de>
27284
27285 autoconf >= 2.60 support $(localedir).
27286
27287 * INSTALL: Note that autoconf 2.60 is required.
27288 * configure.ac (AC_PREREQ): Bump to 2.60.
27289 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
27290 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27291
6717926e
YB
272922009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
27293
27294 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
27295 aclocal is run.
27296
08806a54
RM
272972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27298
27299 * normal/main.c (grub_normal_read_line): Fix off-by-one
27300 buffer overflow.
27301
13b33fba
RM
273022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27303
27304 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
27305 "parser.grub" in grub_command_execute() call.
27306
4a8572e9
CPE
273072009-11-24 Carles Pina i Estany <carles@pina.cat>
27308
27309 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
27310 * conf/i386-efi.rmk: Likewise.
27311 * conf/i386-ieee1275.rmk: Likewise.
27312 * conf/i386-pc.rmk: Likewise.
27313 * conf/powerpc-ieee1275.rmk: Likewise.
27314 * conf/sparc64-ieee1275.rmk: Likewise.
27315 * conf/x86_64-efi.rmk: Likewise.
27316 * gettext/gettex.c: Include <grub/i18n.h>.
27317 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
27318 here ...
27319 * include/grub/i18n.h: ... to here
27320 * include/grub/i18n.h: ... to here.
27321 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 27322 (grub_gettext_dummy): Move above user.
4a8572e9 27323
bee48093
FZ
273242009-11-24 Felix Zielcke <fzielcke@z-51.de>
27325
27326 * util/Makefile.in (install-local): Convert a `for' into a normal
27327 shell expansion.
27328
a031e91c
RM
273292009-11-24 Robert Millan <rmh.grub@aybabtu.com>
27330
27331 * autogen.sh: Add automake call.
27332 * config.guess: Remove.
27333 * config.sub: Likewise.
27334 * install-sh: Likewise.
27335
26bec39d
FZ
273362009-11-24 Felix Zielcke <fzielcke@z-51.de>
27337
27338 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27339
8e2532fd
FZ
273402009-11-24 Felix Zielcke <fzielcke@z-51.de>
27341
27342 * util/Makefile.in (install-local): Convert a make `$(foreach)'
27343 function to a normal shell `for'.
27344
fefa1b7d
FZ
273452009-11-24 Felix Zielcke <fzielcke@z-51.de>
27346
27347 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27348
4501250b
FZ
273492009-11-24 Felix Zielcke <fzielcke@z-51.de>
27350
27351 * util/grub-mkrelpath.c: New file.
27352 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27353 (grub_mkrelpath_SOURCES): New variable.
27354 * include/grub/util/misc.h: New function prototype.
27355 * util/misc.c (make_system_path_relative_to_its_root): New function.
27356
27357 * util/grub-mkconfig_lib.in (bindir): New variable.
27358 (grub_mkrelpath): Likewise.
27359 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27360
27361 * util/probe.c (probe): Make the file path relative to its root.
27362 Change a info message to use the GRUB path. Enable again the
27363 check if we can read the file with GRUB facilities.
27364
27365 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27366 to its root.
27367
11d9778b
FZ
273682009-11-24 Felix Zielcke <fzielcke@z-51.de>
27369
27370 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27371 platform.
27372
4465287d
FZ
273732009-11-24 Felix Zielcke <fzielcke@z-51.de>
27374
27375 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27376 strncmp().
27377
62b47f22
FZ
273782009-11-24 Felix Zielcke <fzielcke@z-51.de>
27379
27380 * util/getroot.c (grub_util_is_dmraid): New function.
27381 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27382 devices as normal ones, not as LVM.
27383
1eafb9b9 273842009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
27385
27386 * conf/common.rmk: Add grub-gettext_lib target and updates
27387 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27388 LDFLAGS.
27389 * gettext/gettext.c: New file. (Reads mo files).
27390 * include/grub/file.h (grub_file_pread): New prototype.
27391 * include/grub/i18n.h (_): New prototype.
27392 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27393 prototypes.
27394 * kern/misc.c (grub_gettext_dummy): New function.
27395 * normal/menu_text.c: Include <grub/i18n.h>.
27396 * normal/menu_text.c (print_timeout): Gettexttize string.
27397 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
27398 * po/POTFILES: Add `normal/menu_text.c'.
27399 * po/ca.po: Add new translations.
c3ea6bd4
CPE
27400 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27401 gettext module and defines locale_dir and lang in grub.cfg.
27402 * NEWS: Add gettext support.
27403
0fdb2568
RM
274042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27405
27406 * util/hostdisk.c: Include `<grub/i18n.h>'.
27407 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27408 (make_device_name): Rewrite using asprintf.
27409 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27410 (find_system_device): If a device is not found, generate one just
27411 by reusing the OS path name.
27412 (read_device_map): Make it permissible for device.map not to exist.
27413
f515aa62
RM
274142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27415
27416 * script/sh/execute.c: Move from here ...
27417 * script/execute.c: ... to here. Update all users.
27418 * script/sh/function.c: Move from here ...
27419 * script/function.c: ... to here. Update all users.
27420 * script/sh/lexer.c: Move from here ...
27421 * script/lexer.c: ... to here. Update all users.
27422 * script/sh/main.c: Move from here ...
27423 * script/main.c: ... to here. Update all users.
27424 * script/sh/parser.y: Move from here ...
27425 * script/parser.y: ... to here. Update all users.
27426 * script/sh/script.c: Move from here ...
27427 * script/script.c: ... to here. Update all users.
27428
f84b481b
RM
274292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27430
27431 * configure.ac: Detect all `emu' platforms. Define
27432 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27433 --enable-grub-emu logic. Disable include/grub/machine
27434 symlink on `emu' platforms.
27435
27436 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27437 * gensymlist.sh.in: Likewise.
27438
27439 * include/grub/i386/coreboot/machine.h: Remove file.
27440 * include/grub/i386/efi/machine.h: Likewise.
27441 * include/grub/i386/ieee1275/machine.h: Likewise.
27442 * include/grub/i386/pc/machine.h: Likewise.
27443 * include/grub/i386/qemu/machine.h: Likewise.
27444 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27445 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27446 * include/grub/x86_64/efi/machine.h: Likewise.
27447
27448 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27449 * commands/halt.c: Likewise.
27450 * commands/reboot.c: Likewise.
27451 * include/grub/autoefi.h: Likewise.
27452 * include/grub/i386/at_keyboard.h: Likewise.
27453 * include/grub/i386/kernel.h: Likewise.
27454 * include/grub/i386/loader.h: Likewise.
27455 * include/grub/i386/pc/memory.h: Likewise.
27456 * kern/dl.c: Likewise.
27457 * kern/i386/coreboot/init.c: Likewise.
27458 * loader/i386/bsd.c: Likewise.
27459 * loader/i386/linux.c: Likewise.
27460 * loader/multiboot_loader.c: Likewise.
27461 * term/i386/pc/serial.c: Likewise.
27462 * term/usb_keyboard.c: Likewise.
27463
27464 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27465 `<grub/machine/machine.h>'
27466 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27467 * util/misc.c: Remove `<grub/machine/machine.h>' and
27468 `<grub/machine/time.h>'.
27469
27470 * Makefile.in (enable_grub_emu): Remove variable.
27471 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27472
27473 * conf/any-emu.rmk: New file.
27474 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27475 (grub_emu_init.c): Move from here ...
27476 * conf/any-emu.rmk: ... to here.
27477
27478 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27479 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27480 * conf/any-emu.rmk: ... to here.
27481
4efeab03
RM
274822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27483
27484 * include/grub/parser.h (grub_parser_register): Document need
27485 of `name' parameter.
27486 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27487 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27488 "sh" to "grub".
27489
ea1dd8bf
RM
274902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27491
27492 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27493 `$(XGETTEXT)'.
27494 * include/grub/i18n.h (N_): New macro.
27495 * util/mkisofs/mkisofs.h: Likewise.
27496 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27497 around N_().
27498 (usage): Use gettext() to translate help strings when printing them.
27499
0c140626
RM
275002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27501
27502 Based on patch from Bean
27503 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27504
27505 * video/efi_fb.c: New file.
27506 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27507 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27508 variables.
27509 * conf/x86_64-efi.rmk: Likewise.
27510
87d58298
RM
275112009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27514 * util/i386/pc/grub-setup.c: Likewise.
27515
994cc3a3
ST
275162009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27517
27518 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27519 <hurd/fs.h>
27520 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27521 file_get_storage_info to implement grub_guess_root_device.
27522
26a61d6a
FZ
275232009-11-21 Felix Zielcke <fzielcke@z-51.de>
27524
27525 * Makefile.in (target): Use make's builtin $(shell) function
27526 instead of calling directly $(SHELL) to create the locale directories,
27527 inside the $(foreach) function.
27528
74ff1dd5
FZ
275292009-11-21 Felix Zielcke <fzielcke@z-51.de>
27530
27531 * util/grub-mkrescue.in: Print an error and usage if output option
27532 has not been given.
27533
0b787d0e
FZ
275342009-11-21 Felix Zielcke <fzielcke@z-51.de>
27535
27536 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27537 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27538 root and /boot are on different devices.
27539
1164b270
RM
275402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27541
27542 Fix build for srcdir != objdir.
27543
27544 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27545 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27546 $(srcdir).
27547 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27548 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27549 reference for input.
27550
13774a2f
RM
275512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27552
27553 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27554 or hardlinking it). Remove -J option, Joliet is not compatible with
27555 multiple source directories.
27556
efda854e
RM
275572009-11-21 Carles Pina i Estany <carles@pina.cat>
275582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27559
27560 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27561 (process_input_dir): New function. Process an arbitrary input
27562 directory.
27563 Misc adjustments to support both "override mode" and system-wide mode.
27564
6c09890c
FZ
275652009-11-20 Felix Zielcke <fzielcke@z-51.de>
27566
27567 * configure.ac (UNIFONT_BDF): Rename to ...
27568 (FONT_SOURCE): ... this. Update all users.
27569
a797824f
FZ
275702009-11-20 Felix Zielcke <fzielcke@z-51.de>
27571
27572 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27573 to the list of unifont files to look for.
27574
cd4f42b0
RM
275752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27576
27577 Patch from Joe Auricchio <jauricchio@gmail.com>
27578 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27579 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27580 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27581
393c783d
FZ
275822009-11-19 Felix Zielcke <fzielcke@z-51.de>
27583
27584 * Makefile.in (install-local): Add a missing backslash.
27585
b2f1e327
FZ
275862009-11-19 Felix Zielcke <fzielcke@z-51.de>
27587
27588 * include/grub/x86_64/io.h: New file.
27589
f577f7a0
RM
275902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27591
27592 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27593 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27594 Include `"progname.h"'.
27595 (main): Initialize gettext.
27596 * util/i386/pc/grub-setup.c: Gettexttize.
27597 * util/i386/pc/grub-mkimage.c: Likewise.
27598
27599 * Makefile.in (po/*.po): Redefine as ...
27600 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27601
3bc7896c
RM
27602 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27603
c37943b6
RM
276042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27605
27606 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27607 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27608 (program_name): Remove.
27609 (main): Initialize gettext support.
6323f705
RM
27610 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27611 Include `<libintl.h>'.
27612 (_): New macro.
c37943b6
RM
27613
27614 * util/mkisofs/eltorito.c: Gettexttize.
27615 * util/mkisofs/joliet.c: Likewise.
27616 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
27617 * util/mkisofs/multi.c: Likewise.
27618 * util/mkisofs/rock.c: Likewise.
27619 * util/mkisofs/tree.c: Likewise.
27620 * util/mkisofs/write.c: Likewise.
27621
3bc7896c
RM
27622 * po/POTFILES: Update with new files.
27623
5ce77c6e
RM
276242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27625
27626 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27627 * util/mkisofs/iso9660.h: Likewise.
27628 * util/mkisofs/joliet.c: Likewise.
27629 * util/mkisofs/mkisofs.c: Likewise.
27630 * util/mkisofs/mkisofs.h: Likewise.
27631 * util/mkisofs/rock.c: Likewise.
27632 * util/mkisofs/tree.c: Likewise.
27633 * util/mkisofs/write.c: Likewise.
27634
27635 * util/mkisofs/eltorito.c (rcsid): Remove.
27636 * util/mkisofs/hash.c: Likewise.
27637 * util/mkisofs/joliet.c: Likewise.
27638 * util/mkisofs/name.c: Likewise.
27639 * util/mkisofs/rock.c: Likewise.
27640 * util/mkisofs/tree.c: Likewise.
27641 * util/mkisofs/write.c: Likewise.
27642
1dabbc77
RM
276432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27644
27645 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27646 instead of static allocation.
27647 * util/mkisofs/match.h: Likewise.
27648
633877cb
RM
276492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27650
3bc7896c
RM
27651 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27652 and `util/grub.d/10_linux.in'.
633877cb
RM
27653 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27654 translatable Shell files.
27655
af1c0c85
RM
276562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27657
27658 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27659
769ae37b
RM
276602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27661
27662 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 27663 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
27664 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27665 Add gettext initialization.
27666 (kfreebsd_entry): Make menuentry output translatable.
27667
276682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27669
27670 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27671 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27672 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27673 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27674 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 27675 * po/LINGUAS: New file.
769ae37b
RM
27676
276772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27678
27679 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27680 other things).
27681 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27682 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27683 bindtextdomain() calls for gettext initialization.
27684
276852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27686
27687 * gnulib/progname.c: New file (imported from Gnulib).
27688 * gnulib/progname.h: Likewise.
27689 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27690 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27691 (usage): Replace `progname' with `program_name'.
27692 (main): Use set_program_name() for program name initialization.
27693
276942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27695
27696 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27697 from here ...
27698 * Makefile.in (CPPFLAGS): ... to here.
27699
277002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27701
27702 * aclocal.m4: Move from here ...
27703 * acinclude.m4: ... to here.
27704 * autogen.sh: Add call to `aclocal'.
27705 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27706
277072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27710 (LINGUAS): New variable.
27711 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27712 (install-local): Install MO files.
27713 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27714 * include/grub/i18n.h: New file.
3bc7896c
RM
27715 * po/POTFILES: New file.
27716 * po/ca.po: New file.
769ae37b
RM
27717 * util/grub.d/10_linux.in (bindir): New variable.
27718 Add gettext initialization.
27719 (linux_entry): Make menuentry output translatable.
27720 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27721 (usage): Make --help output translatable.
27722 (main): Initialize gettext.
27723
02c0a6ad
RM
277242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27725
27726 * import_gcry.py: New file (written by Vladimir with minor
27727 adjustments).
27728 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27729 ciphers.
27730 * INSTALL: Document that Python is required for bootstrap.
27731
277322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27733
27734 Import ciphers from libgcrypt 1.4.4.
27735
27736 * lib/libgcrypt/cipher/ChangeLog
27737 * lib/libgcrypt/cipher/ac.c
27738 * lib/libgcrypt/cipher/arcfour.c
27739 * lib/libgcrypt/cipher/bithelp.h
27740 * lib/libgcrypt/cipher/blowfish.c
27741 * lib/libgcrypt/cipher/camellia-glue.c
27742 * lib/libgcrypt/cipher/camellia.c
27743 * lib/libgcrypt/cipher/camellia.h
27744 * lib/libgcrypt/cipher/cast5.c
27745 * lib/libgcrypt/cipher/cipher.c
27746 * lib/libgcrypt/cipher/crc.c
27747 * lib/libgcrypt/cipher/des.c
27748 * lib/libgcrypt/cipher/dsa.c
27749 * lib/libgcrypt/cipher/ecc.c
27750 * lib/libgcrypt/cipher/elgamal.c
27751 * lib/libgcrypt/cipher/hash-common.c
27752 * lib/libgcrypt/cipher/hash-common.h
27753 * lib/libgcrypt/cipher/hmac-tests.c
27754 * lib/libgcrypt/cipher/md.c
27755 * lib/libgcrypt/cipher/md4.c
27756 * lib/libgcrypt/cipher/md5.c
27757 * lib/libgcrypt/cipher/primegen.c
27758 * lib/libgcrypt/cipher/pubkey.c
27759 * lib/libgcrypt/cipher/rfc2268.c
27760 * lib/libgcrypt/cipher/rijndael-tables.h
27761 * lib/libgcrypt/cipher/rijndael.c
27762 * lib/libgcrypt/cipher/rmd.h
27763 * lib/libgcrypt/cipher/rmd160.c
27764 * lib/libgcrypt/cipher/rsa.c
27765 * lib/libgcrypt/cipher/seed.c
27766 * lib/libgcrypt/cipher/serpent.c
27767 * lib/libgcrypt/cipher/sha1.c
27768 * lib/libgcrypt/cipher/sha256.c
27769 * lib/libgcrypt/cipher/sha512.c
27770 * lib/libgcrypt/cipher/tiger.c
27771 * lib/libgcrypt/cipher/twofish.c
27772 * lib/libgcrypt/cipher/whirlpool.c
27773
af2f93ac
RM
277742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27775
27776 Fix build for systems without error().
27777
27778 * gnulib/error.c: New file (imported from Gnulib).
27779 * gnulib/error.h: Likewise.
27780 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27781 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27782 (this variable is now used by error()).
27783
73fb3dd5
FZ
277842009-11-16 Felix Zielcke <fzielcke@z-51.de>
27785
814f5e96
FZ
27786 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27787 instead of relying that char is signed.
73fb3dd5 27788
a691ca33
VS
277892009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27790
27791 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27792 blocksize different from specified.
27793 (grub_pxefs_read): Likewise.
27794
2af8f0f4
FZ
277952009-11-16 Felix Zielcke <fzielcke@z-51.de>
27796
27797 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27798
27799 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27800 (grub_ata_readwrite): Likewise. Update 2 format strings.
27801 (grub_atapi_read): Likewise.
27802
27803 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27804 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27805 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27806 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27807 (ata_mod_LDFLAGS): Move from here ...
27808 * conf/i386.rmk: ... to here ...
27809 * conf/x86_64-efi.rmk: ... and here.
27810 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27811 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27812
83bdecaf
RM
278132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27814
27815 Relicense multiboot.h, with RMS' blessing.
27816
27817 * include/multiboot.h: Change to X11 license.
27818
fd6fd3d7
RM
278192009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27820
27821 Support --version in grub-mkisofs.
27822
27823 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27824 (OPTION_VERSION): New macro.
27825 (ld_options): Recognize --version.
27826 (usage): Move `program_name' from here ...
27827 (program_name): ... to here. Add `static' qualifier.
27828 (main): Recognize `OPTION_VERSION'.
27829
16a88c49
FZ
278302009-11-15 Felix Zielcke <fzielcke@z-51.de>
27831
27832 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27833 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27834
a4158476
RM
278352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27836
27837 Fix help2man generation for mkisofs.
27838
27839 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27840 (usage): Send output to stdout (rather than stderr).
27841
fc2208b0
RM
278422009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27843
27844 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27845 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27846 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27847 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27848 (bin_SCRIPTS): Add `grub-mkfloppy'.
27849 (grub_mkfloppy_SOURCES): New variable.
27850
27851 * util/grub-mkrescue.in: New file.
27852 * util/i386/pc/grub-mkfloppy.in: New file.
27853
27854 * util/i386/coreboot/grub-mkrescue.in: Remove.
27855 * util/i386/pc/grub-mkrescue.in: Remove.
27856
8d0edf4a
RM
278572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27858
27859 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27860 from here ...
27861 * include/multiboot.h (struct multiboot_header): ... to here. Update
27862 all users.
27863 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27864 from here ...
27865 * include/multiboot.h (struct multiboot_info): ... to here. Update
27866 all users.
27867 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27868 from here ...
27869 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27870 Update all users.
27871 * include/grub/multiboot.h (struct grub_mod_list): Move
27872 from here ...
27873 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27874 Update all users.
27875
a73f5969
RM
278762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27877
27878 * include/multiboot2.h (multiboot_word): Rename from this ...
27879 (multiboot2_word): ... to this. Update all users.
27880 (multiboot_header): Rename from this ...
27881 (multiboot2_header): ... to this. Update all users.
27882 (multiboot_tag_header): Rename from this ...
27883 (multiboot2_tag_header): ... to this. Update all users.
27884 (multiboot_tag_start): Rename from this ...
27885 (multiboot2_tag_start): ... to this. Update all users.
27886 (multiboot_tag_name): Rename from this ...
27887 (multiboot2_tag_name): ... to this. Update all users.
27888 (multiboot_tag_module): Rename from this ...
27889 (multiboot2_tag_module): ... to this. Update all users.
27890 (multiboot_tag_memory): Rename from this ...
27891 (multiboot2_tag_memory): ... to this. Update all users.
27892 (multiboot_tag_unused): Rename from this ...
27893 (multiboot2_tag_unused): ... to this. Update all users.
27894 (multiboot_tag_end): Rename from this ...
27895 (multiboot2_tag_end): ... to this. Update all users.
27896
1c8927f0
RM
278972009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27898
27899 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
27900 this platform we should support Multiboot1 first.
27901
27902 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27903 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
27904 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
27905
6e1e0d89
RM
279062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27907
27908 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
27909 of write calls (converting them to fwrite() if they aren't already).
27910 (get_torito_desc): Likewise.
27911 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
27912
7f2b34d8
RM
279132009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27914
27915 * util/i386/pc/grub-install.in: Move from here ...
27916 * util/grub-install.in: ... to here. Update all users.
27917
c0ef3311
CW
279182009-11-11 Colin Watson <cjwatson@ubuntu.com>
27919
27920 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
27921
e1f240ff
RM
279222009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27923
27924 Support for El Torito without floppy emulation.
27925
27926 * util/mkisofs/eltorito.c: Include `<errno.h>'.
27927 (init_boot_catalog): Improve error handling.
27928 (get_torito_desc): Don't use floppy emulation unless requested by
27929 user. Patch boot information table when requested via
27930 `-boot-info-table'.
27931 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
27932 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
27933 (use_boot_info_table): New variables.
27934 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
27935 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
27936 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
27937 `--eltorito-emul-floppy'.
27938 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
27939 and `OPTION_ELTORITO_EMUL_FLOPPY'.
27940 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
27941 (use_boot_info_table, get_731): New prototypes.
27942 * util/mkisofs/write.c (get_731): New function.
27943
af7d4de5
FZ
279442009-11-11 Felix Zielcke <fzielcke@z-51.de>
27945
27946 Fix the generation of the man page.
27947
27948 * util/pc/i386/grub-install.in: Source
27949 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27950
2c55dbc0
RM
279512009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27952
27953 Large file support for grub-mkisofs.
27954
27955 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
27956 * util/mkisofs/mkisofs.c (next_extent, last_extent)
27957 (session_start): Upgrade type to `uint64_t'. Update all users.
27958 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
27959 (struct directory_entry): Upgrade type of `starting_block' and
27960 `size' to `uint64_t'. Update all users.
27961 (struct deferred): Remove unused structure.
27962 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
27963 Update all users.
27964 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
27965 file is larger than `UINT32_MAX'.
27966 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
27967 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
27968 return value.
27969 (struct deferred_write): Upgrade type of `extent' and `size' to
27970 `uint64_t'. Update all users.
27971 (last_extent_written): Upgrade type to `uint64_t'. Update all
27972 users.
27973 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
27974 Update all users. Upgrade type of `remain' to `int64_t' and
27975 `use' to `size_t'. Use error() to handle fread() errors.
27976 (write_files): Rely on write_one_file() rather than calling
27977 xfwrite() directly.
27978
6a9cead5
FZ
279792009-11-09 Felix Zielcke <fzielcke@z-51.de>
27980
27981 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
27982
4825d790
RM
279832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27984
27985 * util/mkisofs/fnmatch.c: Remove.
27986 * util/mkisofs/getopt1.c: Likewise.
27987 * util/mkisofs/getopt.c: Likewise.
27988 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
27989 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
27990 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
27991 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27992 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27993
27994 * configure.ac: Detect `mingw32msvc' host_os.
27995 Check for lstat(), getuid() and getgid().
27996
27997 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27998 instances of `u_char' with `uint8_t'.
27999
28000 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28001 [!HAVE_GETUID] (getuid): New function (stub).
28002 [!HAVE_GETGID] (getgid): Likewise.
28003 [!HAVE_LSTAT] (lstat): Likewise.
28004 [!S_IROTH] (S_IROTH): New macro (dummy).
28005 [!S_IRGRP] (S_IRGRP): Likewise.
28006
84b860d8
RM
280072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28008
28009 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28010 conditional expression).
28011
66e9b712
RM
280122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28013
28014 Import from Gnulib.
28015
28016 * gnulib/fnmatch.c: New file.
28017 * gnulib/fnmatch.h: Likewise.
28018 * gnulib/fnmatch_loop.c: Likewise.
28019 * gnulib/getopt.c: Likewise.
28020 * gnulib/getopt.h: Likewise.
28021 * gnulib/getopt1.c: Likewise.
28022 * gnulib/getopt_int.h: Likewise.
28023 * gnulib/gettext.h: Likewise.
28024
34f4a5b0
RM
280252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28026
28027 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28028 * normal/handler.c (read_handler_list): Likewise.
28029
ac451143
RM
280302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 Misc cleanup.
28033
28034 * kern/command.c (grub_register_command_prio): Use
28035 grub_zalloc() instead of explicitly zeroing data.
28036 * kern/list.c: Include `<grub/mm.h>'.
28037 (grub_named_list_find): Replace `0' with `NULL'.
28038 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28039 (fs_module_list): Change type to `grub_named_list_t'. Update all
28040 users.
28041 * normal/dyncmd.c (read_command_list): Add space between function
28042 call and parenthesis.
28043 * normal/handler.c (read_handler_list): Likewise.
28044
4089b167
RM
280452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28046
28047 * normal/auth.c (punishment_delay): Moved from here ...
28048 (grub_auth_strcmp): ... to here (inside function).
28049
325f5037
RM
280502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28051
28052 * include/grub/list.h (struct grub_named_list): Remove `const'
28053 qualifier from `name'.
28054 (struct grub_prio_list): Likewise.
28055
7aea29a3
RM
280562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 * normal/auth.c: Include `<grub/time.h>'.
28059 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28060
3fd6f044
RM
280612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28062
28063 * normal/auth.c (punishment_delay): New variable.
28064 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28065 (grub_auth_check_authentication): Punish failed login attempts with
28066 an incremental (2^N) delay.
28067
a4cd68e4
RM
280682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28069
28070 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28071 path with $(srcdir).
28072
7ad12f43
VS
280732009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28076
c1129f03
RM
280772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28078
28079 * util/i386/coreboot/grub-mkrescue.in: New file.
28080 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28081 variables.
28082
28083 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28084 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28085 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28086 requirements.
28087 * util/mkisofs/defaults.h: New file.
28088 * util/mkisofs/eltorito.c: Likewise.
28089 * util/mkisofs/exclude.h: Likewise.
28090 * util/mkisofs/fnmatch.c: Likewise.
28091 * util/mkisofs/getopt.c: Likewise.
28092 * util/mkisofs/getopt1.c: Likewise.
28093 * util/mkisofs/hash.c: Likewise.
28094 * util/mkisofs/include/fctldefs.h: Likewise.
28095 * util/mkisofs/include/mconfig.h: Likewise.
28096 * util/mkisofs/include/prototyp.h: Likewise.
28097 * util/mkisofs/include/statdefs.h: Likewise.
28098 * util/mkisofs/iso9660.h: Likewise.
28099 * util/mkisofs/joliet.c: Likewise.
28100 * util/mkisofs/match.c: Likewise.
28101 * util/mkisofs/match.h: Likewise.
28102 * util/mkisofs/mkisofs.c: Likewise.
28103 * util/mkisofs/mkisofs.h: Likewise.
28104 * util/mkisofs/multi.c: Likewise.
28105 * util/mkisofs/name.c: Likewise.
28106 * util/mkisofs/rock.c: Likewise.
28107 * util/mkisofs/tree.c: Likewise.
28108 * util/mkisofs/write.c: Likewise.
28109
ec8bb77d
VS
281102009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28113 being insecure.
28114
3716b12c
RM
281152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28116
28117 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28118 `grub-mkimage' (and use $0 when possible).
28119
b97b7b91
RM
281202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28121
28122 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28123 error message for excessively large memory map.
28124
04114812
RM
281252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28126
28127 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28128 executable bit.
28129
e4eb2373
RM
281302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28131
28132 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28133 message for coreboot users.
28134
c926e1d5 281352009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28136
28137 Fix build with GNU gold.
28138
28139 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28140 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28141 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28142 link addresses.
28143 * aclocal.m4: Likewise.
28144
86e5b1db 281452009-11-04 Felix Zielcke <fzielcke@z-51.de>
28146
28147 * configure.ac (AC_PREREQ): Bump to 2.59d.
28148 * INSTALL: Make it more clear when Autoconf and Ruby are
28149 needed and when to run `./autogen.sh'.
28150
246cd78f 281512009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28152
28153 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28154 OSes.
28155
4f9dfb37 281562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28157
28158 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28159
b82bd5e1 281602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28161
28162 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28163 giving it to GNU Mach.
28164
ff1a9bca 281652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28166
28167 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28168 GNU partition number to get internal GRUB partition number.
28169
61697d9c 281702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28171
28172 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28173 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28174
a50569e1 281752009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28176
28177 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28178 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28179 case.
28180
5b153867 281812009-11-01 Felix Zielcke <fzielcke@z-51.de>
28182
28183 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28184
d9e2cd70 281852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28186
28187 Fix build problem.
28188
28189 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
28190 `-isystem=$(srcdir)/include'.
28191
805111a4 281922009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28193
28194 * util/i386/pc/grub-install.in: Remove hint that device.map should be
28195 checked (grub-install doesn't currently rely on it).
28196
fa6e945f 281972009-10-29 Robert Millan <rmh.grub@aybabtu.com>
28198
28199 Revert SVN r2660.
28200
28201 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
28202 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28203 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
28204 * conf/i386-ieee1275.rmk: Likewise.
28205 * conf/i386-pc.rmk: Likewise.
28206 * conf/powerpc-ieee1275.rmk: Likewise.
28207 * conf/sparc64-ieee1275.rmk: Likewise.
28208 * conf/x86_64-efi.rmk: Likewise.
28209
cee15086 282102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28211
28212 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28213
95b9239e 282142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28215
28216 * include/grub/misc.h: Stop checking for APPLE_CC.
28217
2ed19dfd 282182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28219
28220 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
28221 doesn't cause an infinite call loop.
28222
fdcdde19 282232009-10-28 Felix Zielcke <fzielcke@z-51.de>
28224
28225 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
28226 strings.
28227
cefabfe1 282282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28229
28230 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
28231 variable.
28232 * Makefile.in: Likewise.
28233
ed96ab6d 282342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28235
28236 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28237
0579b753 282382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28239
28240 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28241
478df409 282422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28243
28244 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28245
083d1679 282462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
28249 from here ...
28250 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
28251
5947ae32 282522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28253
28254 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
28255 in $(MAKEINFO) invocation. This makes it clear in output that
28256 errors are being ignored.
28257
94180ff6 282582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28259
28260 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
28261 from here ...
28262 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28263 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
28264 * conf/i386-ieee1275.rmk: Likewise.
28265 * conf/i386-pc.rmk: Likewise.
28266 * conf/powerpc-ieee1275.rmk: Likewise.
28267 * conf/sparc64-ieee1275.rmk: Likewise.
28268 * conf/x86_64-efi.rmk: Likewise.
28269
9031b03a 282702009-10-26 Colin Watson <cjwatson@ubuntu.com>
28271
28272 * util/grub-editenv.c (main): If only a command is given, use
28273 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
28274 (usage): FILENAME is now optional and has a default.
28275
e4f6809b 282762009-10-26 Colin Watson <cjwatson@ubuntu.com>
28277
28278 Improve grub-mkconfig performance when there are several menu
28279 entries on a single filesystem.
28280
28281 * util/grub.d/10_linux.in (linux_entry): Cache the output of
28282 prepare_grub_to_access_device.
28283 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28284 * util/grub.d/30_os-prober.in: Likewise.
28285
67937d4d 282862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28287
28288 * util/grub.d/10_freebsd.in: Remove.
28289 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
28290 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
28291
ee3756cc 282922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28293
5c35048e 28294 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 28295
4dea1c6f 282962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28297
28298 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
28299 grub_util_error() call.
28300
042484d7 283012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28302
28303 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
28304 `reserved_first_sector' member.
28305 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
28306 `reserved_first_sector' to 1.
28307 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
28308 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
28309 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
28310 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
28311 filesystems which begin at first sector.
28312 (options): New option --skip-fs-probe.
28313 (main): Handle --skip-fs-probe and pass it to setup().
28314
d64448a7 283152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28316
28317 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
28318 (memset): Fix function prototype.
28319
508d42ec 283202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
283212009-10-25 Vasily Averin <vvs@parallels.com>
28322
28323 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
28324 `dirent.direntlen == 0'.
28325
b240e30c 283262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28327
28328 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
28329 `cpio'.
28330 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
28331
346e7fbe 283322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28333
28334 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
28335 `__trampoline_setup' and `__ucmpdi2'.
28336 * include/grub/powerpc/libgcc.h: Only export symbols for functions
28337 that libgcc provides.
28338
cdb308b0 283392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28340
28341 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
28342 * include/grub/sparc64/libgcc.h (memset): Likewise.
28343 * include/grub/misc.h (memset, memcmp): New function prototypes.
28344
fb26abc2 283452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28346
28347 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
28348 `cpio'.
28349 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28350
f6693890 283512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28352
28353 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28354 * docs/grub.cfg: Compensate for recent change in multiboot
28355 loader (since 2009-08-14 it won't pass filename to payload).
28356 * util/grub.d/10_hurd.in: Likewise.
28357
0933cdc0 283582009-10-21 Felix Zielcke <fzielcke@z-51.de>
28359
28360 * config.guess: Update to latest version from config git
28361 repository.
28362 * config.sub: Likewise.
28363
3b2fe8c2 283642009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28365
28366 Fix build on sparc64.
28367
28368 * configure.ac: Perform checks for libgcc symbols before
28369 adding `-nostdlib' to LDFLAGS.
28370
46695a62 283712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28372
28373 Let user specify OpenBSD root device.
28374
28375 * loader/i386/bsd.c (openbsd_root): New variable.
28376 (openbsd_opts): New option 'root'.
28377 (OPENBSD_ROOT_ARG): New macro.
28378 (grub_openbsd_boot): Use 'openbsd_root'.
28379 (grub_cmd_openbsd): Fill 'openbsd_root'.
28380
d2b6b7fc 283812009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28382
28383 * NEWS: Misc adjustments.
28384
421bd7ac 283852009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28388
f1d29d87 283892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * configure.ac: Bump version to 1.97.
28392
6f3cd880 283932009-10-16 Colin Watson <cjwatson@ubuntu.com>
28394
28395 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28396 -mno-3dnow on x86 architectures. Some toolchains enable these
28397 features by default, but they rely on registers that aren't enabled
28398 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28399
035f7122 284002009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28401
28402 Make entry text a bit more readable.
28403
28404 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28405
44998e58 284062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28407
28408 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28409
cd2851b3 284102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28411
28412 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28413 operations.
28414
c6f3b249 284152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28416
28417 * configure.ac: Add missing dollar.
28418
6b5886ba 284192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28420
28421 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28422
28423 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28424 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28425 exports.
28426 * include/grub/sparc64/libgcc.h: Likewise. Use
28427 preprocessor conditionals.
28428
e9d66f6d 284292009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28430
28431 * conf/common.rmk (grub-dumpbios): Remove rule.
28432 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28433 * util/grub-dumpbios.in: Remove file.
28434
9155bc17 284352009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28436
28437 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28438 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28439
28440 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28441 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28442 users.
28443
28444 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28445 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28446 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28447 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28448 users.
28449
bf7f7a18 284502009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 * term/tparm.c: Switch to GPLv3.
28453
86564c26 284542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28455
28456 * include/grub/i386/cpuid.h: Add header protection.
28457
5c936493 284582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28459
28460 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28461
28462 * include/grub/i386/cpuid.h: New file.
28463 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28464 (has_longmode): Rename to ...
28465 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28466 `static' attribute.
28467 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28468 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28469 on a CPU that doesn't implement AMD64 instruction set.
28470
186e7cf2 284712009-10-06 Colin Watson <cjwatson@ubuntu.com>
28472
28473 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28474 that version.texi is rebuilt on version number changes.
28475
83b65c4a 284762009-10-06 Colin Watson <cjwatson@ubuntu.com>
28477
28478 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28479 Fixes bug #27602.
28480
d244281c 284812009-10-06 Colin Watson <cjwatson@ubuntu.com>
28482
28483 * util/i386/pc/grub-install.in: Source
28484 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28485 that the --grub-probe option will work.
28486 * util/sparc64/ieee1275/grub-install.in: Likewise.
28487
da25306d 284882009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28489
28490 * configure.ac: Bump version to 1.97~beta4.
28491
e8ee83c0 284922009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28493
28494 Resync grub-mkdevicemap in x86_64-efi.
28495
28496 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28497 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28498 `util/devicemap.c'.
28499
50dcabcf 285002009-10-01 Colin Watson <cjwatson@ubuntu.com>
28501
28502 * util/grub-editenv.c (create_envblk_file): Write new block with a
28503 .new suffix and then rename it into place, to ensure atomic
28504 creation.
28505
0e51c3a7 285062009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28507
28508 Do not automatically install headers.
28509
28510 * Makefile.in (include_DATA): Remove. Update all users.
28511
31299a95 285122009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28513
28514 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28515 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28516
28517 * util/osdetect.lua: Remove.
28518 * script/lua/lauxlib.c: Likewise.
28519 * script/lua/ldebug.c: Likewise.
28520 * script/lua/grub_main.c: Likewise.
28521 * script/lua/lauxlib.h: Likewise.
28522 * script/lua/ldebug.h: Likewise.
28523 * script/lua/ltablib.c: Likewise.
28524 * script/lua/liolib.c: Likewise.
28525 * script/lua/lstrlib.c: Likewise.
28526 * script/lua/lualib.h: Likewise.
28527 * script/lua/ldo.c: Likewise.
28528 * script/lua/ldump.c: Likewise.
28529 * script/lua/ldo.h: Likewise.
28530 * script/lua/loslib.c: Likewise.
28531 * script/lua/lundump.c: Likewise.
28532 * script/lua/grub_lib.c: Likewise.
28533 * script/lua/ldblib.c: Likewise.
28534 * script/lua/lundump.h: Likewise.
28535 * script/lua/lmem.c: Likewise.
28536 * script/lua/grub_lib.h: Likewise.
28537 * script/lua/lmathlib.c: Likewise.
28538 * script/lua/lstate.c: Likewise.
28539 * script/lua/ltm.c: Likewise.
28540 * script/lua/lvm.c: Likewise.
28541 * script/lua/lmem.h: Likewise.
28542 * script/lua/lstate.h: Likewise.
28543 * script/lua/ltm.h: Likewise.
28544 * script/lua/ltable.c: Likewise.
28545 * script/lua/lvm.h: Likewise.
28546 * script/lua/llex.c: Likewise.
28547 * script/lua/lgc.c: Likewise.
28548 * script/lua/grub_lua.h: Likewise.
28549 * script/lua/loadlib.c: Likewise.
28550 * script/lua/lfunc.c: Likewise.
28551 * script/lua/lopcodes.c: Likewise.
28552 * script/lua/lparser.c: Likewise.
28553 * script/lua/ltable.h: Likewise.
28554 * script/lua/llex.h: Likewise.
28555 * script/lua/lgc.h: Likewise.
28556 * script/lua/lfunc.h: Likewise.
28557 * script/lua/lbaselib.c: Likewise.
28558 * script/lua/lopcodes.h: Likewise.
28559 * script/lua/lparser.h: Likewise.
28560 * script/lua/lzio.c: Likewise.
28561 * script/lua/linit.c: Likewise.
28562 * script/lua/lobject.c: Likewise.
28563 * script/lua/llimits.h: Likewise.
28564 * script/lua/lstring.c: Likewise.
28565 * script/lua/lzio.h: Likewise.
28566 * script/lua/lapi.c: Likewise.
28567 * script/lua/lcode.c: Likewise.
28568 * script/lua/lua.h: Likewise.
28569 * script/lua/lobject.h: Likewise.
28570 * script/lua/lstring.h: Likewise.
28571 * script/lua/lapi.h: Likewise.
28572 * script/lua/lcode.h: Likewise.
28573 * script/lua/luaconf.h: Likewise.
28574
cb8a2c38 285752009-09-26 Colin Watson <cjwatson@ubuntu.com>
28576
28577 * docs/grub.texi (Command-line and menu entry commands): Document
28578 date and echo commands.
28579
6b9b6276 285802009-09-24 Pavel Roskin <proski@gnu.org>
28581
28582 * include/grub/kernel.h (struct grub_module_header): Remove
28583 `grub_module_header_types'. Make `type' unsigned. Make `size'
28584 32-bit on all platforms.
28585 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28586 8-bit field. Use grub_host_to_target32() for `size'.
28587 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28588 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28589 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28590
4e5a02a7 285912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28592
28593 Fix "lost keypress" bug in at_keyboard.
28594
28595 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28596 Checks for readyness of input buffer (without flushing it).
28597 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28598 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28599
c6dcedf6 286002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28601
28602 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28603 size check within GRUB_MACHINE_PCBIOS section.
28604
74c958b1 286052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28606
28607 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28608 return value.
28609 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28610 KEYBOARD_ISREADY check.
28611 (grub_at_keyboard_checkkey): Rename to ...
28612 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28613 Remove gratuitous cast.
28614
ff420223 286152009-09-23 Colin Watson <cjwatson@ubuntu.com>
28616
28617 * configure.ac: Call AC_PROG_MKDIR_P.
28618 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28619 version.texi in $(builddir) rather than $(srcdir).
28620 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28621 to makeinfo's @include search path.
28622
d96875df 286232009-09-23 Felix Zielcke <fzielcke@z-51.de>
28624
28625 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28626
9b3f8365 286272009-09-23 Felix Zielcke <fzielcke@z-51.de>
28628
28629 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28630 for `*.dpkg-new'.
28631
c44c90db 286322009-09-21 Colin Watson <cjwatson@ubuntu.com>
28633
28634 Build info documentation. Some code borrowed from Automake.
28635
28636 * configure.ac: Check for makeinfo.
28637 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28638 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28639 docs/version.texi.
28640 (MOSTLYCLEANFILES): Add vti.tmp.
28641 (docs/version.texi, docs/stamp-vti): Update automatically.
28642 (docs/grub.info): Build info documentation. Use --force and ignore
28643 errors for now.
28644 (all-local): Add $(INFOS).
28645 (install-local): Install info files.
28646 (uninstall): Uninstall info files.
28647 * docs/version.texi: Remove from revision control. This file is
28648 automatically generated on build now.
28649 * gendistlist.sh: Add `*.info'.
28650
e0b37bb5 286512009-09-21 Felix Zielcke <fzielcke@z-51.de>
28652
28653 * kern/term.c: Fix indentation.
28654
5a78865b 286552009-09-21 Felix Zielcke <fzielcke@z-51.de>
28656
28657 * util/hostdisk.c: Fix a comment.
28658
dace7e8a 286592009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28660
28661 Fix regression introduced in r2539.
28662
28663 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28664 to 0xA1.
28665
a83d079b 286662009-09-19 Colin Watson <cjwatson@ubuntu.com>
28667
28668 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 28669 os-prober. Under normal operation, it does not print anything to
28670 stderr; if it does, we need to debug it, and throwing away stderr
28671 makes that excessively difficult.
a83d079b 28672
be94a509 286732009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28676
63f745e8 286772009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28678
28679 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28680 AC_LANG_PROGRAM from autoconf.
28681 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28682 prototypes (fixes warning).
28683
28684 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28685 `--disable-werror' was used.
28686
bbb2a70f 286872009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28688
28689 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28690 uninitialized `lastaddr'.
28691
77c24f1d 286922009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28693
0f0b8c87 28694 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 28695
07197f23 286962009-09-14 Colin Watson <cjwatson@ubuntu.com>
28697
28698 * commands/test.c (get_fileinfo): Return immediately if
28699 grub_fs_probe fails.
28700
dabf1798 287012009-09-14 José Martínez <xosemp@gmail.com>
28702
28703 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28704
d52109a7 287052009-09-14 Colin Watson <cjwatson@ubuntu.com>
28706
28707 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28708 output.
28709
56532179 287102009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28711
28712 * configure.ac: Remove --enable-grub-pe2elf. Only build
28713 grub-pe2elf when needed by the build system itself.
28714 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28715
8ef070f5 287162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28717
28718 * configure.ac: Bump version to 1.97~beta3.
28719 * docs/version.texi: Likewise.
28720
61229557 287212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28722
28723 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28724 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28725 from here ...
28726 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28727 (grub_linux_setup_video): ... to here (with some adjustments).
28728
5c9f8d84 287292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 Fix memory corruption issue (spotted by Colin Watson).
28732
28733 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28734 causing returned size to be stored in an incorrect memory location.
28735 Fix use of uninitialized value when storing the returned size.
28736
e8f5d6e9 287372009-09-12 Yves Blusseau <blusseau@zetam.org>
28738
28739 Change clean rules to properly remove files
28740
28741 * genmk.rb: add new clean rules
28742 * Makefile.in (clean): add the new targets
28743 (mostlyclean): likewise
28744
cda2a409 287452009-09-11 Colin Watson <cjwatson@ubuntu.com>
28746
28747 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28748 to grub_uint64_t.
28749 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28750 non-resident files.
28751
86695375 287522009-09-11 Colin Watson <cjwatson@ubuntu.com>
28753
28754 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28755 part of bug #27349.
28756
8aa1541a 287572009-09-10 Felix Zielcke <fzielcke@z-51.de>
28758
28759 * util/grub-mkconfig.in: Make the created config mode 400 and
28760 print a warning if it fails.
28761
48d9bb0a 287622009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28763
28764 * util/grub.d/40_custom.in: Ask user to type custom entries below
28765 comment, rather than below 'exec tail' line.
28766
3b0521be 287672009-09-10 Colin Watson <cjwatson@ubuntu.com>
28768
28769 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28770 visible in grub.cfg.
28771
50051d55 287722009-09-10 Colin Watson <cjwatson@ubuntu.com>
28773
28774 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28775 file.
28776
c0d34387 287772009-09-10 Felix Zielcke <fzielcke@z-51.de>
28778
28779 * docs/grub.cfg: Add an example menu entry for memtest86+.
28780
80a608f3 287812009-09-09 Felix Zielcke <fzielcke@z-51.de>
28782
a2094832 28783 * config.guess: Update to latest version from config git.
80a608f3 28784 * config.sub: Likewise.
28785
99423078 287862009-09-08 Colin Watson <cjwatson@ubuntu.com>
28787
28788 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28789 unknown-command case. Fixes bug #27320.
28790
44454e4c 287912009-09-08 Felix Zielcke <fzielcke@z-51.de>
28792
28793 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28794 `help' if the command exists.
28795
e30d87ad 287962009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28797
28798 * INSTALL: Require GCC 4.1.3 or later.
28799
9a86f1ec 288002009-09-06 Yves Blusseau <blusseau@zetam.org>
28801
28802 * Makefile.in (RMKFILES): add i386-qemu.rmk
28803 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28804 $(srcdir)/stamp-h.in
28805
7f26d466 288062009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28807
28808 * util/grub-probe.c (probe): Comment out buggy codepath, which
28809 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28810 should be re-enabled after 1.97.
28811
3a613259 288122009-09-05 Felix Zielcke <fzielcke@z-51.de>
28813
28814 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28815 find searches for.
28816
197f76c7 288172009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28820 unnecessary calls to grub_error.
28821
70ba68ce 288222009-09-04 Colin Watson <cjwatson@ubuntu.com>
28823
28824 * NEWS: Mention `keystatus' and Unicode fonts.
28825
4ff0d7a4 288262009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28827
28828 * configure.ac: Bump version to 1.97~beta2.
28829 * docs/version.texi: Likewise.
28830
77c55a87 288312009-09-03 Colin Watson <cjwatson@ubuntu.com>
28832
28833 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28834 containing unwind information in some cases where it previously did
28835 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28836 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28837 discussion.
28838
f79572cd 288392009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28840
28841 Embedding loadenv module into grub-emu
28842
28843 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28844 commands/loadenv.c
28845 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28846 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28847 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28849 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28850 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28851
93a81088 288522009-09-03 Magnus Granberg <zorry@ume.nu>
28853
28854 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28855 include -fPIE in the default specs.
28856 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28857 to TARGET_CFLAGS.
28858
160034b2 288592009-09-03 Felix Zielcke <fzielcke@z-51.de>
28860
28861 * INSTALL: Note that GNU Bison 2.3 or later is required.
28862
087c07c4 288632009-09-03 Colin Watson <cjwatson@ubuntu.com>
28864
28865 * kern/i386/pc/startup.S: Fix typo.
28866
cbf978c0 288672009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28868
28869 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28870 according to GCS.
28871
288722009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 28873
28874 * docs/grub.texi (Naming convention): Describe one-based partition
28875 numbering.
28876 (Device syntax): Likewise.
28877 (File name syntax): Likewise.
28878 (Block list syntax): Likewise.
28879 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28880 menu.lst.
28881 (File name syntax): Likewise.
28882 (Command-line and menu entry commands): Document acpi, blocklist,
28883 crc, export, insmod, keystatus, ls, set, and unset commands.
28884
f3e8cdfd 288852009-09-02 Colin Watson <cjwatson@ubuntu.com>
28886
28887 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28888 to avoid implying that only one of --shift, --ctrl, or --alt may be
28889 used.
28890
c0bc232b 288912009-09-02 Colin Watson <cjwatson@ubuntu.com>
28892
28893 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
28894 rather than comparing against S_IFREG, which will almost never work.
28895
aa0f752d 288962009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
28899 (write_blocklists): Likewise.
28900
ecb3166a 289012009-09-01 Colin Watson <cjwatson@ubuntu.com>
28902
28903 * script/lua/grub_lua.h (fputs): Supply a format string as the first
28904 argument to grub_printf.
28905
c403a125 289062009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 28907
28908 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 28909 non GNU test.
31aba781 28910
b5e7312c 289112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28912
28913 * kern/file.c (grub_file_read): Spelling fix
28914
fe00f472 289152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28916
28917 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
28918 loading of headers in some cases.
28919
cc55302e 289202009-08-30 Robert Millan <rmh.grub@aybabtu.com>
28921
28922 * configure.ac: Bump version to 1.97~beta1.
28923 * docs/version.texi: Likewise.
28924
5c90cdd2 289252009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 28926
28927 * include/grub/i386/xnu.h: Add license header.
28928 include grub/err.h explicitly.
28929
c90edae4 289302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28931
28932 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
28933 to `ufs' in the vfs.root.mountfrom kernel parameter.
28934
d8888b5c 289352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28936
28937 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
28938
28939 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
28940 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
28941
28942 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
28943 `ARRAY_SIZE' macro.
28944
6f07b921 289452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28946
28947 * kern/file.c (grub_file_read): Check offset.
28948 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
28949 * fs/jfs.c (grub_jfs_read_file): Likewise.
28950 * fs/ntfs.c (grub_ntfs_read): Likewise.
28951 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
28952 * fs/minix.c (grub_minix_read_file): Correct offset check.
28953 * fs/ufs.c (grub_ufs_read_file): Likewise.
28954
b4f34077 289552009-08-28 Colin Watson <cjwatson@ubuntu.com>
28956
28957 * term/i386/pc/console.c (bios_data_area): Cast
28958 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
28959
e7c69859 289602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28961
28962 1-bit optimised blitters.
28963
28964 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
28965 prototype.
28966 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28967 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28968 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28969 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28970 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28971 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28972 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
28973 function.
28974 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28975 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28976 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28977 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28978 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28979 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28980 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
28981 when possible.
28982 * video/video.c (grub_video_get_blit_format): Return
28983 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
28984
a57da43f 289852009-08-28 Colin Watson <cjwatson@ubuntu.com>
28986
28987 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
28988 the first argument to grub_printf.
28989
4cbe67e5 289902009-08-28 Colin Watson <cjwatson@ubuntu.com>
289912009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 Add `getkeystatus' terminal method. Add a new `keystatus' command
28994 to query it.
28995
28996 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28997 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28998 modifier key bitmasks.
28999 (struct grub_term_input): Add `getkeystatus' member.
29000 (grub_getkeystatus): Add prototype.
29001 * kern/term.c (grub_getkeystatus): New function.
29002
29003 * include/grub/i386/pc/memory.h
29004 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29005 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29006 Data Area layout.
29007 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29008 (grub_console_term_input): Set `getkeystatus' member.
29009 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29010 constants.
29011 (grub_usb_keyboard_getreport): Likewise.
29012 (grub_usb_keyboard_checkkey): Likewise.
29013 (grub_usb_keyboard_getkeystatus): New function.
29014 (grub_usb_keyboard_term): Set `getkeystatus' member.
29015
29016 * commands/keystatus.c: New file.
29017 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29018 (keystatus_mod_SOURCES): New variable.
29019 (keystatus_mod_CFLAGS): Likewise.
29020 (keystatus_mod_LDFLAGS): Likewise.
29021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29022 commands/keystatus.c.
29023 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29024 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29025 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29027 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29028 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29029
6e2a9085 290302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29031
29032 Split befs.mod and afs.mod into *_be.mod and *.mod
29033
29034 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29035 (grub_fstest_SOURCES): Likewise.
29036 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29037 (afs_be_mod_SOURCES): New variable.
29038 (afs_be_mod_CFLAGS): Likewise.
29039 (afs_be_mod_LDFLAGS): Likewise.
29040 (befs_be_mod_SOURCES): Likewise.
29041 (befs_be_mod_CFLAGS): Likewise.
29042 (befs_be_mod_LDFLAGS): Likewise.
29043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29044 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29045 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29046 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29047 (grub_emu_SOURCES): Likewise.
29048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29049 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29050 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29051 * fs/afs_be.c: New file.
29052 * fs/befs_be.c: New file.
29053 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29054 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29055 (U16): Replaced with ...
29056 (grub_afs_to_cpu16): ...this. All users updated.
29057 (U32): Replaced with ...
29058 (grub_afs_to_cpu32): ...this. All users updated.
29059 (U64): Replaced with ...
29060 (grub_afs_to_cpu64): ...this. All users updated.
29061 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29062 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29063 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29064 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29065 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29066 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29067 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29068 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29069 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29070 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29071 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29072
32a71655 290732009-08-26 Bean <bean123ch@gmail.com>
29074
29075 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29076 64-bit number.
29077 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29078 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29079 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29080
552bf6c5 290812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29082
29083 NetBSD memory map support.
29084
29085 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29086 (grub_netbsd_btinfo_mmap_header): New structure.
29087 (grub_netbsd_btinfo_mmap_entry): Likewise.
29088 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29089
1ae2078c 290902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 Enable bsd.mod on coreboot.
29093
29094 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29095 (bsd_mod_SOURCES): New variable.
29096 (bsd_mod_CFLAGS): Likewise.
29097 (bsd_mod_LDFLAGS): Likewise.
29098 (bsd_mod_ASFLAGS): Likewise.
29099 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29100 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29101
beefc598 291022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 Cleanup NetBSD root support.
29105
29106 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29107 grub_bsd_get_device.
29108 Fix typo.
29109
3b76e68b 291102009-08-25 Felix Zielcke <fzielcke@z-51.de>
29111
29112 * util/grub.d/00_header.in: Move check for the video backend of
29113 gfxterm from here ...
29114 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29115 a suitable video backend.
29116
aea664ea 291172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29118
29119 Fix breakage in grub-setup.
29120
29121 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29122 "msdos_partition_map".
29123
ff747d50 291242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29125
29126 Fix breakage in normal/auth.c.
29127
29128 * normal/auth.c (grub_iswordseparator): New function.
29129
e7e1f93f 291302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29131
29132 Authentication support.
29133
29134 * commands/password.c: New file.
29135 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29136 (password_mod_SOURCES): New variable.
29137 (password_mod_CFLAGS): Likewise.
29138 (password_mod_LDFLAGS): Likewise.
29139 (normal_mod_SOURCES): Add normal/auth.c.
29140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29141 normal/auth.c.
29142 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29146 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29148 * include/grub/auth.h: New file.
29149 * include/grub/err.h (grub_err_t): New enum value
29150 GRUB_ERR_ACCESS_DENIED.
29151 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29152 'users'.
29153 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29154 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29155 users updated.
29156 * normal/auth.c: New file.
29157 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29158 (grub_cmdline_run): Don't allow to go to command line without
29159 authentication.
29160 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29161 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29162 menuentry without superuser rights.
29163 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29164 user isn't a superuser.
29165
70f1161d 291662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 Save space by inlining misc.c functions.
29169
29170 * kern/misc.c (grub_iswordseparator): Made static.
29171 * kern/misc.c (grub_strcat): Moved from here ...
29172 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29173 * kern/misc.c (grub_strncat): Moved from here ...
29174 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29175 * kern/misc.c (grub_strcasecmp): Moved from here ...
29176 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29177 * kern/misc.c (grub_strncasecmp): Moved from here ...
29178 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29179 * kern/misc.c (grub_isalpha): Moved from here ...
29180 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29181 * kern/misc.c (grub_isdigit): Moved from here ...
29182 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29183 * kern/misc.c (grub_isgraph): Moved from here ...
29184 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
29185 * kern/misc.c (grub_tolower): Moved from here ...
29186 * include/grub/misc.h (grub_tolower): ... here. Inlined.
29187
48e40bff 291882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29189
29190 * script/sh/function.c (grub_script_function_find): Cut error message
29191 not to flood terminal.
29192 * script/sh/lexer.c (grub_script_yylex): Remove command line length
29193 limit.
29194 * script/sh/script.c (grub_script_arg_add): Duplicate string.
29195
c385bfc3 291962009-08-24 Colin Watson <cjwatson@ubuntu.com>
29197
29198 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
29199 `report' grub_uint8_t *.
29200 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
29201 Use a 50-millisecond timeout rather than just repeating
29202 grub_usb_keyboard_getreport 50 times.
29203 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
29204
2d21e3e8 292052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 Rename *_partition_map to part_*
29208
29209 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
29210 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
29211 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
29212 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
29213 All users updated.
29214 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
29215 All users updated.
29216 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
29217 * util/grub-probe.c (probe_partmap): Don't transform partition name
29218 to get module name.
29219
dd103c4e 292202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29221
29222 Fix OpenBSD and NetBSD support.
29223
29224 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
29225 memory address conflict.
29226 (OPENBSD_MMAP_ACPI): New definition.
29227 (OPENBSD_MMAP_NVS): Likewise.
29228 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
29229 and OPENBSD_MMAP_NVS.
29230 Add memory map terminator
29231 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 29232 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 29233
16c84d74 292342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29235
29236 Let user specify NetBSD root device.
29237
29238 * loader/i386/bsd.c (netbsd_root): New variable.
29239 (netbsd_opts): New option 'root'.
29240 (NETBSD_ROOT_ARG): New macro.
29241 (grub_netbsd_boot): Use 'netbsd_root'.
29242 (grub_bsd_unload): Free 'netbsd_root'.
29243 (grub_cmd_netbsd): Fill 'netbsd_root'.
29244
adb29902 292452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 Support for 64-bit NetBSD.
29248
29249 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
29250 point when booting non-FreeBSD.
29251
f5ae9f74 292522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29253
29254 Support --no-smp and --no-acpi for NetBSD.
29255
29256 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
29257 (NETBSD_AB_NOACPI): Likewise.
29258 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
29259 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
29260
de74f136 292612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
29264 errors.
29265 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
29266 errors. Call grub_error when needed.
29267
e9a925da 292682009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29269
29270 * commands/search.c (search_fs): Try searching without autoload first.
29271 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
29272 filesystem module explicitly for faster booting.
29273
5174302b 292742009-08-23 Colin Watson <cjwatson@ubuntu.com>
29275
29276 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29277
c8c80635 292782009-08-23 Colin Watson <cjwatson@ubuntu.com>
29279
29280 * util/grub.d/30_os-prober.in: Disable os-prober if
29281 `GRUB_DISABLE_OS_PROBER' was set to true.
29282
71acf5e5 292832009-08-23 Robert Millan <rmh.grub@aybabtu.com>
29284
29285 * partmap/pc.c: Rename to ...
29286 * partmap/msdos.c: ... this. Update all users.
29287 (grub_pc_partition_map): Rename to ...
29288 (grub_msdos_partition_map): ... this. Update all users.
29289
29290 * parttool/pcpart.c: Rename to ...
29291 * parttool/msdospart.c: ... this. Update all users.
29292
29293 * include/grub/pc_partition.h: Rename to ...
29294 * include/grub/msdos_partition.h: ... this. Update all users.
29295 (grub_pc_partition_bsd_entry): Rename to ...
29296 (grub_msdos_partition_bsd_entry): ... this. Update all users.
29297 (grub_pc_partition_disk_label): Rename to ...
29298 (grub_msdos_partition_disk_label): ... this. Update all users.
29299 (grub_pc_partition_entry): Rename to ...
29300 (grub_msdos_partition_entry): ... this. Update all users.
29301 (grub_pc_partition_mbr): Rename to ...
29302 (grub_msdos_partition_mbr): ... this. Update all users.
29303 (grub_pc_partition): Rename to ...
29304 (grub_msdos_partition): ... this. Update all users.
29305 (grub_pc_partition_is_empty): Rename to ...
29306 (grub_msdos_partition_is_empty): ... this. Update all users.
29307 (grub_pc_partition_is_extended): Rename to ...
29308 (grub_msdos_partition_is_extended): ... this. Update all users.
29309 (grub_pc_partition_is_bsd): Rename to ...
29310 (grub_msdos_partition_is_bsd): ... this. Update all users.
29311
29312 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
29313 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
29314 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
29315 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
29316 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
29317 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
29318 (gpt_mod_LDFLAGS): Rename to ...
29319 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
29320 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
29321 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
29322 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
29323 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
29324 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
29325 (part_gpt_mod_LDFLAGS): ... this.
29326 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
29327 `pcpart.mod' to `msdospart.mod'.
29328 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
29329 to ...
29330 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
29331 (msdospart_mod_LDFLAGS): ... this.
29332
c11fded5 293332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29334
29335 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
29336 (openbsd_opts): Likewise.
29337 (netbsd_opts): Likewise.
29338 (freebsd_flags): Added 0 terminator.
29339 (openbsd_flags): Likewise.
29340 (netbsd_flags): Likewise.
29341 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
29342 (grub_cmd_freebsd): Transformed into extended command.
29343 (grub_cmd_openbsd): Likewise.
29344 (grub_cmd_netbsd): Likewise.
29345 (cmd_freebsd): Changed type to grub_extcmd_t.
29346 (cmd_openbsd): Likewise.
29347 (cmd_netbsd): Likewise.
29348 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29349 grub_cmd_openbsd as extended commands.
29350 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29351 cmd_netbsd and cmd_openbsd
29352
11d1c769 293532009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29354
29355 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29356
7a9094e5 293572009-08-21 Pavel Roskin <proski@gnu.org>
29358
5496c37e 29359 * Makefile.in (install-local): When checking if a file is in the
29360 build directory, use "test -e" to detect symlinks.
29361
7a9094e5 29362 * Makefile.in (install-local): Remove all files in
29363 $(DESTDIR)$(pkglibdir) before installing new files there.
29364
e53cea11 293652009-08-18 Felix Zielcke <fzielcke@z-51.de>
29366
29367 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29368 grub-mkelfimage.
29369
9aced544 293702009-08-18 Felix Zielcke <fzielcke@z-51.de>
29371
29372 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29373 explicitly specified by the user.
29374
b7da6bab 293752009-08-18 Pavel Roskin <proski@gnu.org>
29376
29377 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29378 grub_uint8_t pointer for data.
29379 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29380 Likewise.
29381 * video/fb/fbutil.c: Remove unnecessary casts.
29382
19f1b335 293832009-08-17 Michal Suchanek <hramrach@centrum.cz>
29384
29385 VBE cleanup.
29386
29387 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29388 (grub_vbe_set_video_mode): Save active mode info
29389 only after setting the mode.
29390 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29391 second argument.
29392
2f467aa9 293932009-08-17 Michal Suchanek <hramrach@centrum.cz>
29394
29395 Rename variables for clarity.
29396
29397 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29398 (active_vbe_mode_info): ... this. All users updated.
29399 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29400 All users updated.
29401 (initial_mode): Rename to ...
29402 (initial_vbe_mode): ... this. All users updated.
29403 (mode_in_use): Rename to ..
29404 (vbe_mode_in_use): ... this. All users updated.
29405 (mode_list): Rename to ..
29406 (vbe_mode_list): ... this. All users updated.
29407 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29408 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29409 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29410 'mode_list_size' to 'vbe_mode_list_size'.
29411 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29412 'best_mode_info' to 'best_vbe_mode_info' and
29413 'best_mode' to 'best_vbe_mode'
29414
6025fcd7 294152009-08-17 Michal Suchanek <hramrach@centrum.cz>
29416
29417 Remove duplicate grub_video_fb_get_video_ptr.
29418
29419 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29420 (grub_video_fb_get_video_ptr): ... this.
29421 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29422 * video/fb/fbutil.c: Add comment about addressing.
29423 (get_data_ptr): Rename to ...
29424 (grub_video_fb_get_video_ptr): ... this. All users updated.
29425 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29426
cc8c6faf 294272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29428
29429 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29430 grub_dprintf() that was just added.
29431
08aa61f0 294322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29433
29434 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29435 (DEFAULT_VIDEO_MODE): Remove macros.
29436 (grub_linux_boot): Remove assumption that Linux has FB support,
29437 and use "text" as default video mode.
29438
7cef4f75 294392009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29440
29441 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29442 grub_dprintf.
29443 * fs/fat.c (grub_fat_read_data): Likewise.
29444
e1f39873 294452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29448 payload.
29449 (grub_module): Likewise.
29450
c166d79e 294512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29452
29453 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29454 mbi->cmdline but free playground.
29455
c60cee8e 294562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 Handle group offset on UFS1.
29459
29460 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29461 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29462
c0d8b5d4 294632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29464
29465 Split ufs.mod into ufs1.mod and ufs2.mod.
29466
29467 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29468 (grub_fstest_SOURCES): Likewise.
29469 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29470 (ufs_mod_SOURCES): Remove.
29471 (ufs_mod_CFLAGS): Likewise.
29472 (ufs_mod_LDFLAGS): Likewise.
29473 (ufs1_mod_SOURCES): New variable.
29474 (ufs1_mod_CFLAGS): Likewise.
29475 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 29476 (ufs2_mod_SOURCES): New variable.
29477 (ufs2_mod_CFLAGS): Likewise.
29478 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 29479 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29480 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29481 Likewise.
29482 (grub_emu_SOURCES): Likewise.
29483 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29484 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29485 (grub_setup_SOURCES): Likewise.
29486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29487 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29488 (grub_setup_SOURCES): Likewise.
29489 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29490 Likewise.
29491 * fs/ufs2.c: New file.
29492 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29493
d3539132 294942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29495
29496 Framebuffer split.
29497
29498 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29499 subsystem at the end.
29500 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29501 (video_fb_mod_SOURCES): New variable.
29502 (video_fb_mod_CFLAGS): Likewise.
29503 (video_fb_mod_LDFLAGS): Likewise.
29504 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29505 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29506 * video/i386/pc/vbeblit.c: Moved from here ...
29507 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29508 * video/i386/pc/vbefill.c: Moved from here ...
29509 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29510 * video/i386/pc/vbeutil.c: Moved from here ...
29511 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29512 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29513 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29514 * include/grub/i386/pc/vbefill.h: Moved from here ...
29515 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29516 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29517 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29518 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29519 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29520 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29521 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29522 (grub_video_adapter): Added 'get_info_and_fini'.
29523 (grub_video_get_info_and_fini): New prototype.
29524 (grub_video_set_mode): make modestring const char *.
29525 * loader/i386/linux.c (grub_linux_setup_video): Use
29526 grub_video_get_info_and_fini.
29527 (grub_linux_boot): Move modesetting just before booting.
29528 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29529 grub_video_get_info_and_fini.
29530 * video/i386/pc/vbe.c: Moved framebuffer part ...
29531 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29532 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29533 grub_video_fbstd_colors and grub_video_fb_set_palette.
29534 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29535 grub_video_fb_init.
29536 (grub_video_vbe_fini): Use grub_video_fb_fini.
29537 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29538 render_target and use grub_video_fb_set_active_render_target and
29539 grub_video_fb_set_palette.
29540 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29541 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29542 (grub_video_vbe_adapter): Use framebuffer.
29543 * video/video.c (grub_video_get_info_and_fini): New function.
29544 (grub_video_set_mode): Make modestring const char *.
29545 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29546 values are already initialised.
29547
d404ee56 295482009-08-14 Pavel Roskin <proski@gnu.org>
29549
29550 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29551 ABS and APPLE_CC.
29552 * boot/i386/pc/diskboot.S: Likewise.
29553 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29554 sectors allow compilation on MacOSX.
29555 * conf/i386-pc.rmk: Enable unconditional compilation of
29556 lnxboot.img.
29557
9a10df16 295582009-08-13 Colin Watson <cjwatson@ubuntu.com>
29559
29560 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29561 * util/grub.d/00_header.in: Enter interruptible sleep if
29562 GRUB_HIDDEN_TIMEOUT is set.
29563
be3c9ca7 295642009-08-13 Yves Blusseau <blusseau@zetam.org>
29565
29566 * include/grub/symbol.h: Add the LOCAL macro.
29567 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29568 starting with "L_".
29569
1f9e557e 295702009-08-13 Pavel Roskin <proski@gnu.org>
29571
9ca62843 29572 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29573 any modern compilers we support.
29574
1f9e557e 29575 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29576 Use local labels starting with "L_" so that Apple assembler
29577 knows they are local.
29578
81623db6 295792009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29580
29581 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29582 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29583 (bsd_kernel_types): ... this enum.
29584
29585 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29586 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29587 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29588
29589 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29590 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29591 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29592 messages.
29593
f5d35e7a 295942009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 * util/grub-dumpdevtree: Moved from here ...
29597 * util/i386/efi/grub-dumpdevtree: ... to here.
29598 (hexify): New function. Converts a string to its hex version.
29599 Generate hex versions of "efi" and "device-properties" by calling
29600 hexify() on the ASCII strings rather than by hardcoding numbers.
29601
d1e1d527 296022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29603
29604 * fs/jfs.c: Update copyright year.
29605
1ebbe064 296062009-08-08 Felix Zielcke <fzielcke@z-51.de>
29607
29608 * util/grub.d/00_header.in: Fix a comment.
29609 * util/grub.d/10_linux.in: Likewise.
29610 * util/grub.d/10_windows.in: Likewise.
29611 * util/grub.d/10_hurd.in: Likewise.
29612
a78c8d24 296132009-08-08 Felix Zielcke <fzielcke@z-51.de>
29614
29615 * util/grub-mkconfig.in: Allow the user to specify the used font
29616 with GRUB_FONT.
29617
29a6b9e8 296182009-08-08 Pavel Roskin <proski@gnu.org>
29619
b5f16cc4 29620 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29621 available, xfs.mod needs it now.
29622
2f5cb827 29623 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29624 the "g" modifier in sed when the intention is to strip something
29625 once. This fixes comparison of kernels with multiple dashes.
29626
29a6b9e8 29627 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29628 on it. Add missing space before closing bracket. Fix
29629 misleading formatting.
29630
892a3d98 296312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29632
29633 * docs/grub.texi: Major overhaul. Remove all sections that are
29634 specific to GRUB Legacy, or mostly composed of Legacy-specific
29635 information.
29636
ed94253f 296372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29638
29639 * docs/version.texi: New file. Provides version information for
29640 grub.texi.
29641
126d6628 296422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * docs/grub.texi: Update CVS information to SVN.
29645 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29646
998b5aa9 296472009-08-07 Felix Zielcke <fzielcke@z-51.de>
29648
29649 * util/grub-mkconfig.in: Remove a wrong `fi'.
29650
818e094a 296512009-08-07 Felix Zielcke <fzielcke@z-51.de>
29652
29653 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29654 (grub_jfs_uuid): New function.
29655 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29656
b969c52f 296572009-08-07 Felix Zielcke <fzielcke@z-51.de>
29658
29659 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29660 of it to ...
29661 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29662 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29663
7a4894cc 296642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29665
29666 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29667 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29668 Update all users.
29669
29670 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29671 not just "vmlinu[zx]".
29672 Moved from here ...
29673 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29674 all users.
29675
29676 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29677 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29678 all users.
29679
4e2171f8 296802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29681
29682 * util/grub.d/10_freebsd.in: Use an absolute device path for
29683 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29684
6dcfcb32 296852009-08-06 Felix Zielcke <fzielcke@z-51.de>
29686
29687 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29688 handling of multiple abstraction modules.
29689
f56a8756 296902009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29691
29692 Fix a bug resulting in black screen when loading Linux using a
29693 packed video mode.
29694
29695 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29696 function.
29697
29698 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29699 (grub_vbe_bios_getset_dac_palette_width): New function.
29700 (grub_vbe_bios_get_dac_palette_width)
29701 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29702 grub_vbe_bios_getset_dac_palette_width()).
29703
29704 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29705 check for return status.
29706 (grub_vbe_get_video_mode_info): When getting information for a packed
29707 mode (<= 8 bpp), obtain DAC palette width using
29708 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29709 {red,green,blue}_mark_size.
29710
222671b2 297112009-08-04 Felix Zielcke <fzielcke@z-51.de>
29712
ecb1a6d9 29713 * commands/search.c (options): Fix help output to match actual code.
222671b2 29714
f84114f5 297152009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29718 of homegrown code.
29719
bd288a20 297202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 29721
29722 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29723 on XFS or ReiserFS.
29724
8aab5e25 297252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29726
29727 Support Apple partition map with sector size different from 512 bytes.
29728
29729 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29730 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29731 and 'apart.partmap_size'.
29732
6ad6258a 297332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
297342009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29735
29736 Fix cpuid command.
29737
29738 * commands/i386/cpuid.c (options): New variable.
29739 (grub_cmd_cpuid): Return real error.
29740 (GRUB_MOD_INIT(cpuid)): Declare options.
29741
67459bc6 297422009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29743
29744 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29745 valid.
29746
fbc6ab54 297472009-07-31 Bean <bean123ch@gmail.com>
29748
29749 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29750 log2_inode.
29751 (grub_fshelp_node): Move inode field to the end.
29752 (grub_xfs_data): Remove inode field.
29753 (grub_xfs_inode_block): Calculate inode size using sblock.
29754 (grub_xfs_inode_offset): Likewise.
29755 (grub_xfs_read_inode): Calculate inode size using sblock.
29756 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29757 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29758 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29759 to match inode size.
29760 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29761 not accessible when data is null.
29762 (grub_xfs_open): Likewise.
29763
f45d6cfc 297642009-07-31 Bean <bean123ch@gmail.com>
29765
29766 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29767 Don't change pv->disk if it's already set.
29768
29769 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29770 (grub_raid_register): ... here.
29771 (grub_raid_rescan): Removed.
29772
29773 * include/grub/raid.h (grub_raid_rescan): Removed.
29774
29775 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29776 (fstest): Replace grub_raid_rescan with module fini function followed
29777 by init function.
29778
29779 * util/grub-probe.c: Add include file <grub/raid.h>.
29780 (probe_raid_level): New function.
29781 (probe): Detect abstraction by walking the disk device, support two
29782 level of abstraction (LVM on RAID) when detecting partition map.
29783
24443b5a 297842009-07-31 Pavel Roskin <proski@gnu.org>
29785
29786 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29787 to grub_zalloc(), it was erroneous.
29788 Reported by Bean <bean123ch@gmail.com>
29789
a275d9e7 297902009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29791
29792 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 29793 embedding zone, not only the first one.
a275d9e7 29794
56c5a47f 297952009-07-29 Joe Auricchio <jauricchio@gmail.com>
29796
29797 * term/gfxterm.c (clear_char): New function.
29798 (grub_virtual_screen_setup): Use clear_char.
29799 (scroll_up): Likewise.
29800 (grub_virtual_screen_cls): Likewise.
29801
67bb323a 298022009-07-29 Felix Zielcke <fzielcke@z-51.de>
29803
29804 * util/deviceiter.c (get_acceleraid_disk_name): New static
29805 function.
29806 (grub_util_iterate_devices): Handle Accelraid devices.
29807 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29808
388a7c75 298092009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29810
29811 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29812 separator for the suggested gfxpayload string (';' collides with the
29813 parser and needs escaping).
29814
3bb7abcf 298152009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29816
29817 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29818 Clear direction flag before jumping to OS.
29819 (grub_multiboot2_real_boot): Likewise.
29820
2ddd36d7 298212009-07-28 Felix Zielcke <fzielcke@z-51.de>
29822
29823 * util/i386/pc/grub-install: Fix parsing of --disk-module
29824 option.
29825
c521b62b 298262009-07-28 Felix Zielcke <fzielcke@z-51.de>
29827
29828 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29829 when embedding.
29830
880e0a0c 298312009-07-26 Felix Zielcke <fzielcke@z-51.de>
29832
29833 * util/grub-mkconfig.in (package_version): New variable.
29834 Use it do display the version.
29835
2366e356 298362009-07-25 Felix Zielcke <fzielcke@z-51.de>
29837
29838 * kern/file.c (grub_file_open): Revert to previous check with
29839 grub_errno.
29840
7ad8c80e 298412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29842
29843 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29844 from help line. It's out of sync with code.
29845
72b9658b 298462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29849 entries on failed boot.
29850
77435277 298512009-07-25 Felix Zielcke <fzielcke@z-51.de>
29852
29853 * kern/file.c (grub_file_open): Fix an error check.
29854
fcaa8b21 298552009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29856
35d16c74 29857 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29858 partition map couldn't be identified.
fcaa8b21 29859
48904cd1 298602009-07-23 Pavel Roskin <proski@gnu.org>
29861
ef3c317f 29862 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29863 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29864 case of little endian words becomes just an optimization.
29865 Respect const modifier.
ad8ea1f4 29866 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 29867
48904cd1 29868 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29869 to avoid loss of upper bits if align is unsigned and shorter
29870 than addr.
29871
260c9a89 298722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29873
29874 UUID support for UFS
29875
29876 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29877 (grub_ufs_uuid): New function.
29878 (grub_ufs_fs): add .uuid
29879
f76ce889 298802009-07-21 Pavel Roskin <proski@gnu.org>
29881
29882 * kern/dl.c (grub_dl_check_header): Make static.
29883
6a6cbcaf 298842009-07-21 Felix Zielcke <fzielcke@z-51.de>
29885
29886 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29887 add drivemap for Vista. It breaks Windows 7.
29888
cffcddb2 298892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29890
29891 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
29892 128 bytes
29893
1ef44b80 298942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29895
29896 Add BFS support
29897
29898 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
29899 (grub_fstest_SOURCES): Likewise.
29900 (pkglib_MODULES): Add befs.mod.
29901 (befs_mod_SOURCES): New variable.
29902 (befs_mod_CFLAGS): Likewise.
29903 (befs_mod_LDFLAGS): Likewise.
29904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29905 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29907 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29908 (grub_setup_SOURCES): Likewise.
29909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29911 (grub_setup_SOURCES): Likewise.
29912 * fs/befs.c: New file.
29913 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
29914 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
29915 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
29916 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
29917 (B_KEY_INDEX_ALIGN): New declaration.
29918 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
29919 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
29920 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
29921 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
29922 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
29923 (grub_afs_mount) [MODE_BFS]: Likewise.
29924 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
29925 (grub_afs_fs): Use GRUB_AFS_FSNAME
29926 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
29927 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
29928 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
29929 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
29930
4f253044 299312009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
29932
29933 * util/getroot.c (find_root_device): Add support for MacOSX.
29934 * util/hostdisk.c: Likewise.
29935
57a55913 299362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29937
29938 * font/font.c (find_glyph): Check whether a font is present to avoid
29939 segmentation fault.
75421ca9 29940
299412009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 29942
29943 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
29944
e98cd0c2 299452009-07-20 Pavel Roskin <proski@gnu.org>
29946
29947 * configure.ac: Trim excessively wordy excuses.
29948
1d2d169a 299492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29950
29951 Add symlink, mtime and label support to AtheFS.
29952
29953 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
29954 (grub_afs_iterate_dir): Handle symlinks.
29955 (grub_afs_open): Use grub_afs_read_symlink.
29956 (grub_afs_dir): Likewise.
29957 Pass mtime.
29958 (grub_afs_label): New function.
29959 (grub_afs_fs): Add grub_afs_label.
29960 (grub_afs_read_symlink): New function.
29961
186f3189 299622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29963
29964 Fix AtheFS support.
29965
29966 * fs/afs.c: Fix comments style.
29967 (grub_afs_blockrun): Declare as packed.
29968 (grub_afs_datastream): Likewise.
29969 (grub_afs_bnode): Likewise.
29970 (grub_afs_btree): Likewise.
29971 (grub_afs_sblock): Likewise.
29972 Declare `name' as char.
29973 (grub_afs_inode): Declare as packed.
29974 Change void *vnode to grub_uint32_t unused.
29975 (grub_afs_iterate_dir): Check that key_size is positive.
29976 (grub_afs_mount): Don't read superblock twice.
75421ca9 29977 (grub_afs_dir): Don't free node in case of error,
186f3189 29978 grub_fshelp_find_file already handles this.
29979 (grub_afs_open): Likewise.
29980
5680109e 299812009-07-19 Pavel Roskin <proski@gnu.org>
29982
29983 * Makefile.in: Remove LIBLZO and enable_lzo.
29984 * conf/i386-pc.rmk: Remove lzo support.
29985 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
29986 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
29987 support.
29988 * kern/i386/pc/lzo1x.S: Remove.
29989 * kern/i386/pc/startup.S: Remove lzo support.
29990 * util/i386/pc/grub-mkimage.c: Likewise.
29991
ac70fa32 299922009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29993
29994 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29995 * fs/xfs.c (grub_xfs_dir): Likewise.
29996 * fs/afs.c (grub_afs_dir): Likewise.
29997 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29998 (grub_iso9660_open): Likewise.
29999 * fs/jfs.c (grub_jfs_open): Likewise.
30000 * fs/ext2.c (grub_ext2_dir): Likewise.
30001 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30002 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30003
eab58da2 300042009-07-16 Pavel Roskin <proski@gnu.org>
30005
d2838156 30006 * configure.ac: Never add "-c" to CFLAGS.
30007
55c70904 30008 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30009
43e6200c 30010 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30011 grub_cv_cc_efiemu should be used.
30012
ce7a733d 30013 * configure.ac: Typo fixes.
30014
eab58da2 30015 * kern/mm.c (grub_zalloc): New function.
30016 (grub_debug_zalloc): Likewise.
30017 * include/grub/mm.h: Declare grub_zalloc() and
30018 grub_debug_zalloc().
30019 * util/misc.c (grub_zalloc): New function.
30020 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30021 instead of grub_malloc(), remove unneeded initializations.
30022 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30023 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30024 * commands/parttool.c (grub_cmd_parttool): Likewise.
30025 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30026 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30027 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30028 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30029 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30030 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30031 (grub_cmd_efiemu_pnvram): Likewise.
30032 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30033 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30034 (grub_iso9660_iterate_dir): Likewise.
30035 * fs/jfs.c (grub_jfs_opendir): Likewise.
30036 * fs/ntfs.c (list_file): Likewise.
30037 (grub_ntfs_mount): Likewise.
30038 * kern/disk.c (grub_disk_open): Likewise.
30039 * kern/dl.c (grub_dl_load_core): Likewise.
30040 * kern/elf.c (grub_elf_file): Likewise.
30041 * kern/env.c (grub_env_context_open): Likewise.
30042 (grub_env_set): Likewise.
30043 (grub_env_set_data_slot): Likewise.
30044 * kern/file.c (grub_file_open): Likewise.
30045 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30046 * loader/i386/multiboot.c (grub_module): Likewise.
30047 * loader/xnu.c (grub_xnu_create_key): Likewise.
30048 (grub_xnu_create_value): Likewise.
30049 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30050 (read_config_file): Likewise.
30051 * normal/menu_entry.c (make_screen): Likewise.
30052 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30053 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30054 * script/sh/script.c (grub_script_parse): Likewise.
30055 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30056 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30057 * video/readers/png.c (grub_png_output_byte): Likewise.
30058 (grub_video_reader_png): Likewise.
30059
830afef7 300602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30061
30062 Enable all targets that can be built by default
30063
830afef7 30064 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30065 grub-mkfont and grub-fstest if they can be built
30066
ee293aee 300672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30068
30069 Fix hang and segmentation fault in grub-emu-usb
30070
30071 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30072 * util/usb.c (grub_libusb_devices): likewise
30073 (grub_libusb_init): rename to ...
30074 (GRUB_MOD_INIT (libusb)):...this
30075 (grub_libusb_fini): rename to ..
30076 (GRUB_MOD_FINI (libusb)):...this
30077 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30078 * include/grub/disk.h (grub_raid_init): removed, it's useless
30079 (grub_raid_fini): likewise
30080 (grub_lvm_init): likewise
30081 (grub_lvm_fini): likewise
30082 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30083 by grub_init_all
30084
94414221 300852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30086
30087 Fix libusb
30088
30089 * Makefile.in (LIBUSB): new macro
30090 * genmk.rb (Utility/print_tail): new method
30091 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30092 (top level): call util.print_tail at the end.
30093
59ade63d 300942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30095
30096 Make FreeBSD accept zpool.cache
30097
30098 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30099 type is /boot/zfs/zpool.cache
30100
a58da8c7 301012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30102
30103 Fix 64-bit efiemu
30104
30105 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30106 correct wrong typedef
30107 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30108
20591577 301092009-07-15 Pavel Roskin <proski@gnu.org>
30110
560ca572 30111 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30112 * kern/disk.c (struct grub_disk_cache): Likewise.
30113
e8e8e4fd 30114 * commands/probe.c (options): Typo fix.
30115
fde24e10 30116 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30117 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30118 accordingly.
30119 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30120
379c54c1 30121 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30122 the end of "Error" to make the message more readable.
30123
7bd8f5bf 30124 * boot/i386/pc/boot.S (kernel_segment): Remove.
30125 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30126 for destination.
30127
40b132c5 30128 * boot/i386/pc/boot.S (boot_version): Remove.
30129 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30130 Remove.
30131
20591577 30132 * include/grub/i386/pc/boot.h: Sort all offsets.
30133 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30134 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30135 * boot/i386/pc/boot.S: Assert location of every offset listed in
30136 include/grub/i386/pc/boot.h.
30137
2df32b2c 301382009-07-13 Pavel Roskin <proski@gnu.org>
30139
44b5d879 30140 * include/grub/i386/coreboot/machine.h: Rename
30141 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30142 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30143 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30144
17dc3751 30145 * kern/dl.c: Force native word size to suppress warnings when
30146 compiling grub-emu.
30147
2df32b2c 30148 * kern/device.c (grub_device_iterate): Change struct part_ent to
30149 hold the name, not a pointer to it. Use one grub_malloc() per
30150 partition, not two. Free partition_name if grub_malloc() fails.
30151 Set ents to NULL only before grub_partition_iterate() is called.
30152
75c59f59 301532009-07-11 Bean <bean123ch@gmail.com>
30154
30155 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30156 childname.
30157
0ae1bf88 301582009-07-10 Bean <bean123ch@gmail.com>
301592009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30160
30161 * kern/ieee1275/openfw.c (grub_children_iterate)
30162 (grub_devalias_iterate): Fix size evaluation for property or path
30163 strings, which was broken since r2132.
30164
8279cade 301652009-07-07 Pavel Roskin <proski@gnu.org>
30166
7d8a52d3 30167 * commands/search.c (search_file): Merge into ...
30168 (search_fs): ... this. Accept search type as argument.
30169 (grub_cmd_search): Pass search type to search_fs().
30170
25f9a05a 30171 * include/grub/util/console.h: New file.
30172 * util/console.c: Use it instead of grub/machine/console.h.
30173 * util/grub-emu.c: Likewise.
30174
8279cade 30175 * lib/arg.c (find_long_option): Remove.
30176 (find_long): Add `len' argument, make `s' const char *.
30177 (grub_arg_parse): Parse long options in place, not in a
30178 temporary buffer.
30179
4a11b60f 301802009-07-06 Pavel Roskin <proski@gnu.org>
30181
99f68041 30182 * commands/search.c (search_fs): Fix potential NULL pointer
30183 dereference.
30184
4a11b60f 30185 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30186 function pointer.
30187
e110f4de 301882009-07-06 Daniel Mierswa <impulze@impulze.org>
30189
30190 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30191 comparison.
30192
46eeb6a2 301932009-07-05 Pavel Roskin <proski@gnu.org>
30194
bab74958 30195 * include/grub/i386/linux.h (struct linux_kernel_params):
30196 Restore padding3, it's still needed.
30197
46eeb6a2 30198 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30199 FreeBSD.
30200 * util/osdetect.lua: Likewise.
30201
b4a1dc79 302022009-07-05 Bean <bean123ch@gmail.com>
30203
30204 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
30205
30206 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
30207 (grub_lua_getenv): Likewise.
30208 (grub_lua_setenv): Likewise.
30209 (save_errno): New function.
30210 (push_result): Likewise.
30211 (grub_lua_enum_device): Likewise.
30212 (grub_lua_enum_file): Likewise.
30213 (grub_lua_file_open): Likewise.
30214 (grub_lua_file_close): Likewise.
30215 (grub_lua_file_seek): Likewise.
30216 (grub_lua_file_read): Likewise.
30217 (grub_lua_file_getline): Likewise.
30218 (grub_lua_file_getsize): Likewise.
30219 (grub_lua_file_getpos): Likewise.
30220 (grub_lua_file_eof): Likewise.
30221 (grub_lua_file_exist): Likewise.
30222 (grub_lua_add_menu): Likewise.
30223
30224 * script/lua/grub_lua.h (isupper): New inline function.
30225 (islower): Likewise.
30226 (ispunct): Likewise.
30227 (isxdigit): Likewise.
30228 (strcspn): Change to normal function.
30229 (strpbkr): New function declaration.
30230 (memchr): Likewise.
30231
30232 * script/lua/grub_main.c (scan_str): New function.
30233 (strcspn): Likewise.
30234 (strpbrk): Likewise.
30235 (memchr): Likewise.
30236
30237 * script/lua/linit.c (lualibs): Enable the string library.
30238
30239 * util/osdetect.lua: New file.
30240
2da92295 302412009-07-04 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * include/grub/i386/linux.h (struct linux_kernel_params): Add
30244 `capabilities' member.
30245
b2582ec9 302462009-07-02 Pavel Roskin <proski@gnu.org>
30247
30248 * genparttoollist.sh: Add missing newline at the end.
30249
32622956 302502009-07-01 Pavel Roskin <proski@gnu.org>
30251
87a7339e 30252 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30253
d23af54e 30254 * util/hostdisk.c (open_device): Remove `const' from
30255 `sysctl_size', as sysctlbyname() can change it (in this case it
30256 doesn't actually happen).
30257
c94b18a9 30258 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30259 using signed long int constants.
30260
c6cd3ef0 30261 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30262 constant to avoid a warning on FreeBSD.
30263
0df63420 30264 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30265 where it's needed.
30266
999577f1 30267 * Makefile.in: Install include/grub/machine symlink.
30268
6f41557f 30269 * Makefile.in: When installing symlinks, use "cp -fR", which
30270 works on FreeBSD and MacOSX.
30271 From Yves Blusseau <cl7m42e02@sneakemail.com>
30272
c8d22988 30273 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30274 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30275
1b96e952 30276 * util/misc.c: Move grub_reboot() and grub_halt() ...
30277 * util/grub-emu.c: ... here. Make main_env static.
30278 * include/grub/util/misc.h: Remove main_env.
30279
2ef0084d 30280 * kern/mm.c: Use correct format to print size_t.
30281
32622956 30282 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
30283 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
30284 * kern/powerpc/dl.c: Likewise.
30285 * kern/sparc64/dl.c: Likewise.
30286 * kern/x86_64/dl.c: Likewise.
30287
3f7f0cd0 302882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30289
30290 Fix grub-emu build on sparc64-ieee1275.
30291
75421ca9 30292 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 30293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30294
211d06b5 302952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30296
30297 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
30298 (grub_reboot, grub_halt): New functions.
30299
30300 * util/i386/pc/misc.c: Delete. Update all users.
30301 * util/sparc64/ieee1275/misc.c: Likewise.
30302 * util/powerpc/ieee1275/misc.c: Likewise.
30303
aaf53e3c 303042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30305
30306 * conf/i386.rmk (setjmp_mod_SOURCES)
30307 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
30308 * conf/common.rmk (setjmp_mod_SOURCES)
30309 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
30310 to use $(target_cpu).
30311 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
30312 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
30313 * conf/powerpc-ieee1275.rmk: Likewise.
30314 * conf/sparc64-ieee1275.rmk: Likewise.
30315
30316 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
30317 $(target_cpu) for kern/$(target_cpu)/dl.c.
30318 * conf/i386-efi.rmk: Likewise.
30319 * conf/i386-ieee1275.rmk: Likewise.
30320 * conf/x86_64-efi.rmk: Likewise.
30321 * conf/i386-coreboot.rmk: Likewise.
30322 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
30323 $(target_cpu) for kern/$(target_cpu)/dl.c and for
30324 kern/$(target_cpu)/cache.S.
30325 * conf/sparc64-ieee1275.rmk: Likewise.
30326
a337130b 303272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30328
30329 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
30330 type to `grub_uint8_t', and adjust `padding9' accordingly.
30331
c6fe4d53 303322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30333
b09db61d 30334 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30335
c6fe4d53 30336 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30337 assembly in final jump, using register constraints.
30338
b09db61d 30339 (grub_linux_boot): For text mode, initialize `have_vga' using
30340 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
30341
30342 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
30343 right before the final jump.
30344
30345 Set `video_mode' to 0x3.
30346
30347 Document initialization of `video_page', `video_mode' and
30348 `video_ega_bx'.
30349
28333ad0 303502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30351
30352 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30353 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 30354 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 30355
02164e1b 303562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30357
30358 Fix build on Debian / sparc.
30359
30360 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30361
18b6c557 303622009-06-28 Pavel Roskin <proski@gnu.org>
30363
85f2aab6 30364 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30365 fix a warning.
30366
18b6c557 30367 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30368
ad760f81 303692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30372 `err'.
30373
87a4623b 303742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30375
30376 Revert r2338.
30377
30378 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30379 file can't be opened. grub_file_open() is already supposed to set
75421ca9 30380 grub_errno / grub_errmsg appropriately.
87a4623b 30381 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30382
8231fb77 303832009-06-27 Pavel Roskin <proski@gnu.org>
303842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30385
30386 * include/grub/dl.h: Include grub/elf.h.
30387 (struct grub_dl): Add symtab field.
30388 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30389 GRUB_MODULES_MACHINE_READONLY.
30390 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30391 of the header for read-only modules.
30392 (grub_dl_unload): Free mod->symtab for read-only modules.
30393 * kern/i386/dl.c: Use mod->symtab.
30394 * kern/powerpc/dl.c: Likewise.
30395 * kern/sparc64/dl.c: Likewise.
30396 * kern/x86_64/dl.c: Likewise.
30397
30398 * conf/i386-qemu.rmk: New file.
30399 * kern/i386/qemu/startup.S: Likewise.
30400 * kern/i386/qemu/mmap.c: Likewise.
30401 * boot/i386/qemu/boot.S: Likewise.
30402 * include/grub/i386/qemu/time.h: Likewise.
30403 * include/grub/i386/qemu/serial.h: Likewise.
30404 * include/grub/i386/qemu/kernel.h: Likewise.
30405 * include/grub/i386/qemu/console.h: Likewise.
30406 * include/grub/i386/qemu/boot.h: Likewise.
30407 * include/grub/i386/qemu/init.h: Likewise.
30408 * include/grub/i386/qemu/machine.h: Likewise.
30409 * include/grub/i386/qemu/loader.h: Likewise.
30410 * include/grub/i386/qemu/memory.h: Likewise.
30411
30412 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30413 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30414 [qemu] (pkglib_IMAGES): Add `boot.img'.
30415 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30416 [qemu] (boot_img_FORMAT): New variables.
30417 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30418 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30419 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30420 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30421 [qemu] (kernel_img_FORMAT): New variables.
30422
30423 * configure.ac: Recognise `i386-qemu'.
30424
30425 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30426 (for no compression).
30427 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30428 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30429 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30430 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30431 ifdefs).
30432
97fe384e 304332009-06-27 Pavel Roskin <proski@gnu.org>
30434
30435 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30436 read.
30437 * efiemu/prepare32.c: Likewise.
30438 * efiemu/prepare64.c: Likewise.
30439
c402ab17 304402009-06-26 Pavel Roskin <proski@gnu.org>
30441
30442 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30443 * include/grub/elf.h: Define symbols without "32" or "64" based
30444 on GRUB_TARGET_WORDSIZE.
30445 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30446 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30447 ELF definitions.
30448 * efiemu/loadcore64.c: Likewise.
30449 * loader/i386/bsd32.c: Likewise.
30450 * loader/i386/bsd64.c: Likewise.
30451 * kern/dl.c: Remove own ELF definitions.
30452 * util/i386/efi/grub-mkimage.c: Likewise.
30453
9bbdfd4d 304542009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30455
30456 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30457 segment 0x0 unconditionally, because the reference generated by
30458 GAS is an absolute address.
30459
a42ce6e9 304602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30461
30462 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30463 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30464
c952cf92 304652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30466
30467 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30468 indexes. Check for -f explicitly.
cc3752ad 30469 (search_file): Improve error message.
30470 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 30471
132a0a59 304722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30473
30474 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30475 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30476
387a140c 304772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30480 * conf/i386-ieee1275.rmk: Likewise.
30481 * conf/i386-coreboot.rmk: Likewise.
30482
30483 * kern/i386/pc/startup.S (grub_stop): Remove function.
30484 * kern/i386/ieee1275/startup.S: Likewise.
30485 * kern/i386/coreboot/startup.S: Likewise.
30486 * kern/i386/misc.S (grub_stop): New function.
30487
41da9665 304882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30489
30490 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30491 * kern/i386/realmode.S (real_to_prot): ... to here.
30492
bf337234 304932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30494
30495 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30496 with `kernel.img'.
30497 (kernel_elf_SOURCES): Rename to ...
30498 (kernel_img_SOURCES): ... this.
30499 (kernel_elf_HEADERS): Rename to ...
30500 (kernel_img_HEADERS): ... this. Update all users.
30501 (kernel_elf_ASFLAGS): Rename to ...
30502 (kernel_img_ASFLAGS): ... this.
30503 (kernel_elf_CFLAGS): Rename to ...
30504 (kernel_img_CFLAGS): ... this.
30505 (kernel_elf_LDFLAGS): Rename to ...
30506 (kernel_img_LDFLAGS): ... this.
30507 * conf/i386-coreboot.rmk: Likewise.
30508 * conf/powerpc-ieee1275.rmk: Likewise.
30509
30510 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30511 with "kernel.img".
30512
f52196ff 305132009-06-21 Pavel Roskin <proski@gnu.org>
30514
c3cee413 30515 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30516 to match nested functions.
30517 * loader/sparc64/ieee1275/linux.c: Likewise.
30518
f52196ff 30519 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30520
58750afc 305212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30522
30523 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30524 all i386 platforms.
30525
15355c7d 305262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 Fix asm file handling on ELF, and remove workarounds.
30529
30530 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 30531 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 30532 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30533 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30534
3f3ec72b 305352009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30536
30537 Load BSD ELF modules
30538
30539 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30540 and loader/i386/bsd64.c
30541 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30542 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30543 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30544 (grub_freebsd_load_elfmodule32): New declaration
30545 (grub_freebsd_load_elfmoduleobj64): Likewise
30546 (grub_freebsd_load_elf_meta32): Likewise
30547 (grub_freebsd_load_elf_meta64): Likewise
30548 (grub_freebsd_add_meta): Likewise
30549 (grub_freebsd_add_meta_module): Likewise
30550 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30551 (grub_freebsd_add_meta_module): Likewise and move module-specific
30552 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30553 (grub_cmd_freebsd): Add elf-kernel specific parts
30554 based on grub_freebsd_add_meta_module
30555 (grub_cmd_freebsd_module): Add type parsing moved from
30556 grub_freebsd_add_meta_module
30557 (grub_cmd_freebsd_module_elf): New function
30558 (cmd_freebsd_module_elf): New variable
30559 (GRUB_MOD_INIT): Register freebsd_module_elf
30560 * loader/i386/bsd32.c: New file
30561 * loader/i386/bsd64.c: Likewise
30562 * loader/i386/bsdXX.c: Likewise
30563 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30564 (grub_elf64_load): Likewise
30565 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30566 All users updated
30567 (grub_elf64_load_hook_t): Likewise
30568
0db15301 305692009-06-21 Colin Watson <cjwatson@ubuntu.com>
30570
30571 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30572 variable.
30573 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30574 don't write a menu entry for recovery mode.
30575
546796c1 305762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30577
30578 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30579 after it's no longer needed.
30580
cd7310d5 305812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30582
30583 * include/grub/i386/loader.h (grub_linux_prot_size)
30584 (grub_linux_tmp_addr, grub_linux_real_addr)
30585 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30586 GRUB_MACHINE_PCBIOS.
30587 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30588 common grub_util_info() call to ...
30589 (generate_image): ... here.
30590 Fix use of uninitialized memory, comparison of signed with
30591 unsigned integers and memory leak.
30592 Remove bogus module address message.
30593
ab32d3b5 305942009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30595
30596 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30597 grub_raid_register
30598 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30599
024ef597 306002009-06-19 Pavel Roskin <proski@gnu.org>
30601
30602 * configure.ac: Remove stray AC_MSG_CHECKING.
30603
3ac72b51 306042009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30605
30606 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 30607
e14cd814 306082009-06-18 Pavel Roskin <proski@gnu.org>
30609
30610 * conf/common.rmk: Add fs_file.mod.
30611 * disk/fs_file.c: New file.
30612 * include/grub/disk.h (enum grub_disk_dev_id): Add
30613 GRUB_DISK_DEVICE_FILE_ID.
30614
26586d98 306152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30616
30617 Fix build with Apple's toolchain. Part 2
30618
30619 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30620 a fake start
30621
26de2bcd 306222009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30623
30624 Fix build with Apple's toolchain. Part 1
30625
30626 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30627 for long calls
30628 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 30629 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 30630 Apple's toolchain
30631
09b3490b 306322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30633
30634 Fix warnings
30635
30636 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30637 (decomp_block): initialize ch
30638 use grub_memcpy instead of memcpy
30639
c22a006a 306402009-06-17 Pavel Roskin <proski@gnu.org>
30641
d3638678 30642 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30643 version, use declarations needed to use vga_text as the startup
30644 console.
30645
c22a006a 30646 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30647 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30648 the kernel.
30649 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30650 and grub_at_keyboard_fini(), it's done on module load and
30651 unload.
30652
05b129e0 306532009-06-17 Felix Zielcke <fzielcke@z-51.de>
30654
30655 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30656 file can't be found.
30657 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30658
cf24ed9e 306592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30660
30661 Fix newline handling
30662
30663 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 30664 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 30665 (grub_script_yylex): don't segfault on unterminated script
30666 newline terminates command and variable
30667
74aa8e4b 306682009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30669
30670 avoid double grub_adjust_range call. Bug reported by David Simner
30671
30672 * kern/disk.c (grub_disk_write): change to raw disk access before
30673 calling disk_read
30674
1bd265f3 306752009-06-17 Colin Watson <cjwatson@ubuntu.com>
30676
30677 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30678 spaces, for the benefit of help2man.
30679 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30680
a2d08c06 306812009-06-16 Pavel Roskin <proski@gnu.org>
30682
30683 * kern/i386/halt.c: Include grub/machine/init.h.
30684 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30685
b97bcb19 306862009-06-16 Felix Zielcke <fzielcke@z-51.de>
30687
30688 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30689 drivemap menuentry.
30690
0644f96c 306912009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30692
30693 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30694 `echo' command.
30695
3ef17a2e 306962009-06-16 Pavel Roskin <proski@gnu.org>
30697
30698 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30699 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30700 save %dx, we only need %dl and we never change it.
30701 * boot/i386/pc/cdboot.S: Don't set the root drive.
30702 * boot/i386/pc/pxeboot.S: Likewise.
30703 * include/grub/i386/pc/boot.h: Remove
30704 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30705 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30706 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30707 * kern/i386/pc/init.c (make_install_device): Remove references
30708 to grub_root_drive.
30709 * kern/i386/pc/startup.S: Likewise.
30710 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30711
693fe637 307122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30713
30714 xnu_uuid command
30715
30716 * commands/xnu_uuid.c: new file
30717 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30718 (xnu_uuid_mod_SOURCES): new variable
30719 (xnu_uuid_mod_CFLAGS): likewise
30720 (xnu_uuid_mod_LDFLAGS): likewise
30721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30722 * conf/i386-ieee1275.rmk: likewise
30723 * conf/i386-pc.rmk: likewise
30724 * conf/powerpc-ieee1275.rmk: likewise
30725 * conf/sparc64-ieee1275.rmk: likewise
30726 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30727
c9da87d0 307282009-06-16 Pavel Roskin <proski@gnu.org>
30729
30730 * configure.ac: Avoid '==' in test command, it's not portable.
30731
9c6f4596 307322009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30733
30734 Probe command
30735
30736 * commands/probe.c: new file
30737 * conf/common.rmk (pkglib_MODULES): add probe.mod
30738 (probe_mod_SOURCES): new variable
30739 (probe_mod_CFLAGS): likewise
30740 (probe_mod_LDFLAGS): likewise
30741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30742 * conf/i386-ieee1275.rmk: likewise
30743 * conf/i386-pc.rmk: likewise
30744 * conf/powerpc-ieee1275.rmk: likewise
30745 * conf/sparc64-ieee1275.rmk: likewise
30746
70b7f9fd 307472009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30748
30749 Fix handling of string like \"hello\" and "a
30750 b"
30751
30752 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30753 (grub_script_yylex): fix parsing of quoting, escaping and newline
30754
71c79a6b 307552009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30756
dd74360c 30757 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 30758 handling
dd74360c 30759
0644f96c 307602009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 30761
30762 * util/grub-mkconfig.in: Fix parsing of --output option.
30763
e40893c3 307642009-06-12 Pavel Roskin <proski@gnu.org>
30765
30766 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30767 genmk.rb don't need to be generated or installed.
30768
3a1acfe2 307692009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30770
30771 * commands/i386/pc/drivemap_int13h.S: add more comments
30772
3a4575d4 307732009-06-11 Pavel Roskin <proski@gnu.org>
30774
0658e928 30775 * Makefile.in (uninstall): Uninstall manuals.
30776
ca0388f0 30777 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30778 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30779 and update-grub_lib in two places.
30780 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30781
e3b27c39 30782 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30783 a compiler warning.
30784
3a4575d4 30785 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30786 `entry_lo' to fix variable shadowing.
30787
af1f4f55 307882009-06-11 Christian Franke <franke@computer.org>
30789
30790 * kern/misc.c (__enable_execute_stack): Add missing return type
30791 to prevent gcc warning.
30792
5225e649 307932009-06-11 Felix Zielcke <fzielcke@z-51.de>
30794
30795 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30796
7d83bd47 307972009-06-11 Pavel Roskin <proski@gnu.org>
30798
c1cb63ba 30799 * Makefile.in: Don't rely on any scripts being executable.
30800 Always use $(SHELL) to run shell scripts.
30801
7d83bd47 30802 * configure.ac: Always define ___main if using -nostdlib. This
30803 fixes tests on Cygwin.
30804
948f48e7 308052009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30806
30807 UDF fix
30808
7d83bd47 30809 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 30810 is in bytes and not in blocks
7d83bd47 30811
8ada9bc1 308122009-06-11 Pavel Roskin <proski@gnu.org>
30813
30814 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30815 warning.
30816
25ad2323 308172009-06-11 Felix Zielcke <fzielcke@z-51.de>
30818
30819 * util/grub.d/30_os-prober.in: Fix a comment. Source
30820 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30821 to set the root device. Place drivemap command in the generated
30822 chain entry.
30823
e65acb0c 308242009-06-11 Pavel Roskin <proski@gnu.org>
30825
30826 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30827 have long been resolved.
30828
f285fe2d 308292009-06-11 Colin Watson <cjwatson@ubuntu.com>
30830
bd47b0b5 30831 * util/grub.d/10_linux.in: Capitalise "Linux".
30832
f285fe2d 30833 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30834
a0c62e4e 308352009-06-11 Pavel Roskin <proski@gnu.org>
30836
b6783cb2 30837 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30838 fix a gcc warning and ensure that the function won't ever exit.
30839
dde032e8 30840 * kern/i386/ieee1275/init.c: Add missing prototype for
30841 grub_stop_floppy().
30842
22cd079d 30843 * loader/ieee1275/multiboot2.c [__i386__]: Include
30844 grub/cpu/multiboot.h.
30845
a0c62e4e 30846 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30847 casts to short - they are not portable and cause warnings. Fix
30848 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30849
63963d17 308502009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30851
30852 Drivemap fixes
30853
30854 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30855 new function
30856 (grub_get_root_biosnumber_saved): new variable
30857 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30858 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 30859 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 30860 %dx after the call if necessary
30861 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30862 (boot_mod_SOURCES): remove
30863 (boot_mod_CFLAGS): remove
30864 (boot_mod_LDFLAGS): remove
30865 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30866 (boot_mod_SOURCES): new variable
30867 (boot_mod_CFLAGS): likewise
30868 (boot_mod_LDFLAGS): likewise
30869 * conf/i386-efi.rmk: likewise
30870 * conf/i386-ieee1275.rmk: likewise
30871 * conf/i386-pc.rmk: likewise
30872 * conf/powerpc-ieee1275.rmk: likewise
30873 * conf/sparc64-ieee1275.rmk: likewise
30874 * conf/x86_64-efi.rmk: likewise
30875 * include/grub/i386/pc/biosnum.h: new file
30876 * lib/i386/pc/biosnum.c: likewise
30877 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30878 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30879 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 30880
33abf7ae 308812009-06-10 Pavel Roskin <proski@gnu.org>
30882
5ac35b35 30883 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30884 Use separate variables. Read only the file size at the end, but
30885 not the checksum that we don't use.
30886
5c5215d5 30887 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30888 Adjust all callers.
30889
27d5fef7 30890 * kern/ieee1275/openfw.c: Remove libc includes.
30891 * kern/ieee1275/cmain.c: Likewise.
30892 * include/grub/ieee1275/ieee1275.h: Likewise.
30893
33abf7ae 30894 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
30895 compiler warnings.
30896
19d50c2b 308972009-06-10 Felix Zielcke <fzielcke@z-51.de>
30898
30899 * Makefile.in: Remove all trailing whitespace.
30900 * conf/i386-pc.rmk: Likewise.
30901 * conf/powerpc-ieee1275.rmk: Likewise.
30902 * conf/sparc64-ieee1275.rmk: Likewise.
30903 * docs/grub.texi: Likewise.
30904 * docs/texinfo.tex: Likewise.
30905 * disk/fs_uuid.c: Likewise.
30906 * disk/lvm.c: Likewise.
30907 * disk/scsi.c: Likewise.
30908 * disk/ata.c: Likewise.
30909 * disk/ieee1275/ofdisk.c: Likewise.
30910 * disk/i386/pc/biosdisk.c: Likewise.
30911 * disk/host.c: Likewise.
30912 * disk/raid.c: Likewise.
30913 * disk/efi/efidisk.c: Likewise.
30914 * disk/usbms.c: Likewise.
30915 * disk/memdisk.c: Likewise.
30916 * disk/loopback.c: Likewise.
30917 * kern/powerpc/dl.c: Likewise.
30918 * kern/device.c: Likewise.
30919 * kern/dl.c: Likewise.
30920 * kern/sparc64/dl.c: Likewise.
30921 * kern/ieee1275/ieee1275.c: Likewise.
30922 * kern/term.c: Likewise.
30923 * kern/fs.c: Likewise.
30924 * kern/i386/dl.c: Likewise.
30925 * kern/i386/pc/startup.S: Likewise.
30926 * kern/i386/pc/init.c: Likewise.
30927 * kern/i386/pc/mmap.c: Likewise.
30928 * kern/i386/pc/lzo1x.S: Likewise.
30929 * kern/i386/ieee1275/init.c: Likewise.
30930 * kern/i386/realmode.S: Likewise.
30931 * kern/i386/tsc.c: Likewise.
30932 * kern/partition.c: Likewise.
30933 * kern/corecmd.c: Likewise.
30934 * kern/file.c: Likewise.
30935 * kern/efi/efi.c: Likewise.
30936 * kern/efi/init.c: Likewise.
30937 * kern/efi/mm.c: Likewise.
30938 * kern/main.c: Likewise.
30939 * kern/err.c: Likewise.
30940 * kern/env.c: Likewise.
30941 * kern/disk.c: Likewise.
30942 * kern/generic/millisleep.c: Likewise.
30943 * kern/generic/rtc_get_time_ms.c: Likewise.
30944 * kern/misc.c: Likewise.
30945 * kern/parser.c: Likewise.
30946 * genmk.rb: Likewise.
30947 * configure.ac: Likewise.
30948 * boot/i386/pc/diskboot.S: Likewise.
30949 * boot/i386/pc/pxeboot.S: Likewise.
30950 * boot/i386/pc/boot.S: Likewise.
30951 * boot/i386/pc/lnxboot.S: Likewise.
30952 * boot/i386/pc/cdboot.S: Likewise.
30953 * parttool/pcpart.c: Likewise.
30954 * video/readers/tga.c: Likewise.
30955 * video/video.c: Likewise.
30956 * video/bitmap.c: Likewise.
30957 * lib/envblk.c: Likewise.
30958 * lib/i386/setjmp.S: Likewise.
30959 * fs/xfs.c: Likewise.
30960 * fs/afs.c: Likewise.
30961 * fs/fat.c: Likewise.
30962 * fs/ntfs.c: Likewise.
30963 * fs/udf.c: Likewise.
30964 * fs/affs.c: Likewise.
30965 * fs/iso9660.c: Likewise.
30966 * fs/hfs.c: Likewise.
30967 * fs/fshelp.c: Likewise.
30968 * fs/ext2.c: Likewise.
30969 * fs/jfs.c: Likewise.
30970 * fs/reiserfs.c: Likewise.
30971 * fs/hfsplus.c: Likewise.
30972 * fs/minix.c: Likewise.
30973 * fs/cpio.c: Likewise.
30974 * fs/sfs.c: Likewise.
30975 * fs/ufs.c: Likewise.
30976 * efiemu/prepare.c: Likewise.
30977 * efiemu/loadcore_common.c: Likewise.
30978 * efiemu/runtime/efiemu.sh: Likewise.
30979 * efiemu/runtime/efiemu.S: Likewise.
30980 * efiemu/runtime/efiemu.c: Likewise.
30981 * efiemu/pnvram.c: Likewise.
30982 * efiemu/main.c: Likewise.
30983 * efiemu/i386/pc/cfgtables.c: Likewise.
30984 * efiemu/i386/loadcore64.c: Likewise.
30985 * efiemu/i386/loadcore32.c: Likewise.
30986 * efiemu/loadcore.c: Likewise.
30987 * efiemu/symbols.c: Likewise.
30988 * efiemu/mm.c: Likewise.
30989 * include/grub/autoefi.h: Likewise.
30990 * include/grub/datetime.h: Likewise.
30991 * include/grub/term.h: Likewise.
30992 * include/grub/hfs.h: Likewise.
30993 * include/grub/lvm.h: Likewise.
30994 * include/grub/i386/tsc.h: Likewise.
30995 * include/grub/i386/linux.h: Likewise.
30996 * include/grub/i386/xnu.h: Likewise.
30997 * include/grub/i386/efiemu.h: Likewise.
30998 * include/grub/i386/pc/biosdisk.h: Likewise.
30999 * include/grub/i386/pc/memory.h: Likewise.
31000 * include/grub/i386/pc/vbe.h: Likewise.
31001 * include/grub/parttool.h: Likewise.
31002 * include/grub/video.h: Likewise.
31003 * include/grub/memory.h: Likewise.
31004 * include/grub/fs.h: Likewise.
31005 * include/grub/partition.h: Likewise.
31006 * include/grub/xnu.h: Likewise.
31007 * include/grub/efi/api.h: Likewise.
31008 * include/grub/efi/pe32.h: Likewise.
31009 * include/grub/efi/memory.h: Likewise.
31010 * include/grub/multiboot.h: Likewise.
31011 * include/grub/usbdesc.h: Likewise.
31012 * include/grub/multiboot2.h: Likewise.
31013 * include/grub/acpi.h: Likewise.
31014 * include/grub/efiemu/efiemu.h: Likewise.
31015 * include/grub/disk.h: Likewise.
31016 * include/grub/ieee1275/ieee1275.h: Likewise.
31017 * include/grub/net.h: Likewise.
31018 * include/grub/machoload.h: Likewise.
31019 * include/grub/macho.h: Likewise.
31020 * include/multiboot.h: Likewise.
31021 * genmoddep.awk: Likewise.
31022 * normal/main.c: Likewise.
31023 * normal/menu_entry.c: Likewise.
31024 * normal/menu_viewer.c: Likewise.
31025 * normal/completion.c: Likewise.
31026 * normal/cmdline.c: Likewise.
31027 * normal/misc.c: Likewise.
31028 * normal/datetime.c: Likewise.
31029 * bus/usb/usbtrans.c: Likewise.
31030 * bus/usb/ohci.c: Likewise.
31031 * bus/usb/uhci.c: Likewise.
31032 * bus/usb/usb.c: Likewise.
31033 * mmap/efi/mmap.c: Likewise.
31034 * mmap/i386/pc/mmap_helper.S: Likewise.
31035 * mmap/i386/pc/mmap.c: Likewise.
31036 * mmap/i386/mmap.c: Likewise.
31037 * mmap/i386/uppermem.c: Likewise.
31038 * mmap/mmap.c: Likewise.
31039 * commands/acpi.c: Likewise.
31040 * commands/echo.c: Likewise.
31041 * commands/blocklist.c: Likewise.
31042 * commands/loadenv.c: Likewise.
31043 * commands/usbtest.c: Likewise.
31044 * commands/boot.c: Likewise.
31045 * commands/parttool.c: Likewise.
31046 * commands/search.c: Likewise.
31047 * commands/cat.c: Likewise.
31048 * commands/i386/pc/play.c: Likewise.
31049 * commands/i386/pc/drivemap.c: Likewise.
31050 * commands/i386/pc/vbeinfo.c: Likewise.
31051 * commands/i386/pc/acpi.c: Likewise.
31052 * commands/i386/pc/vbetest.c: Likewise.
31053 * commands/ls.c: Likewise.
31054 * commands/cmp.c: Likewise.
31055 * commands/test.c: Likewise.
31056 * commands/efi/acpi.c: Likewise.
31057 * commands/gptsync.c: Likewise.
31058 * commands/help.c: Likewise.
31059 * partmap/amiga.c: Likewise.
31060 * partmap/apple.c: Likewise.
31061 * partmap/acorn.c: Likewise.
31062 * partmap/pc.c: Likewise.
31063 * partmap/sun.c: Likewise.
31064 * partmap/gpt.c: Likewise.
31065 * script/sh/lexer.c: Likewise.
31066 * script/sh/function.c: Likewise.
31067 * font/font.c: Likewise.
31068 * font/font_cmd.c: Likewise.
31069 * loader/powerpc/ieee1275/linux.c: Likewise.
31070 * loader/efi/chainloader.c: Likewise.
31071 * loader/multiboot_loader.c: Likewise.
31072 * loader/macho.c: Likewise.
31073 * loader/i386/multiboot.c: Likewise.
31074 * loader/i386/linux.c: Likewise.
31075 * loader/i386/pc/linux.c: Likewise.
31076 * loader/i386/pc/multiboot2.c: Likewise.
31077 * loader/i386/pc/chainloader.c: Likewise.
31078 * loader/i386/pc/xnu.c: Likewise.
31079 * loader/i386/bsd_trampoline.S: Likewise.
31080 * loader/i386/efi/linux.c: Likewise.
31081 * loader/i386/multiboot_elfxx.c: Likewise.
31082 * loader/i386/bsd_helper.S: Likewise.
31083 * loader/i386/bsd.c: Likewise.
31084 * loader/i386/linux_trampoline.S: Likewise.
31085 * loader/i386/xnu_helper.S: Likewise.
31086 * loader/i386/xnu.c: Likewise.
31087 * loader/i386/bsd_pagetable.c: Likewise.
31088 * loader/i386/multiboot_helper.S: Likewise.
31089 * loader/xnu.c: Likewise.
31090 * loader/xnu_resume.c: Likewise.
31091 * io/gzio.c: Likewise.
31092 * term/efi/console.c: Likewise.
31093 * term/terminfo.c: Likewise.
31094 * term/ieee1275/ofconsole.c: Likewise.
31095 * term/i386/pc/serial.c: Likewise.
31096 * term/i386/pc/vesafb.c: Likewise.
31097 * term/i386/pc/vga.c: Likewise.
31098 * term/usb_keyboard.c: Likewise.
31099 * term/gfxterm.c: Likewise.
31100 * aclocal.m4: Likewise.
31101 * util/lvm.c: Likewise.
31102 * util/grub.d/30_os-prober.in: Likewise.
31103 * util/grub.d/10_hurd.in: Likewise.
31104 * util/console.c: Likewise.
31105 * util/grub-macho2img.c: Likewise.
31106 * util/grub-probe.c: Likewise.
31107 * util/hostfs.c: Likewise.
31108 * util/i386/pc/grub-mkimage.c: Likewise.
31109 * util/i386/pc/grub-setup.c: Likewise.
31110 * util/i386/efi/grub-mkimage.c: Likewise.
31111 * util/grub-mkconfig.in: Likewise.
31112 * util/raid.c: Likewise.
31113 * util/resolve.c: Likewise.
31114 * util/grub-mkdevicemap.c: Likewise.
31115 * util/grub-emu.c: Likewise.
31116 * util/getroot.c: Likewise.
31117 * util/hostdisk.c: Likewise.
31118 * util/usb.c: Likewise.
31119 * util/grub-editenv.c: Likewise.
31120 * util/misc.c: Likewise.
31121
d2d49665 311222009-06-10 Felix Zielcke <fzielcke@z-51.de>
31123
31124 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31125 `genparttoollist.sh'.
31126 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31127 Add `*.sh' to the list find searches for and change `mdate.sh'
31128 to `mdate-sh'.
31129
fe052e37 311302009-06-10 Pavel Roskin <proski@gnu.org>
31131
2763ac18 31132 * include/grub/multiboot2.h: Provide compatibility defines for
31133 multiboot2.h.
31134 * include/multiboot2.h: Include stdint.h only if needed, using
31135 angle brackets.
31136 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31137 grub/multiboot2.h.
31138 * loader/ieee1275/multiboot2.c: Likewise.
31139 * loader/multiboot2.c: Likewise.
31140 * loader/multiboot_loader.c: Likewise.
31141
437e6adc 31142 * configure.ac: Use -nostdlib when probing for the target. It
31143 should not be required to have libc for the target.
31144
06a6836c 31145 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31146 they fail without libc headers for the target.
31147 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31148 exports.
31149 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31150 preprocessor conditionals.
31151
fe052e37 31152 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31153 build system doesn't need to be aware of the tar.c internals.
31154
afd22553 311552009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31156
afd22553 31157 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31158
6b787c4f 311592009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31160
31161 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31162 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31163
311642009-06-09 Felix Zielcke <fzielcke@z-51.de>
31165
31166 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 31167 aren't available if ata.mod gets used.
6b787c4f 31168
473d1e45 311692009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31170
473d1e45 31171 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31172 initialising controller.
473d1e45 31173 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31174
255a27d4 311752009-06-08 Felix Zielcke <fzielcke@z-51.de>
31176
31177 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31178 to choose between ata and biosdisk module on i386-pc.
31179
473d1e45 311802009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31181
d55842d8 31182 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31183 Subclass and Programming Interface fields in terms of the 3 byte
31184 Class Code register.
31185 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31186
fa5db0b1 31187 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
31188 interface is OHCI. Add grub_dprintf for symmetry with
31189 bus/usb/uhci.c.
31190 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
31191 interface is UHCI. Add interf variable for programming
31192 interface. Print interface with class/subclass.
31193
c0947beb 31194 * bus/usb/ohci.c: Set interf with correct field.
31195
69da8877 31196 * bus/usb/uhci.c: Remove unneeded doubled lines.
31197 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
31198 Remove whitespace inside comment.
31199
9e172e30 312002009-06-08 Robert Millan <rmh.grub@aybabtu.com>
31201
31202 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
31203 as fallback an equivalent option without depth.
31204
de65ee2b 312052009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31206
31207 Not fail if unable to retrieve C/H/S on LBA disks
31208
473d1e45 31209 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 31210 if unable to retrieve C/H/S on LBA disks
31211
b57ea2c9 312122009-06-08 Pavel Roskin <proski@gnu.org>
31213
31214 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
31215 about aliasing.
31216
af361263 312172009-06-08 Felix Zielcke <fzielcke@z-51.de>
31218
31219 * Makefile.in (uninstall): Remove all $lib_DATA files.
31220
4c9ec6b3 312212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31222
31223 Bugfix: install on partitionless device
31224
31225 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
31226 is a whole disk
31227
e76fc924 312282009-06-08 Felix Zielcke <fzielcke@z-51.de>
31229
31230 * Makefile.in (uninstall): Remove all $include_DATA files.
31231
ba5a0d05 312322009-06-08 Felix Zielcke <fzielcke@z-51.de>
31233
31234 * commands/true.c: New file. Implement the true and false commands.
31235 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
31236 (true_mod_SOURCES): New variable.
31237 (true_mod_CFLAGS): Likewise.
31238 (true_mod_LDFLAGS): Likewise.
31239
c8048e32 312402009-06-05 Colin D Bennett <colin@gibibit.com>
31241
31242 Optimized font character lookup using binary search instead of linear
31243 search. Fonts now are required to have the character index ordered by
31244 code point.
31245
31246 * font/font.c (load_font_index): Verify that fonts have ordered
31247 character indices.
31248 (find_glyph): Use binary search instead of linear search to find a
31249 character in a font.
31250
408305be 312512009-06-05 Michael Scherer <misc@mandriva.org>
31252
31253 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
31254 uses case sensitive btree.
31255 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
31256 only for case insensitive filesystems.
31257
8ee1e0d9 312582009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
31259
31260 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
31261 * conf/common.rmk (search_mod_CFLAGS): likewise
31262
a9966eb1 312632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31264
473d1e45 31265 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 31266 compensate a compiler bug
31267
9e7100fb 312682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31269
473d1e45 31270 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 31271 instead of '\b'
473d1e45 31272
ede21d71 312732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31274
31275 Definitions for creating asm symbols with Apple's CC
31276
31277 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
31278 [APPLE_CC] (VARIABLE): likewise
31279
9dbf7653 312802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31281
31282 Disable lnxboot.img when compiled
31283 with Apple's CC
31284
31285 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
31286 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
31287 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
31288 [! APPLE_CC] (CODE_LENG): skip
31289 [! APPLE_CC] (setup_sects): likewise
31290 [! APPLE_CC]: skip filling
473d1e45 31291
e93cdc3d 312922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31293
31294 Address in trampolines based on 32-bit registers when compiled
31295 with Apple's CC
31296
473d1e45 31297 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 31298 for addresses
31299 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31300
6c688477 313012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31302
31303 Avoid aliases when compiling with Apple's CC for PCBIOS machine
31304
31305 * kern/misc.c [APPLE_CC] (memcpy): new function
31306 [APPLE_CC] (memmove): likewise
31307 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 31308 (memcpy): define alias conditionally on !APPLE_CC
6c688477 31309 (memset): likewise
31310 (abort): likewise
31311 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
31312 APPLE_CC are defined
31313 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
31314 (grub_assert_fail): make prototype conditional
31315
e37ffc5c 313162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31317
31318 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31319
473d1e45 31320 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31321 grub-macho2img
e37ffc5c 31322 (CLEANFILES): add grub-macho2img
31323 (grub_macho2img_SOURCES): new variable
31324 * kern/i386/pc/startup.S (bss_start): new variable
31325 (bss_end): likewise
31326 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
31327 * util/grub-macho2img.c: new file
31328
cf00df31 313292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31330
31331 Use objconv when compiling with Apple's CC
31332
31333 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
31334 (efiemu64.o): likewise
31335 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
31336 when compiling with Apple's CC
31337 (efiemu64_s.o): likewise
31338 * configure.ac: check for objconv when compiling with Apple's CC
31339 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 31340
d119a20c 313412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31342
31343 Define segment as well as section when compiling with
31344 Apple's CC
31345
31346 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
31347 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
31348 (efiemu_convert_pointer): likewise
31349 (efiemu_set_virtual_address_map): likewise
31350 (efiemu_convert_pointer): likewise
31351 (efiemu_getcrc32): likewise
31352 (init_crc32_table): likewise
31353 (reflect): likewise
31354 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31355 (GRUB_MOD_DEP): likewise
473d1e45 31356
c8600122 313572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31358
31359 Allow a compilation without -mcmodel=large
31360
31361 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31362 when compiled without -mcmodel=large
473d1e45 31363 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 31364 without -mcmodel=large
473d1e45 31365 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 31366 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 31367
e8df1d4e 313682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31369
31370 Remove nested functions in efiemu core
31371
31372 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 31373
cc6c3ac1 313742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31375
31376 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31377
31378 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31379 temporary storage
473d1e45 31380 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31381 using Apple's CC
cc6c3ac1 31382 (grub_cpu_is_tsc_supported): likewise
31383 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 31384
3e325901 313852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31386
31387 Absolute addressing through constant with Apple's cc
31388
31389 * kern/i386/pc/startup.S: Define necessary constants
31390 and address through it when using ABS with Apple's CC
31391 * boot/i386/pc/diskboot.S: likewise
31392 * boot/i386/pc/boot.S: likewise
31393 * boot/i386/pc/lnxboot.S: likewise
31394 * boot/i386/pc/cdboot.S: likewise
31395 * mmap/i386/pc/mmap_helper.S: likewise
31396 * commands/i386/pc/drivemap_int13h.S: likewise
31397
2b167a72 313982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31399
31400 Check if compiler is apple cc
31401
31402 * Makefile.in (ASFLAGS): new variable
31403 (TARGET_ASFLAGS): likewise
31404 (TARGET_MODULE_FORMAT): likewise
31405 (TARGET_APPLE_CC): likewise
31406 (OBJCONV): likewise
31407 (TARGET_IMG_CFLAGS): likewise
31408 (TARGET_CPPFLAGS): add includedir
31409 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31410 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31411 Check for linker script only if compiler isn't Apple's CC
31412 (TARGET_MODULE_FORMAT): set
31413 (TARGET_APPLE_CC): likewise
31414 (TARGET_ASFLAGS): likewise
31415 (ASFLAGS): likewise
31416 Check for objcopy only if compiler isn't Apple's CC
31417 Check for BSS symbol only if compiler isn't Apple's CC
31418 * genmk.rb: adapt nm options if we use Apple's utils
31419 * aclocal.m4 (grub_apple_cc): new test
31420 (grub_apple_target_cc): likewise
473d1e45 31421
fb14123e 314222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31423
31424 Simplify sed expressions and improve awk
31425
31426 * Makefile.in (install-local): simplify sed expression
31427 * gencmdlist.sh: likewise
31428 * genmoddep.awk: avoid adding module as a dependency of itself
31429
5b889789 314302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31431
31432 Add missing start symbols
31433
31434 * boot/i386/pc/boot.S: add start
fb14123e 31435 * boot/i386/pc/pxeboot.S: likewise
473d1e45 31436
fd2bf2e3 314372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31438
31439 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 31440
31441 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 31442 (relocate_addresses): consider both r_addend and value at offset
31443 (make_mods_section): zerofill modinfo and header
31444 (convert_elf): write prefix here
473d1e45 31445
5389763d 314462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31447
31448 Use .asciz instead of .string
31449
31450 * i386/pc/diskboot.S: use .asciz instead of .string
31451 * i386/pc/boot.S: likewise
31452 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31453 (GRUB_MOD_NAME): likewise
473d1e45 31454
3eb5ed4e 314552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31456
31457 gfxpayload support
31458
31459 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31460 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31461 (grub_video_setup): remove
31462 (grub_video_set_mode): new prototype
31463 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31464 (vid_mode): remove
31465 (linux_vesafb_res): compile only on PCBIOS
31466 (grub_linux_boot): support gfxpayload
31467 * loader/i386/pc/xnu.c (video_hook): new function
31468 (grub_xnu_set_video): support gfxpayload
31469 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31470 (DEFAULT_VIDEO_HEIGHT): likewise
31471 (DEFAULT_VIDEO_FLAGS): likewise
31472 (DEFAULT_VIDEO_MODE): new definition
31473 (video_hook): new function
31474 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 31475 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 31476 loading xnu
31477 * video/video.c (grub_video_setup): removed
473d1e45 31478 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 31479 grub_video_setup
31480
4b0e1143 314812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31482
31483 Avoid calling biosdisk in drivemap
31484
31485 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31486 (revparse_biosdisk): likewise
31487 (list_mappings): derive name from id directly
31488 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 31489
fda6cb98 314902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31491
31492 Script fixes
31493
31494 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31495 (grub_lexer_param): add tokenonhold
31496 (grub_script_create_cmdline): remove cmdline. All callers updated
31497 (grub_script_function_create): make functionname
31498 grub_script_arg. All callers updated
31499 (grub_script_execute_argument_to_string): new prototype
31500 * kern/parser.c (state_transitions): reorder
31501 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 31502 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 31503 make global
31504 (grub_script_execute_cmdline): use new format
31505 * script/sh/function.c (grub_script_function_create): make functionname
31506 grub_script_arg. All callers updated
473d1e45 31507 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 31508 (grub_script_yylex): remove
31509 (grub_script_yylex2): renamed to ...
31510 (grub_script_yylex): ...renamed
31511 parse the expressions like a${b}c
31512 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31513 (GRUB_PARSER_TOKEN_VAR): remove
31514 (GRUB_PARSER_TOKEN_NAME): likewise
31515 ("if"): declare as typeless
31516 ("while"): likewise
31517 ("function"): likewise
31518 ("else"): likewise
31519 ("then"): likewise
31520 ("fi"): likewise
31521 (text): remove
31522 (argument): likewise
31523 (script): accept empty scripts and make exit on error
31524 (arguments): use GRUB_PARSER_TOKEN_ARG
31525 (function): likewise
31526 (command): move error handling to script
31527 (menuentry): move grub_script_lexer_ref before
473d1e45 31528 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 31529 argument. All callers updated
31530
f4448a07 315312009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31532
31533 Prevent GRUB from probing floppies during boot.
31534
31535 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31536 * commands/search.c (options): Add --no-floppy.
31537 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31538 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31539 --no-floppy when searching for UUIDs.
31540
2bf5885a 315412009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31542
31543 Simplify the code duplication in commands/search.c.
31544
31545 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31546 (search_fs): ... this. Update all users.
31547
f6fd460a 315482009-06-03 Felix Zielcke <fzielcke@z-51.de>
31549
31550 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31551
cbb3c83e 315522009-05-28 Pavel Roskin <proski@gnu.org>
31553
57788cfd 31554 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31555 Remove the original symlink explicitly.
31556
cbb3c83e 31557 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31558 just one slash. That's how grub_fshelp_find_file() does it.
31559
cd0d5e30 315602009-05-26 Pavel Roskin <proski@gnu.org>
31561
f0f8bbe2 31562 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31563 to `str'.
31564
cd0d5e30 31565 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31566 possibly unused.
31567
8c2cab51 315682009-05-25 Christian Franke <franke@computer.org>
31569
31570 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31571 register.
31572 (grub_atapi_identify): Add wait after drive select.
31573 (grub_ata_identify): Do more strict status register check before
31574 calling grub_atapi_identify (). Suppress error message if status
31575 register is 0x00 after command failure. Add status register
31576 check after PIO read to avoid bogus identify due to stuck DRQ.
31577 Thanks to Pavel Roskin for testing.
31578 (grub_device_initialize): Remove unsafe status register check.
31579 Thanks to 'phcoder' for problem report and patch.
31580 Prevent sign extension in debug message.
31581
230c0ad6 315822009-05-23 Colin D Bennett <colin@gibibit.com>
31583
31584 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31585 definition file, and functions defined in `normal/menu.c' have had
31586 their prototypes moved to `include/grub/menu.h' for consistency.
31587
31588 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31589 from normal.h.
31590 (grub_menu_get_entry): Likewise.
31591 (grub_menu_get_timeout): Likewise.
31592 (grub_menu_set_timeout): Likewise.
31593 (grub_menu_execute_entry): Likewise.
31594 (grub_menu_execute_with_fallback): Likewise.
31595 (grub_menu_entry_run): Likewise.
31596
31597 * include/grub/normal.h: Re-ordered and grouped function
31598 prototypes by file that the function is defined in.
31599 (grub_menu_execute_callback): Removed; moved to menu.h.
31600 (grub_menu_get_entry): Likewise.
31601 (grub_menu_get_timeout): Likewise.
31602 (grub_menu_set_timeout): Likewise.
31603 (grub_menu_execute_entry): Likewise.
31604 (grub_menu_execute_with_fallback): Likewise.
31605 (grub_menu_entry_run): Likewise.
31606 (grub_menu_addentry): Renamed from this ...
31607 (grub_normal_add_menu_entry): ... to this.
31608
31609 * normal/main.c (grub_menu_addentry): Renamed from this ...
31610 (grub_normal_add_menu_entry): ... to this.
31611
31612 * script/sh/execute.c (grub_script_execute_menuentry): Update
31613 reference to renamed grub_menu_addentry function.
31614
861f03a5 316152009-05-23 Felix Zielcke <fzielcke@z-51.de>
31616
31617 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31618
96b1619a 316192009-05-22 Pavel Roskin <proski@gnu.org>
31620
bf6a5fb2 31621 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31622 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31623 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31624 compiling for the i386 targets, but not for the utilities.
31625
96b1619a 31626 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31627 to grub_uint8_t.
31628 (grub_root_drive): Likewise.
31629 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31630 remove alignment.
31631 (grub_root_drive): Change size to byte.
31632 (grub_start_addr): Remove.
31633 (grub_end_addr): Likewise.
31634 (grub_apm_bios_info): Likewise.
31635
b729776b 316362009-05-21 Felix Zielcke <fzielcke@z-51.de>
31637
31638 * normal/i386: Remove.
31639 * normal/powerpc: Likewise.
31640 * normal/sparc64: Likewise.
31641 * normal/x86_64: Likewise.
31642
0a15ce80 316432009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31644
31645 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 31646 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 31647 * loader/i386/xnu_helper.S: Likewise
d6da58e6 31648
33db9015 316492009-05-18 Colin D Bennett <colin@gibibit.com>
31650
d6da58e6 31651 Display error messages when parsing a Lua statement fails.
31652 Previously, executing a syntactically invalid statement like
31653 ")foo" or "bar;" would silently fail.
33db9015 31654
31655 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 31656 (grub_lua_parse_line): Improved reporting of Lua parser and
31657 execution errors.
33db9015 31658
46422c89 316592009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31660
31661 Remove -Werror which causes build to fail on some systems
31662
31663 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31664 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31665 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 31666
22f53a96 316672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31668
31669 trampoline for linux on 64-bit platform
31670
18f547ad 31671 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31672 loader/i386/efi/linux_trampoline.S
31673 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 31674 declaration
d6da58e6 31675 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31676 here
22f53a96 31677 * loader/i386/linux_trampoline.S: moved here
d6da58e6 31678 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31679 trampoline
22f53a96 31680 (jumpvector): removed
31681 (grub_linux_trampoline_start): new declaration
31682 (grub_linux_trampoline_end): likewise
31683 (grub_linux_boot): use trampoline when on 64-bit platform
31684 * loader/i386/linux.c: likewise
31685
cb5a0f40 316862009-05-16 Pavel Roskin <proski@gnu.org>
31687
31688 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31689 const to avoid a warning.
31690 (grub_lua_setenv): Likewise.
31691 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31692 lmsg to fix a warning.
31693
334f2c28 316942009-05-16 Felix Zielcke <fzielcke@z-51.de>
31695
31696 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 31697 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31698 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31699 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31700 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31701 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31702 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31703 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 31704
59e5d3ec 317052009-05-16 Felix Zielcke <fzielcke@z-51.de>
31706
31707 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31708
9d87a1ba 317092009-05-16 Bean <bean123ch@gmail.com>
31710
31711 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31712 (lua_mod_SOURCES): New variable.
31713 (lua_mod_CFLAGS): Likewise.
31714 (lua_mod_LDFLAGS): Likewise.
31715
31716 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31717 (setjmp_mod_SOURCES): New variable.
31718 (setjmp_mod_CFLAGS): Likewise.
31719 (setjmp_LDFLAGS): Likewise.
31720
31721 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31722 (setjmp_mod_SOURCES): New variable.
31723 (setjmp_mod_CFLAGS): Likewise.
31724 (setjmp_LDFLAGS): Likewise.
31725
31726 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31727 (setjmp_mod_SOURCES): New variable.
31728 (setjmp_mod_CFLAGS): Likewise.
31729 (setjmp_LDFLAGS): Likewise.
31730
31731 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31732 (setjmp_mod_SOURCES): New variable.
31733 (setjmp_mod_CFLAGS): Likewise.
31734 (setjmp_LDFLAGS): Likewise.
31735
31736 * normal/i386/setjmp.S: Moved from here ...
31737 * lib/i386/setjmp.S: ... Moved here
31738 * normal/x86_64/setjmp.S: Moved from here ...
31739 * lib/x86_64/setjmp.S: ... Moved here
31740 * normal/powerpc/setjmp.S: Moved from here ...
31741 * lib/powerpc/setjmp.S: ... Moved here
31742 * normal/sparc64/setjmp.S: Moved from here ...
31743 * lib/sparc64/setjmp.S: ... Moved here
31744
31745 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31746 returns_twice in mingw.
31747
31748 * script/lua/grub_lib.c: New file.
31749 * script/lua/grub_lib.h: Likewise.
31750 * script/lua/grub_lua.h: Likewise.
31751 * script/lua/grub_main.c: Likewise.
31752 * script/lua/lapi.c: Likewise.
31753 * script/lua/lapi.h: Likewise.
31754 * script/lua/lauxlib.c: Likewise.
31755 * script/lua/lauxlib.h: Likewise.
31756 * script/lua/lbaselib.c: Likewise.
31757 * script/lua/lcode.c: Likewise.
31758 * script/lua/lcode.h: Likewise.
31759 * script/lua/ldblib.c: Likewise.
31760 * script/lua/ldebug.c: Likewise.
31761 * script/lua/ldebug.h: Likewise.
31762 * script/lua/ldo.c: Likewise.
31763 * script/lua/ldo.h: Likewise.
31764 * script/lua/ldump.c: Likewise.
31765 * script/lua/lfunc.c: Likewise.
31766 * script/lua/lfunc.h: Likewise.
31767 * script/lua/lgc.c: Likewise.
31768 * script/lua/lgc.h: Likewise.
31769 * script/lua/linit.c: Likewise.
31770 * script/lua/liolib.c: Likewise.
31771 * script/lua/llex.c: Likewise.
31772 * script/lua/llex.h: Likewise.
31773 * script/lua/llimits.h: Likewise.
31774 * script/lua/lmathlib.c: Likewise.
31775 * script/lua/lmem.c: Likewise.
31776 * script/lua/lmem.h: Likewise.
31777 * script/lua/loadlib.c: Likewise.
31778 * script/lua/lobject.c: Likewise.
31779 * script/lua/lobject.h: Likewise.
31780 * script/lua/lopcodes.c: Likewise.
31781 * script/lua/lopcodes.h: Likewise.
31782 * script/lua/loslib.c: Likewise.
31783 * script/lua/lparser.c: Likewise.
31784 * script/lua/lparser.h: Likewise.
31785 * script/lua/lstate.c: Likewise.
31786 * script/lua/lstate.h: Likewise.
31787 * script/lua/lstring.c: Likewise.
31788 * script/lua/lstring.h: Likewise.
31789 * script/lua/lstrlib.c: Likewise.
31790 * script/lua/ltable.c: Likewise.
31791 * script/lua/ltable.h: Likewise.
31792 * script/lua/ltablib.c: Likewise.
31793 * script/lua/ltm.c: Likewise.
31794 * script/lua/ltm.h: Likewise.
31795 * script/lua/lua.h: Likewise.
31796 * script/lua/luaconf.h: Likewise.
31797 * script/lua/lualib.h: Likewise.
31798 * script/lua/lundump.c: Likewise.
31799 * script/lua/lundump.h: Likewise.
31800 * script/lua/lvm.c: Likewise.
31801 * script/lua/lvm.h: Likewise.
31802 * script/lua/lzio.c: Likewise.
31803 * script/lua/lzio.h: Likewise.
31804
5e898c9d 318052009-05-16 Bean <bean123ch@gmail.com>
31806
31807 * include/grub/kernel.h (grub_module_header_types): Add type
31808 OBJ_TYPE_CONFIG.
31809
31810 * kern/main.c (grub_load_config): New function.
31811 (grub_main): Call grub_load_config to read boot config.
31812
31813 * grub-mkimage (generate_image): New parameter config_path.
31814 (options): New option --config.
31815 (main): Parse --config option, and pass it to generate_image.
31816
cf353a47 318172009-05-14 Christian Franke <franke@computer.org>
31818
31819 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31820 This fixes build on Cygwin.
31821
3834887f 318222009-05-14 Pavel Roskin <proski@gnu.org>
31823
31824 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31825 jump. This saves two bytes, so the typical case of 2 swapped
31826 drives would fit 32 bytes.
31827
8090fc01 318282009-05-13 Pavel Roskin <proski@gnu.org>
31829
ac963883 31830 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31831 grub_uint32_t to avoid a warning.
31832
8090fc01 31833 * loader/i386/linux.c (allocate_pages): When assigning
31834 real_mode_mem, cast through grub_size_t to fix a warning. The
31835 code already makes sure that the value would fit a pointer.
31836 (grub_linux_setup_video): Cast render_target->data to
31837 grub_size_t to fix a warning.
31838
18f547ad 318392009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 31840
31841 * commands/i386/pc/drivemap.c: New file - implement drivemap
31842 command.
31843 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31844 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31845
6f6a8b28 318462009-05-13 Pavel Roskin <proski@gnu.org>
31847
31848 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31849 embedding_area_exists.
31850
15fbf4c4 318512009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31852
31853 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31854 it easier to understand / work with.
59978c8a 31855 Improve warning messages for cases where there's no embedding area,
31856 or when it is too small (or core.img too large).
15fbf4c4 31857
238e871f 318582009-05-13 Pavel Roskin <proski@gnu.org>
31859
0ab3a9a4 31860 * loader/i386/pc/multiboot2.c: Add necessary includes for
31861 grub_multiboot2_real_boot().
31862
a2c8c5f8 31863 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31864 PX record is always little-endian. We only need the lower 2
31865 bytes of the mode.
31866
faec96af 31867 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31868 facilitate code reuse.
31869 (grub_cpio_mount): Use "struct head", not a char buffer. This
31870 fixes a warning reported by gcc 4.4.
31871
238e871f 31872 * kernel/disk.c (grub_disk_read): Use void pointer for the
31873 buffer.
31874 (grub_disk_write): Use const void pointer for the buffer.
31875 Adjust all callers. Remove unnecessary casts.
31876
901d2f0c 318772009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31878
31879 * util/i386/pc/grub-install.in: Update copyright year.
31880
18f547ad 318812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 31882
31883 gptsync
31884
31885 * commands/gptsync.c: new file
31886 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31887 (gptsync_mod_SOURCES): new variable
31888 (gptsync_mod_CFLAGS): likewise
31889 (gptsync_mod_LDFLAGS): likewise
18f547ad 31890 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 31891 new definition
31892 (GRUB_PC_PARTITION_TYPE_HFS): likewise
31893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
31894 * conf/i386-ieee1275.rmk: likewise
31895 * conf/i386-pc.rmk: likewise
31896 * conf/powerpc-ieee1275.rmk: likewise
31897
b4ba690a 318982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31899
31900 Fixed grub-emu
31901
31902 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
31903 (grub_dl_ref): likewise
31904
317e1a44 319052009-05-08 Robert Millan <rmh.grub@aybabtu.com>
31906
31907 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
31908 split in two functions (one for msdos and one for gpt).
31909
041b8094 319102009-05-08 Pavel Roskin <proski@gnu.org>
31911
752473c2 31912 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
31913 not modified.
31914
041b8094 31915 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
31916 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
31917 Initialize them with -1. Add sanity check for bad1. Eliminate
31918 nerr variable.
31919
172800ce 319202009-05-08 David S. Miller <davem@davemloft.net>
31921
31922 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
31923
29aa5e81 319242009-05-06 Robert Millan <rmh.grub@aybabtu.com>
31925
31926 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 31927 existence.
29aa5e81 31928
96613b62 319292009-05-05 Felix Zielcke <fzielcke@z-51.de>
31930
31931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 31932 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 31933
eef73c8a 319342009-05-05 David S. Miller <davem@davemloft.net>
31935
31936 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
31937
119494b5 319382009-05-05 Pavel Roskin <proski@gnu.org>
31939
31940 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
31941 of grub_dl_ref() and grub_dl_unref().
31942 * commands/parttool.c: Remove preprocessor conditionals around
31943 grub_dl_ref() and grub_dl_unref().
31944 * fs/affs.c: Likewise.
31945 * fs/afs.c: Likewise.
31946 * fs/cpio.c: Likewise.
31947 * fs/ext2.c: Likewise.
31948 * fs/fat.c: Likewise.
31949 * fs/hfs.c: Likewise.
31950 * fs/hfsplus.c: Likewise.
31951 * fs/iso9660.c: Likewise.
31952 * fs/jfs.c: Likewise.
31953 * fs/minix.c: Likewise.
31954 * fs/ntfs.c: Likewise.
31955 * fs/reiserfs.c: Likewise.
31956 * fs/sfs.c: Likewise.
31957 * fs/udf.c: Likewise.
31958 * fs/ufs.c: Likewise.
31959 * fs/xfs.c: Likewise.
31960 * include/grub/dl.h: Likewise.
31961 * loader/xnu.c: Likewise.
31962
de5fd76e 319632009-05-04 Pavel Roskin <proski@gnu.org>
31964
31965 * commands/acpi.c: Remove unused variable my_mod.
31966 * partmap/amiga.c: Likewise.
31967 * partmap/apple.c: Likewise.
31968 * partmap/gpt.c: Likewise.
31969 * partmap/pc.c: Likewise.
31970 * partmap/sun.c: Likewise.
31971 * term/gfxterm.c: Likewise.
31972 * term/i386/pc/vesafb.c: Likewise.
31973 * term/i386/pc/vga.c: Likewise.
31974
983598ad 319752009-05-04 David S. Miller <davem@davemloft.net>
31976
31977 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
31978 pointer args to grub_ieee1275_get_property().
31979
8aadec43 31980 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
31981
9554b15e 31982 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
31983 devices, and do not traverse down under controller nodes.
31984
67e23c90 31985 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
31986 (grub_ofdisk_open): Use it to un-escape "," characters.
31987 * kern/disk.c (find_part_sep): New.
31988 (grub_disk_open): Use it to find the first non-escaped ','
31989 character in the disk name.
31990 * util/ieee1275/devicemap.c (escape_of_path): New.
31991 (grub_util_emit_devicemap_entry): Use it.
31992 * util/sparc64/ieee1275/grub-install.in: Update script to
31993 strip partition specifiers properly by not triggering on
31994 '\' escaped ',' characters.
31995
74bfdd2f 319962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31997
31998 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31999 to 0x300.
32000 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32001 resolutions.
32002 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32003 on documentation from Wikipedia).
32004
4241d2b1 320052009-05-04 Pavel Roskin <proski@gnu.org>
32006
32007 * disk/ata.c: Spelling fixes.
32008 * disk/raid.c: Likewise.
32009 * disk/usbms.c: Likewise.
32010 * disk/dmraid_nvidia.c: Likewise.
32011 * kern/ieee1275/openfw.c: Likewise.
32012 * kern/ieee1275/init.c: Likewise.
32013 * kern/ieee1275/cmain.c: Likewise.
32014 * boot/i386/pc/cdboot.S: Likewise.
32015 * video/readers/png.c: Likewise.
32016 * video/i386/pc/vbe.c: Likewise.
32017 * fs/udf.c: Likewise.
32018 * fs/hfs.c: Likewise.
32019 * fs/reiserfs.c: Likewise.
32020 * efiemu/runtime/efiemu.c: Likewise.
32021 * efiemu/main.c: Likewise.
32022 * efiemu/mm.c: Likewise.
32023 * include/grub/elf.h: Likewise.
32024 * include/grub/xnu.h: Likewise.
32025 * include/grub/usbdesc.h: Likewise.
32026 * include/grub/usb.h: Likewise.
32027 * include/grub/script_sh.h: Likewise.
32028 * include/grub/lib/LzmaEnc.h: Likewise.
32029 * include/grub/efiemu/efiemu.h: Likewise.
32030 * include/grub/command.h: Likewise.
32031 * normal/menu.c: Likewise.
32032 * normal/main.c: Likewise.
32033 * normal/datetime.c: Likewise.
32034 * bus/usb/uhci.c: Likewise.
32035 * mmap/i386/uppermem.c: Likewise.
32036 * mmap/mmap.c: Likewise.
32037 * commands/acpi.c: Likewise.
32038 * commands/test.c: Likewise.
32039 * partmap/apple.c: Likewise.
32040 * font/font.c: Likewise.
32041 * loader/sparc64/ieee1275/linux.c: Likewise.
32042 * loader/macho.c: Likewise.
32043 * loader/i386/bsd_trampoline.S: Likewise.
32044 * loader/i386/bsd.c: Likewise.
32045 * loader/xnu.c: Likewise.
32046 * term/i386/pc/vesafb.c: Likewise.
32047 * term/usb_keyboard.c: Likewise.
32048 * util/resolve.c: Likewise.
32049 * util/getroot.c: Likewise.
32050
0cfc0083 320512009-05-04 Felix Zielcke <fzielcke@z-51.de>
32052
32053 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32054
7c1d00cd 320552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32056
32057 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32058 build error.
32059
b01f0548 320602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32061
32062 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32063 parameter only available on BIOS.
32064
ecc3eb22 320652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32066
32067 Removed wrong semicolon in declaration
32068
32069 * grub/misc.h (grub_dprintf): remove semicolon
32070
112972a9 320712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32072
32073 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32074 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32075 is done by grub_cmd_linux() now).
32076 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32077 restore video to text mode.
32078 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32079 indicates lack of "vga=" parameter. "vga=0" is mapped to
32080 `GRUB_LINUX_VID_MODE_NORMAL'.
32081
afd5c115 320822009-05-04 Felix Zielcke <fzielcke@z-51.de>
32083
32084 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32085 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32086 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32087 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32088 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32089 `grub_script.tab.c'.
32090
32091 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32092 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32094 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32096
faa517ce 32097 * Makefile.in: Remove duplicated 2008 in Copyright line.
32098
ae0c0bdc 320992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32100
473d1e45 32101 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 32102 unconditionally.
32103 * include/grub/util/misc.h (grub_util_warn): New declaration.
32104
32105 * util/i386/pc/grub-install.in: Understand --force and pass it down
32106 to grub-setup.
32107
32108 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32109 down to setup().
32110 (setup): Improve error messages and add warnings when requested to
32111 install in odd layouts. Refuse to install using blocklists unless
32112 --force was set.
32113
18f547ad 321142009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32115
32116 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32117
6d260daa 321182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32119
32120 Updated copyright year
32121
32122 * fs/hfsplus.c: updated copyright year
18f547ad 32123
69f853f8 321242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32125
32126 HFS+ UUID
32127
18f547ad 32128 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32129 in the space previously used by unused3
32130 (grub_hfsplus_uuid): new function
32131 (grub_hfsplus_fs): added uuid field
32132
4c402e73 321332009-05-03 Pavel Roskin <proski@gnu.org>
32134
32135 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32136 suppress warnings. It's no longer needed.
32137 * disk/host.c: Likewise.
32138 * disk/ata_pthru.c: Likewise.
32139 * disk/loopback.c: Likewise.
32140 * hook/datehook.c: Likewise.
32141 * parttool/pcpart.c: Likewise.
32142 * fs/i386/pc/pxe.c: Likewise.
32143 * fs/ntfscomp.c: Likewise.
32144 * efiemu/main.c: Likewise.
32145 * mmap/mmap.c: Likewise.
32146 * commands/crc.c: Likewise.
32147 * commands/hexdump.c: Likewise.
32148 * commands/hdparm.c: Likewise.
32149 * commands/acpi.c: Likewise.
32150 * commands/echo.c: Likewise.
32151 * commands/minicmd.c: Likewise.
32152 * commands/blocklist.c: Likewise.
32153 * commands/memrw.c: Likewise.
32154 * commands/loadenv.c: Likewise.
32155 * commands/usbtest.c: Likewise.
32156 * commands/lsmmap.c: Likewise.
32157 * commands/boot.c: Likewise.
32158 * commands/parttool.c: Likewise.
32159 * commands/configfile.c: Likewise.
32160 * commands/search.c: Likewise.
32161 * commands/ieee1275/suspend.c: Likewise.
32162 * commands/cat.c: Likewise.
32163 * commands/i386/pc/pxecmd.c: Likewise.
32164 * commands/i386/pc/play.c: Likewise.
32165 * commands/i386/pc/halt.c: Likewise.
32166 * commands/i386/pc/vbeinfo.c: Likewise.
32167 * commands/i386/pc/vbetest.c: Likewise.
32168 * commands/lspci.c: Likewise.
32169 * commands/date.c: Likewise.
32170 * commands/handler.c: Likewise.
32171 * commands/ls.c: Likewise.
32172 * commands/test.c: Likewise.
32173 * commands/cmp.c: Likewise.
32174 * commands/efi/loadbios.c: Likewise.
32175 * commands/efi/fixvideo.c: Likewise.
32176 * commands/halt.c: Likewise.
32177 * commands/help.c: Likewise.
32178 * commands/reboot.c: Likewise.
32179 * hello/hello.c: Likewise.
32180 * script/sh/main.c: Likewise.
32181 * loader/xnu.c: Likewise.
32182 * term/terminfo.c: Likewise.
32183 * term/i386/pc/serial.c: Likewise.
32184 * term/usb_keyboard.c: Likewise.
32185
515b5079 321862009-05-03 David S. Miller <davem@davemloft.net>
32187
32188 * normal/menu.c: Include grub/parser.h
32189
dfc31a22 321902009-05-03 Pavel Roskin <proski@gnu.org>
32191
2fee74f1 32192 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
32193 not char*.
32194 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
32195 Suggested by Javier Martín <lordhabbit@gmail.com>
32196
dfc31a22 32197 * util/i386/pc/grub-mkrescue.in: Allow for the case when
32198 efiemu??.o doesn't exist.
32199 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
32200 copying.
32201
18f547ad 322022009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 32203
32204 FreeBSD 64-bit support
32205
18f547ad 32206 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 32207 and loader/i386/bsd_trampoline.S
32208 (bsd_mod_ASFLAGS): new variable
32209 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
32210 (FREEBSD_MODTYPE_KERNEL64): likewise
32211 (grub_bsd64_trampoline_start): likewise
32212 (grub_bsd64_trampoline_end): likewise
32213 (grub_bsd64_trampoline_selfjump): likewise
32214 (grub_bsd64_trampoline_gdt): likewise
32215 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
32216 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
32217 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
32218 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 32219 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 32220 of "attrib" member
32221 * loader/i386/bsd_pagetable.c: new file
32222 * loader/i386/bsd_trampoline.S: likewise
32223 * loader/i386/bsd.c (ALIGN_QWORD): new macro
32224 (ALIGN_VAR): likewise
32225 (entry_hi): new variable
32226 (kern_end_mdofs): likewise
32227 (is_64bit): likewise
32228 (grub_freebsd_add_meta): use ALIGN_VAR
32229 (grub_e820_mmap): new declaration
32230 (grub_freebsd_add_mmap): new function
32231 (grub_freebsd_add_meta_module): support 64 bit kernels
32232 (grub_freebsd_list_modules): use ALIGN_VAR
32233 (gdt_descriptor): new declaration
32234 (grub_freebsd_boot): support 64 bit kernels
32235 (grub_bsd_elf64_hook): new function
32236 (grub_bsd_load_elf): support elf64
32237
038c5720 322382009-05-03 Bean <bean123ch@gmail.com>
32239
32240 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
32241 after we get the result of if statement.
32242
fc45fb58 322432009-05-03 Bean <bean123ch@gmail.com>
32244
32245 * Makefile.in (enable_efiemu): New variable.
32246
32247 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
32248 set.
32249 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
32250 path.
32251 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
32252 path, add -mno-red-zone option.
32253 (efiemu64_s.o): Likewise.
32254 (efiemu64.o): Use macro $^ for source file.
32255
32256 * configure.ac (--enable-efiemu): New option.
32257
bbee0f2b 322582009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
32259
32260 xnu support
32261
32262 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
32263 (pkglib_MODULES): add xnu.mod
32264 (xnu_mod_SOURCES): new variable
32265 (xnu_mod_CFLAGS): likewise
32266 (xnu_mod_LDFLAGS): likewise
32267 (xnu_mod_ASFLAGS): likewise
32268 * conf/i386-pc.rmk: likewise
32269 * conf/x86_64-efi.rmk: likewise
7dd4a573 32270 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 32271 new declaration
32272 * include/grub/i386/macho.h: new file
32273 * include/grub/i386/xnu.h: likewise
32274 * include/grub/macho.h: likewise
32275 * include/grub/machoload.h: likewise
32276 * include/grub/x86_64/macho.h: likewise
32277 * include/grub/x86_64/xnu.h: likewise
32278 * include/grub/xnu.h: likewise
32279 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
32280 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
32281 * loader/i386/efi/xnu.c: new file
32282 * loader/i386/pc/xnu.c: likewise
32283 * loader/i386/xnu.c: likewise
32284 * loader/i386/xnu_helper.S: likewise
32285 * loader/macho.c: likewise
32286 * loader/xnu.c: likewise
32287 * loader/xnu_resume.c: likewise
32288 * util/grub-dumpdevtree: likewise
32289 * include/grub/i386/pit.h: include grub/err.h
32290 (grub_pit_wait): export
32291 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 32292
5caf964d 322932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 Efiemu
7dd4a573 32296
5caf964d 32297 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 32298 _linux_efi, linux_efi.
32299 new files in grub-emu
5caf964d 32300 new targets efiemu32.o and efiemu64.o
32301 * loader/linux_normal_efiemu.c: likewise
32302 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 32303 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 32304 files to copy
32305 * include/grub/autoefi.h: new file
7dd4a573 32306 * include/grub/i386/efiemu.h: likewise
5caf964d 32307 * include/grub/i386/pc/efiemu.h: likewise
32308 * include/grub/efi/api.h: add LL suffix when necessary
32309 new definitions relating to tables
32310 * include/grub/efiemu/efiemu.h: new file
32311 * include/grub/efiemu/runtime.h: likewise
32312 * efiemu/prepare.c: likewise
32313 * efiemu/loadcore_common.c: likewise
32314 * efiemu/loadcore64.c: likewise
32315 * efiemu/runtime/efiemu.sh: likewise
32316 * efiemu/runtime/efiemu.S: likewise
32317 * efiemu/runtime/efiemu.c: likewise
32318 * efiemu/runtime/config.h: likewise
32319 * efiemu/prepare32.c: likewise
32320 * efiemu/main.c: likewise
32321 * efiemu/modules/pnvram.c: likewise
32322 * efiemu/modules/i386: likewise
32323 * efiemu/modules/i386/pc: likewise
32324 * efiemu/modules/acpi.c: likewise
32325 * efiemu/i386/pc/cfgtables.c: likewise
32326 * efiemu/i386/loadcore64.c: likewise
32327 * efiemu/i386/loadcore32.c: likewise
32328 * efiemu/prepare64.c: likewise
32329 * efiemu/loadcore.c: likewise
32330 * efiemu/symbols.c: likewise
32331 * efiemu/mm.c: likewise
32332 * efiemu/loadcore32.c: likewise
7dd4a573 32333
323342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 32335
32336 ACPI spoofing
32337
32338 * commands/acpi.c: new file
32339 * commands/i386/pc/acpi.c: likewise
32340 * commands/efi/acpi.c: likewise
32341 * include/grub/acpi.h: likewise
32342 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
32343 (acpi_mod_SOURCES): new variable
32344 (acpi_mod_CFLAGS): likewise
32345 (acpi_mod_LDFLAGS): likewise
32346 * conf/i386-efi.rmk: likewise
32347 * conf/x86_64-efi.rmk: likewise
32348
7dd4a573 323492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 32350
32351 Missing part from mmap patch
32352
32353 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32354 (grub_mmap_unregister)
32355 (grub_mmap_free_and_unregister): use grub_mmap_register
32356
7dd4a573 323572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 32358
32359 Mmap services
32360
32361 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32362 * loader/i386/linux.c (find_mmap_size): likewise
32363 (allocate_pages): likewise
32364 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32365 (grub_fill_multiboot_mmap): likewise
32366 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32367 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32368 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32369 (OPENBSD_MMAP_RESERVED): likewise
32370 * include/grub/i386/pc/memory.h: include grub/memory.h
32371 (grub_lower_mem): removed
32372 (grub_upper_mem): likewise
32373 (GRUB_MACHINE_MEMORY_ACPI): new definition
32374 (GRUB_MACHINE_MEMORY_NVS): likewise
32375 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32376 (GRUB_MACHINE_MEMORY_HOLE): likewise
32377 (grub_machine_mmap_register): likewise
32378 (grub_machine_mmap_unregister): likewise
32379 (grub_machine_get_upper): likewise
32380 (grub_machine_get_lower): likewise
32381 (grub_machine_get_post64): likewise
32382 * include/grub/i386/efi/memory.h: new file
32383 * include/grub/x86_64/efi/memory.h: likewise
32384 * include/grub/efi/memory.h: likewise
32385 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32386 (mmap_mod_SOURCES): new variable
32387 (mmap_mod_LDFLAGS): likewise
32388 (mmap_mod_ASFLAGS): likewise
32389 * conf/i386-coreboot.rmk: likewise
32390 * conf/i386-ieee1275.rmk: likewise
32391 * conf/i386-efi.rmk: likewise
32392 * conf/x86_64-efi.rmk: likewise
32393 * include/grub/types.h (UINT_TO_PTR): new macro
32394 (PTR_TO_UINT32): likewise
32395 (PTR_TO_UINT64): likewise
32396 * include/grub/memory.h: new file
32397 * mmap/i386/pc/mmap.c: likewise
32398 * mmap/i386/pc/mmap_helper.S: likewise
32399 * mmap/i386/uppermem.c: likewise
32400 * mmap/mmap.c: likewise
32401 * mmap/efi/mmap.c: likewise
7dd4a573 32402 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 32403 grub_upper_mem
32404 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32405 (grub_upper_mem): likewise
32406 (grub_machine_init): don't use grub_upper_mem,
32407 make grub_lower_mem local
32408 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32409 grub_mmap_iterate and grub_mmap_get_upper
32410 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32411
d558e6b5 324122009-05-02 Bean <bean123ch@gmail.com>
32413
32414 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32415 script/sh/parser.y.
32416 (pkglib_MODULES): Add normal.mod and sh.mod.
32417 (normal_SOURCES): New variable.
32418 (normal_mod_CFLAGS): Likewise.
32419 (normal_mod_LDFLAGS): Likewise.
32420 (sh_mod_SOURCES): Likewise.
32421 (sh_mod_CFLAGS): Likewise.
32422 (sh_mod_LDFLAGS): Likewise.
32423
32424 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32425 script/sh/lexer.c_DEPENDENCIES.
32426 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32427 kern/rescue_reader.c and kern/rescue_parser.c.
32428 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32429 (grub_emu_SOURCES): Change source files.
32430 (pkglib_MODULES): Remove normal.mod.
32431 (normal_SOURCES): Removed.
32432 (normal_mod_CFLAGS): Likewise.
32433 (normal_mod_LDFLAGS): Likewise.
32434 * conf/i386-coreboot.rmk: Likewise.
32435 * conf/i386-efi.rmk: Likewise.
32436 * conf/i386-ieee1276.rmk: Likewise.
32437 * conf/powerpc-ieee1275.rmk: Likewise.
32438 * conf/sparc64-ieee1275.rmk: Likewise.
32439 * conf/x86_64-efi.rmk: Likewise.
32440
32441 * include/grub/command.h (grub_command_execute): New inline function.
32442
32443 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32444
32445 * include/grub/normal.h: Remove <grub/setjmp.h>.
32446 (grub_fs_module_list): Moved to normal/autofs.c.
32447 (grub_exit_env): Removed.
32448 (grub_command_execute): Likewise.
32449 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32450 parameter script.
32451 (read_command_list): New function declaration.
32452 (read_fs_list): Likewise.
32453
32454 * include/parser.h: Include <grub/reader.h>.
32455 (grub_parser_split_cmdline): Change type of getline parameter.
32456 (grub_parser): New structure.
32457 (grub_parser_class): New variable.
32458 (grub_parser_execute): New function declaration.
32459 (grub_register_rescue_parser): Likewise.
32460 (grub_parser_register): New inline function.
32461 (grub_parser_unregister): Likewise.
32462 (grub_parser_get_current): Likewise.
32463 (grub_parser_set_current): Likewise.
32464
32465 * include/grub/reader.h: New file.
32466 * kern/reader.c: Likewise.
32467 * kern/rescue_parser.c: Likewise.
32468 * kern/rescue_reader.c: Likewise.
32469 * normal/autofs.c: Likewise.
32470 * normal/dyncmd.c: Likewise.
32471
32472 * include/grub/rescue.h: Removed.
32473 * normal/command.h: Likewise.
32474
32475 * include/grub/script.h: Moved to ...
32476 * include/grub/script_sh.h: ... Moved here.
32477 * normal/execute.c: Moved to ...
32478 * script/sh/execute.c: ... Moved here.
32479 * normal/function.c: Moved to ...
32480 * script/sh/function.c: ... Moved here.
32481 * normal/lexer.c: Moved to ...
32482 * script/sh/lexer.c: ... Moved here.
32483 * normal/parser.y: Moved to ...
32484 * script/sh/parser.y: ... Moved here.
32485 * normal/script.c: Moved to ...
32486 * script/sh/script.c: ... Moved here.
32487
32488 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32489 <grub/reader.h>.
32490 (grub_exit_env): Removed.
32491 (fs_module_list): Moved to normal/autofs.c.
32492 (grub_file_getline): Don't handle comment here.
32493 (free_menu): Skip removed field entry->commands.
32494 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32495 script parameter.
32496 (read_config_file): Removed nested parameter, change getline function.
32497 (grub_enter_normal_mode): Removed.
32498 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32499 (read_command_list): Likewise.
32500 (autoload_fs_module): Moved to normal/autofs.c.
32501 (read_fs_list): Likewise.
32502 (reader_nested): New variable.
32503 (grub_normal_execute): Run parser.sh to switch to sh parser.
32504 (grub_cmd_rescue): Removed.
32505 (cmd_normal): Removed.
32506 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32507 rescue command.
32508 (grub_cmdline_run): New function.
32509 (grub_normal_reader_init): Likewise.
32510 (grub_normal_read_line): Likewise.
32511 (grub_env_write_pager): Likewise.
32512 (cmdline): New variable.
32513 (grub_normal_reader): Likewise.
32514 (GRUB_MOD_INIT): Register normal reader and set as current, register
32515 pager hook, register normal command with grub_register_command_prio,
32516 so that it won't show up in command.lst.
32517 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32518 grub_fs_autoload_hook.
32519
32520 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32521 (grub_menu_execute_entry): Replace grub_script_execute with
32522 grub_parser_execute, change parameter to grub_command_execute.
32523
32524 * normal/menu_text.c: Remove <grub/script.h>.
32525
32526 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32527 and <grub/parser.h>.
32528 (run): Change editor_getline to use new parser interface. Change
32529 parameter to grub_command_execute.
32530
32531 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32532 <grub/reader.h> and <grub/parser.h>.
32533 (grub_load_normal_mode): Execute normal command.
32534 (grub_main): Call grub_register_core_commands,
32535 grub_register_rescue_parser and grub_register_rescue_reader, use
32536 grub_reader_loop to enter input loop.
32537
7dd4a573 32538 * kern/parser.c (grub_parser_split_cmdline): Change type of
32539 getline parameter.
d558e6b5 32540 (grub_parser_class): New variable.
32541 (grub_parser_execute): New function.
32542
32543 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32544 * loader/multiboot2.c: Likewise.
32545 * loader/sparc64/ieee1275/linux.c: Likewise.
32546
32547 * util/grub-emu.c (read_command_list): New dummy function.
32548
18db813d 325492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32550
32551 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32552 count to 16 for CCISS and IDA.
32553
6c67de15 325542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32555
32556 * normal/menu_text.c (grub_wait_after_message): Print a newline
32557 after waiting for user input.
32558
32559 * loader/i386/linux.c: Include `<grub/normal.h>'.
32560 (grub_cmd_linux): Improve the error message about `ask' mode, by
32561 waiting for user input so it's not missed (we can do this, since
32562 user requested interaction).
32563
d9dc87b0 325642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32565
32566 Added missing lst to grub-mkrescue
32567
32568 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32569 and ${input_dir}/parttool.lst
32570
ac8a2baa 325712009-04-30 David S. Miller <davem@davemloft.net>
32572
ad22a610 32573 * util/hostdisk.c (device_is_wholedisk): New function.
32574 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32575 zero only if device_is_wholedisk() returns true.
32576
6966215d 32577 * util/hostdisk.c (convert_system_partition_to_system_disk):
32578 Handle virtual disk devices named /dev/vdiskX as found on sparc
32579 and powerpc.
32580
ac8a2baa 32581 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32582 lettered partition specifier is found, convert to numbered.
32583
979b4fb4 325842009-04-29 David S. Miller <davem@davemloft.net>
32585
e2bf39b2 32586 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32587 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32588
3c64e104 32589 * normal/command.c: Add missing newline at end of file.
32590
979b4fb4 32591 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32592 warnings.
32593 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32594 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32595 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32596 ihandles have a 32-bit type but need to be stored in a "void *".
32597
136d9f82 325982009-04-28 Pavel Roskin <proski@gnu.org>
32599
9459c306 32600 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32601 not disk. Adjust all dependencies.
2e08a26a 32602 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 32603 grub_disk_close().
32604
136d9f82 32605 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32606 parent's partition, don't copy it by reference, as it gets freed
32607 on close.
32608
7dd4a573 326092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 32610
32611 Preboot hooks support
32612
32613 * commands/boot.c (struct grub_preboot_t): new declaration
32614 (preboots_head): new variable
32615 (preboots_tail): likewise
32616 (grub_loader_register_preboot_hook): new function
32617 (grub_loader_unregister_preboot_hook): likewise
32618 (grub_loader_set): launch preboot hooks
32619 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32620 (grub_loader_register_preboot_hook): new declaration
32621 (grub_loader_unregister_preboot_hook): likewise
32622
5af922b5 326232009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32624
32625 Warning fix
32626
7dd4a573 32627 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 32628 calling grub_dprintf
32629
a5562c30 326302009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32631
32632 Bug and warning fixes
32633
7dd4a573 32634 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 32635 declaration
32636 * commands/test.c (test_parse): fixed bug with file tests and corrected
32637 declaration of find_file
32638
4006f85c 326392009-04-26 Pavel Roskin <proski@gnu.org>
32640
32641 * Makefile.in: Don't install empty manual pages if help2man is
32642 missing. Use help2man option for output, not shell redirection.
32643
5c77c3de 326442009-04-26 David S. Miller <davem@davemloft.net>
32645
32646 * util/grub-mkdevicemap.c (make_device_map): Add missing
32647 NESTED_FUNC_ATTR to process_device().
32648
033b10a8 326492009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 Test command
32652
32653 * commands/test.c: rewritten to use bash-like test
32654
e4343593 326552009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32656
32657 Parttool autoloading and improvements
32658
7dd4a573 32659 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 32660 (parttool.lst): new target
32661 * genmk.rb: generate parttool-*
32662 (CLEANFILES): add #{parttool}
32663 (PARTTOOLFILES): new variable
32664 * genparttoollist.sh: new file
7dd4a573 32665 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 32666 (grub_pcpart_type): likewise
32667 * commands/parttool.c (helpmsg): new variable
32668 (grub_cmd_parttool): output help if not enough arguments are supplied
32669 autoload modules
32670 (GRUB_MOD_INIT(parttool)): use helpmsg
32671
0d312500 326722009-04-24 David S. Miller <davem@davemloft.net>
32673
7dd4a573 32674 Avoiding opening same device multiple times in device iterator.
0d312500 32675
32676 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 32677 and use it to build a list of partitions in iterate_disk() and
0d312500 32678 iterate_partition().
32679
ac20caff 32680 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32681 on disk->data.
32682
0dcf7495 32683 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32684 grub_devalias_iterate() result instead of unconditional 0.
32685 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32686 Also, capture hook return value, either directly or via
32687 grub_children_iterate(), and propagate to caller.
32688 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32689 grub_children_iterate): Return value is now 'int' instead of
32690 'grub_err_t'.
32691 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32692 like a proper iterator, stopping when hooks return non-zero.
32693 (grub_devalias_iterate): Likewise.
32694
c8c08833 326952009-04-23 David S. Miller <davem@davemloft.net>
32696
32697 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32698
f01005a8 326992009-04-22 David S. Miller <davem@davemloft.net>
32700
32701 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32702 is larger than address_cells, use that value for address_cells too.
32703
4e8269da 32704 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32705 IEEE1275_MAX_PATH_LEN): Define.
32706 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32707 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32708 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32709 'devtype'. Explicitly NULL terminate devalias expansion.
32710
a1447506 32711 * util/sparc64/ieee1275/misc.c: New file.
32712 * util/sparc64/ieee1275/grub-setup.c: New file.
32713 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32714 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32715 * util/sparc64/ieee1275/grub-install.in: New file.
32716 * util/ieee1275/ofpath.c: New file.
32717 * util/ieee1275/devicemap.c: New file.
32718 * util/devicemap.c: New file.
32719 * util/deviceiter.c: New file.
32720 * kern/sparc64/ieee1275/init.c: New file.
32721 * include/grub/util/ofpath.h: New file.
32722 * include/grub/util/deviceiter.h: New file.
32723 * util/grub-mkdevicemap.c: Include deviceiter.h.
32724 Implement using grub_util_emit_devicemap_entry and
32725 grub_util_iterate_devices.
32726 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32727 util/devicemap.c into grub-mkdevicemap
32728 * conf/i386-efi.rmk: Likewise.
32729 * conf/i386-ieee1275.rmk: Likewise.
32730 * conf/i386-pc.rmk: Likewise.
32731 * conf/powerpc-ieee1275.rmk: Likewise.
32732 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32733 images and installation utilities. Build kernel as image
32734 instead of as elf binary. Use common rules as much as possible.
32735
7dd4a573 327362009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 32737
32738 Correct GPT definition
32739
7dd4a573 32740 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 32741 of "attrib" member
32742
c6c5219f 327432009-04-19 Felix Zielcke <fzielcke@z-51.de>
32744
32745 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32746
0552ff9f 327472009-04-19 David S. Miller <davem@davemloft.net>
32748
32749 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32750 (grub_rescue_cmd_linux): Rename to...
32751 (grub_cmd_linux): and fix prototype.
32752 (grub_rescue_cmd_initrd): Rename to...
32753 (grub_cmd_initrd): and fix prototype.
32754 (cmd_linux, cmd_initrd): New.
32755 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32756 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32757
d1a282fc 327582009-04-17 Pavel Roskin <proski@gnu.org>
32759
07c5039f 32760 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32761 format.
32762 (grub_ohci_transfer): Likewise.
32763
b012002d 32764 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32765
1bc09c35 32766 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32767 return without a value. Fix inconsistent indentation.
32768
e0ff9126 32769 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32770 match struct grub_fs.
32771
d1a282fc 32772 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32773 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32774 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32775 * commands/lspci.c (grub_lspci_iter): Likewise.
32776
a96df3f2 327772009-04-16 Bean <bean123ch@gmail.com>
32778
32779 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32780 value.
32781
41bb0fe9 327822009-04-15 Pavel Roskin <proski@gnu.org>
32783
32784 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32785 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32786 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32787 definitions.
32788
596c6970 327892009-04-15 Felix Zielcke <fzielcke@z-51.de>
32790
32791 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 32792 that no multiple data or metadata areas are supported and `Unknown
596c6970 32793 metadata header'.
32794
7dd4a573 327952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 32796
32797 Move loader out of the kernel
32798
32799 * kern/loader.c: moved to ...
32800 * commands/boot.c: ... moved here
32801 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32802 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32803 * include/grub/kernel.h (grub_machine_fini): export
32804 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32805 (grub_loader_set): likewise
32806 (grub_loader_unset): likewise
32807 (grub_loader_boot): likewise
32808 * conf/common.rmk: new module boot.mod
32809 (pkglib_MODULES): add boot.mod
32810 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32811 (grub_emu_SOURCES): likewise
32812 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32813 (grub_emu_SOURCES): likewise
32814 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32815 (grub_emu_SOURCES): likewise
32816 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32817 (grub_emu_SOURCES): likewise
32818 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32819 (grub_emu_SOURCES): likewise
7dd4a573 32820 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32821 (grub_emu_SOURCES): likewise
0d5d5653 32822 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 32823 (grub_emu_SOURCES): likewise
0d5d5653 32824
7dd4a573 328252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 32826
32827 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 32828
5999d619 32829 * kern/misc.c (grub_itoa): Removed function
32830 (grub_ltoa): likewise
32831 (grub_vsprintf): use grub_lltoa
32832
7dd4a573 328332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 32834
32835 Restore grub-emu
32836
32837 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32838 * conf/i386-coreboot.rmk: likewise
32839 * conf/i386-ieee1275.rmk: likewise
32840 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32841
20318222 328422009-04-15 Felix Zielcke <fzielcke@z-51.de>
32843
32844 * INSTALL: Add that `./autogen.sh' needs to be run before
32845 `./configure.'.
32846
d05f0df3 328472009-04-14 Bean <bean123ch@gmail.com>
32848
32849 * Makefile.in (pkglib_DATA): Add handler.lst.
32850 (handler.lst): New rule.
32851
32852 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32853 * conf/i386-coreboot.rmk: Likewise.
32854 * conf/i386-ieee1275.rmk: Likewise.
32855 * conf/i386-efi.rmk: Likewise.
32856 * conf/x86_64-efi.rmk: Likewise.
32857 * conf/powerpc-ieee1275.rmk: Likewise.
32858 * conf/sparc64-ieee1275.rmk: Likewise.
32859
32860 * genhandlerlist.sh: New file.
32861
32862 * genmk.rb: Add rules to generate handler.lst.
32863
32864 * include/grub/normal.h (grub_file_getline): New function definition.
32865 (read_handler_list): Likewise.
32866 (free_handler_list): Likewise.
32867
32868 * include/grub/term.h (grub_term_register_input): Add name parameter
32869 for auto generation of handler.lst.
32870 (grub_term_register_output): Likewise.
32871
32872 * normal/handler.c: New file.
32873
32874 * normal/main.c (get_line): Renamed to grub_file_getline.
32875 (read_config_file): Use the newly renamed grub_file_getline.
32876 (read_command_list): Likewise.
32877 (read_fs_list): Likewise.
32878 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32879 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32880
32881 * term/efi/console.c (grub_console_init): Add name parameter for auto
32882 generation of handler.lst.
32883 * term/gfxterm.c: Likewise.
32884 * term/i386/pc/at_keyboard.c: Likewise.
32885 * term/i386/pc/console.c: Likewise.
32886 * term/i386/pc/serial.c: Likewise.
32887 * term/i386/pc/vesafb.c: Likewise.
32888 * term/i386/pc/vga.c: Likewise.
32889 * term/i386/pc/vga_text.c: Likewise.
32890 * term/ieee1275/ofconsole.c: Likewise.
32891 * term/usb_keyboard.c: Likewise.
32892
33c846be 328932009-04-14 Bean <bean123ch@gmail.com>
32894
32895 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
32896 properly with null character.
32897
4484e01e 328982009-04-14 Felix Zielcke <fzielcke@z-51.de>
32899
32900 * configure: Remove.
32901 * config.h.in: Likewise.
f93d668e 32902 * stamp-h.in: Likewise.
4484e01e 32903 * DISTLIST: Likewise.
32904 * conf/common.mk: Likewise.
32905 * conf/i386-coreboot.mk: Likewise.
32906 * conf/i386-efi.mk: Likewise.
32907 * conf/i386-ieee1275.mk: Likewise.
32908 * conf/i386.mk: Likewise.
32909 * conf/i386-pc.mk: Likewise.
32910 * conf/powerpc-ieee1275.mk: Likewise.
32911 * conf/sparc64-ieee1275.mk: Likewise.
32912 * conf/x86_64-efi.mk: Likewise.
32913
32914 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
32915 develop on GRUB.
32916
7dd4a573 329172009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 32918 David S. Miller <davem@davemloft.net>
32919
32920 * util/hostdisk.c (make_device_name): Fix buffer length
32921 calculations.
32922
e25b5a8c 329232009-04-14 Felix Zielcke <fzielcke@z-51.de>
32924
32925 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
32926 <sys/param.h> and <sys/sysctl.h>.
32927 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
32928 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
32929 opening the device and reset them afterwards.
32930
1f1f580c 329312009-04-13 Pavel Roskin <proski@gnu.org>
32932
32933 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
32934 Reported by John Stanley <jpsinthemix@verizon.net>
32935
7ebc2d6b 329362009-04-13 Robert Millan <rmh@aybabtu.com>
32937
32938 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 32939 that name for menuentries when appropriate.
7ebc2d6b 32940
d8ba3667 329412009-04-13 Felix Zielcke <fzielcke@z-51.de>
32942
32943 * util/grub.d/10_freebsd.in: Add a missing `fi'.
32944
cba416eb 329452009-04-13 Robert Millan <rmh@aybabtu.com>
32946
32947 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
32948 to Linux, simply abort telling the user it's no longer supported.
32949
a547a745 329502009-04-13 Felix Zielcke <fzielcke@z-51.de>
32951
32952 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 32953 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 32954 `freebsd_loadenv' only when devices.hints exist.
32955
232a769c 329562009-04-13 Pavel Roskin <proski@gnu.org>
32957
32958 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
32959
c3012039 329602009-04-13 Felix Zielcke <fzielcke@z-51.de>
32961
32962 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
32963 partition number.
32964 (grub_drive): Likewise.
32965
234022fe 329662009-04-13 David S. Miller <davem@davemloft.net>
32967
32968 * kern/sparc64/ieee1275/ieee1275.c: New file.
32969 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
32970 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
32971 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
32972 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
32973 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
32974 grub_ieee1275_alloc_physmem): Declare new exported functions.
32975
d8e1836c 32976 * include/grub/sparc64/ieee1275/loader.h: New file.
32977 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32978 * include/grub/sparc64/kernel.h: Likewise.
32979 * loader/sparc64/ieee1275/linux.c: Likewise.
32980
96bd81ec 32981 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
32982 (grub_fstest_SOURCES): Likewise.
32983
6a4737e5 32984 * util/hostdisk.c (make_device_name): Do not make any assumptions
32985 about the length of drive names.
32986
1d7a72fd 32987 * kern/dl.c (grub_dl_load_file): Close file immediately when
32988 we are done using it.
32989
56bc2471 329902009-04-12 David S. Miller <davem@davemloft.net>
32991
32992 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32993 values. Noticed by Pavel Roskin.
32994
df38d0bb 32995 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32996 target compiler.
7dd4a573 32997
e382e93a 32998 * genmk.rb: Add more flexible image type specification, also
32999 pass --strip-unneeded to objcopy.
33000 * conf/i386-pc.rmk: Use *_FORMAT.
33001 * conf/i386-pc.mk: Rebuilt.
33002
f5dbbca9 33003 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33004 (OFDISK_HASH_SZ): Define.
33005 (ofdisk_hash): New hash table.
33006 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33007 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33008 instead of device phandle which is not unique.
33009
91c88b12 33010 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33011 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33012 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33013 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33014 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33015 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33016 GRUB_KERNEL_MACHINE_DATA_END): Define.
33017 (grub_kernel_image_size, grub_total_module_size): Declare.
33018
5b5d4aa5 330192009-04-12 Pavel Roskin <proski@gnu.org>
33020
7dd4a573 33021 * configure.ac: Change the logic when we check for target tools.
33022 Do it when the target is specified and it's different from the
33023 specified value of the host.
5b5d4aa5 33024
c91e1793 330252009-04-11 Felix Zielcke <fzielcke@z-51.de>
33026
33027 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33028 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33029 GNU/kFreeBSD. Check if a device is a character device. Use
33030 DIOCGMEDIASIZE to get the size.
33031 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33032 support for GNU/kFreeBSD.
33033 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33034 is a character device instead of a block device. Add support for
33035 FreeBSD device names.
33036
33037 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33038 is a character device instead of a block device.
33039
33040 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33041 is a character device instead of a block device.
33042
b1ac8644 330432009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33044
33045 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33046 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33047 FreeBSD. Check if a device is a character device. Use
33048 DIOCGMEDIASIZE to get the size.
33049 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33050 support for FreeBSD.
33051 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33052 is a character device instead of a block device. Add support for
33053 FreeBSD device names.
33054
33055 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33056 a character device instead of a block device.
33057 (grub_util_check_char_device): New function.
33058
33059 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33060 a character device instead of a block device.
33061
33062 * include/grub/util/getroot.h (grub_util_check_char_device): New
33063 prototype.
33064
a3f7515a 330652009-04-11 David S. Miller <davem@davemloft.net>
33066
33067 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33068 static libgcc.
33069 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33070 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33071 function, if present.
33072 (__bswapdi2): Likewise.
33073
0d44993d 33074 * include/grub/sparc64/ieee1275/boot.h: New file.
33075 * boot/sparc64/ieee1275/boot.S: Likewise.
33076 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33077
ed3d2bc2 33078 * kern/misc.c (grub_ltoa): New function.
33079 (grub_vsprintf): Use it to format 'long' integers.
33080
d3bfb59c 330812009-04-10 David S. Miller <davem@davemloft.net>
33082
33083 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33084 slots are of type grub_ieee1275_cell_t.
33085 (grub_nand_read): Likewise.
33086 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33087 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33088 macros are used to compare values in arg/ret block of the call.
33089 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33090 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33091 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33092 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33093 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33094 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33095 grub_ieee1275_close, grub_ieee1275_set_property,
33096 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33097 grub_ieee1275_cell_t.
33098 * kern/ieee1275/openfw.c (grub_map): Likewise.
33099 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33100 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33101
450e2238 33102 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33103 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33104 (grub_devalias_iterate): Likewise.
33105
7dd4a573 331062009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 33107
33108 UFS improvements
33109
33110 * fs/ufs.c (INODE_NBLOCKS): new definition
33111 (struct grub_ufs_dirent): added fields for non-BSD dirents
33112 (grub_ufs_get_file_block): fixed double indirect handling
33113 (grub_ufs_lookup_symlink): use more robust way to determine whether
33114 symlink is inline
33115 (grub_ufs_find_file): support for non-BSD dirents
33116 (grub_ufs_dir): support for non-BSD dirents
33117
e7e6862a 331182009-04-10 Bean <bean123ch@gnail.com>
33119
33120 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33121 attribute, otherwise the size would be wrong for i386 platform.
33122
33123 * include/grub/pci.h (grub_pci_read_word): New inline function.
33124 (grub_pci_read_byte): Likewise.
33125 (grub_pci_write): Likewise.
33126 (grub_pci_write_word): Likewise.
33127 (grub_pci_write_byte): Likewise.
33128
33129 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33130
33131 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33132 (find_framebuf): Scan pci to locate the frame buffer address.
33133
33134 * commands/efi/fixvideo.c: New file.
33135
33136 * commands/efi/loadbios.c: Likewise.
33137
33138 * commands/memrw.c: Likewise.
33139
33140 * util/grub-dumpbios.in: Likewise.
33141
33142 * conf/common.rmk (grub-dumpbios): New utility.
33143 (pkglib_MODULES): New module memrw.mod.
33144 (memrw_mod_SOURCE): New macro.
33145 (memrw_mod_CFLAGS): Likewise.
33146 (memrw_mod_LDFLAGS): Likewise.
33147
7dd4a573 33148 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33149 fixvideo.mod.
33150 (loadbios_mod_SOURCE): New macro.
33151 (loadbios_mod_CFLAGS): Likewise.
33152 (loadbios_mod_LDFLAGS): Likewise.
33153 (fixvideo_mod_SOURCE): Likewise.
33154 (fixvideo_mod_CFLAGS): Likewise.
33155 (fixvideo_mod_LDFLAGS): Likewise.
33156
7dd4a573 33157 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33158 fixvideo.mod.
33159 (loadbios_mod_SOURCE): New macro.
33160 (loadbios_mod_CFLAGS): Likewise.
33161 (loadbios_mod_LDFLAGS): Likewise.
33162 (fixvideo_mod_SOURCE): Likewise.
33163 (fixvideo_mod_CFLAGS): Likewise.
33164 (fixvideo_mod_LDFLAGS): Likewise.
33165
af63ada2 331662009-04-08 Felix Zielcke <fzielcke@z-51.de>
33167
33168 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33169
c2cdde70 331702009-04-07 David S. Miller <davem@davemloft.net>
33171
33172 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33173 support for R_SPARC_OLO10 relocations. Fix compile warning for
33174 R_SPARC_WDISP30 case.
ea3f72cf 33175 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33176
761319cf 331772009-04-06 Pavel Roskin <proski@gnu.org>
33178
1007d1f5 33179 * include/grub/misc.h (ARRAY_SIZE): New macro.
33180 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33181 New macro.
33182 * loader/i386/linux.c (allocate_pages): Use free_pages().
33183 (grub_linux_unload): Don't use free_pages().
33184 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
33185 wrong index. Treat all other modes as text modes.
33186 (grub_cmd_linux): Initialize vid_mode unconditionally to
33187 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
33188
761319cf 33189 * commands/help.c (print_command_help): Use cmd->prio, not
33190 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33191
ea761d40 331922009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 33193
ea761d40 33194 Parttool
33195
33196 * parttool/pcpart.c: new file
33197 * commands/parttool.c: likewise
33198 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
33199 (parttool_mod_SOURCES): new variable
33200 (parttool_mod_CFLAGS): likewise
33201 (parttool_mod_LDFLAGS): likewise
33202 (pcpart_mod_SOURCES): likewise
33203 (pcpart_mod_CFLAGS): likewise
33204 (pcpart_mod_LDFLAGS): likewise
7dd4a573 33205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 33206 and parttool/pcpart.c
33207 * conf/i386-efi.rmk: likewise
33208 * conf/i386-ieee1275.rmk: likewise
33209 * conf/i386-pc.rmk: likewise
33210 * conf/powerpc-ieee1275.rmk: likewise
33211 * conf/sparc64-ieee1275.rmk: likewise
33212 * conf/x86_64-ieee1275.rmk: likewise
33213
05aaebfb 332142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33215
33216 Support for mtime and further expandability of dir command
33217
33218 * include/grub/lib/datetime.h: moved to ...
7dd4a573 33219 * include/grub/datetime.h: ... moved here and added
05aaebfb 33220 declaration of grub_unixtime2datetime. All users updated
7dd4a573 33221 * include/grub/fs.h: new syntax for dir and mtime functions in
33222 struct grub_fs
05aaebfb 33223 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
33224 and GRUB_FSHELP_FLAGS_MASK
33225 * commands/ls.c (grub_ls_list_files): Write mtime in long format
33226 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
33227 (grub_ext2_mtime): new function
33228 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
33229 (grub_hfsplus_mtime): new function
33230 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
33231 (GRUB_UFS_ATTR_FILE): likewise
33232 (GRUB_UFS_ATTR_LNK): likewise
33233 (struct grub_ufs_sblock): new fields mtime
33234 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
33235 all users updated
33236 (grub_ufs_dir): mtime support
33237 (grub_ufs_mtime): new function
33238 * fs/affs.c (grub_affs_dir): use new dir syntax
33239 * fs/afs.c (grub_afs_dir): likewise
33240 * fs/cpio.c (grub_cpio_dir): likewise
33241 * fs/fat.c (grub_fat_find_dir): likewise
33242 * fs/hfs.c (grub_hfs_dir): likewise
33243 * fs/iso9660.c (grub_iso9660_dir): likewise
33244 * fs/jfs.c (grub_jfs_dir): likewise
33245 * fs/minix.c (grub_minix_dir): likewise
33246 * fs/ntfs.c (grub_ntfs_dir): likewise
33247 * fs/reiserfs.c (grub_reiserfs_dir): likewise
33248 * fs/sfs.c (grub_sfs_dir): likewise
33249 * fs/xfs.c (grub_xfs_dir): likewise
33250 * util/hostfs.c (grub_hostfs_dir): likewise
33251 * lib/datetime.c: moved to ...
33252 * normal/datetime.c: ... moved here
33253 (grub_unixtime2datetime): new function
33254 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 33255 * normal/completion.c (iterate_dir): use new dir syntax
33256 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 33257 last modification time of a volume
7dd4a573 33258 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 33259 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 33260 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 33261 (normal_mod_SOURCES): likewise
33262 (datetime_mod_SOURCES): Removed lib/datetime.c
33263 * conf/i386-efi.rmk: likewise
7dd4a573 33264 * conf/i386-ieee1275.rmk: likewise
05aaebfb 33265 * conf/i386-pc.rmk: likewise
33266 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33267 * conf/sparc64-ieee1275.rmk: likewise
33268 * conf/x86_64-efi.rmk: likewise
05aaebfb 33269
8a7e1a14 332702009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33271
33272 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 33273
33274 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 33275 on grub_fat_find_dir
33276 (grub_fat_find_dir): use grub_fat_iterate_dir
33277 (grub_fat_label): likewise
33278
04186a9c 332792009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33280
7dd4a573 33281 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 33282 and command.h
33283 remove extraneous kernel_elf_HEADERS
33284
da4c0bb6 332852009-04-04 Bean <bean123ch@gnail.com>
33286
33287 * include/grub/util/misc.h: Add dummy function fsync for mingw.
33288
33289 * util/misc.c: Likewise.
33290
54ad9555 332912009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33292
33293 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
33294 instead of grub_printf.
33295
7a6bf9f2 332962009-04-03 Robert Millan <rmh@aybabtu.com>
33297
33298 * loader/i386/linux.c (grub_linux_setup_video): Fill
33299 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
33300 values from `mode info' structure instead of hardcoded
33301 values.
33302
3fcc2083 333032009-04-01 Pavel Roskin <proski@gnu.org>
33304
33305 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
33306 unused now.
33307 * genmk.rb: Likewise.
33308 * configure.ac: Likewise.
33309
5ec9740b 333102009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
33311
33312 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
33313 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
33314
5270cec8 333152009-04-01 David S. Miller <davem@davemloft.net>
33316
33317 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 33318 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 33319 (grub_setjmp): Mark with 'returns_twice' attribute.
33320 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
33321 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
33322 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
33323
9c3dd854 333242009-04-01 Robert Millan <rmh@aybabtu.com>
33325
33326 Reapply fix from 2008-07-28 which was accidentally reverted; also
33327 perform the same fix to a similar check in same function.
33328
33329 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33330 with the same number are found, just use issue a warning with
33331 grub_dprintf(), as this error has been reported to be non-fatal.
33332
0d818b7e 333332009-03-31 Pavel Roskin <proski@gnu.org>
33334
33335 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
33336 for cross-compilation.
33337
95646d92 333382009-03-30 Robert Millan <rmh@aybabtu.com>
33339
33340 Fix i386-ieee1275 build.
33341
33342 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
33343 Remove declaration.
33344
6a003ed1 333452009-03-30 Pavel Roskin <proski@gnu.org>
33346
33347 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
33348 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33349 zero-terminated, rely only on the strlen value. Fix comparison
33350 of strings differing in length.
33351
92f33540 333522009-03-30 Robert Millan <rmh@aybabtu.com>
33353
33354 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33355 checking for abi version. Improve error messages on BIOS to notify
33356 user about `linux16' command.
33357
a8c48fd5 333582009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33359
f968172e 33360 Leak fixes
a8c48fd5 33361
f968172e 33362 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33363 in case of collision
33364 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 33365
9c323f09 333662009-03-29 Robert Millan <rmh@aybabtu.com>
33367
33368 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33369 set `vid_mode' accordingly.
33370 (grub_linux_boot): Process `vid_mode' and set video mode.
33371
ae68f423 333722009-03-29 Robert Millan <rmh@aybabtu.com>
33373
33374 * util/grub.d/10_linux.in (linux_entry): New function.
33375 Factorize generation of Linux boot entries.
33376
5709cfc4 333772009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33378
33379 Make the format of Environment Block plain text. The boot loader
33380 part is not tested well yet.
7dd4a573 33381
5709cfc4 33382 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33383 (buffer): Removed.
33384 (envblk): Likewise.
33385 (usage): Remove "info" and "clear". Add "unset". Update the
33386 description of "set", as this does not delete variables any
33387 longer.
33388 (create_envblk_file): Complete rewrite.
33389 (open_envblk_file): Likewise.
33390 (cmd_info): Removed.
33391 (cmd_list): Likewise.
33392 (cmd_set): Likewise.
33393 (cmd_clear): Likewise.
33394 (list_variables): New function.
33395 (write_envblk): Likewise.
33396 (set_variables): Likewise.
33397 (unset_variables): Likewise.
33398 (main): Complete rewrite.
33399
33400 * commands/loadenv.c (buffer): Removed.
33401 (envblk): Likewise.
33402 (open_envblk_file): New function.
33403 (read_envblk_file): Complete rewrite.
33404 (grub_cmd_load_env): Likewise.
33405 (grub_cmd_list_env): Likewise.
33406 (struct blocklist): New struct.
33407 (free_blocklists): New function.
33408 (check_blocklists): Likewise.
33409 (write_blocklists): Likewise.
33410 (grub_cmd_save_env): Complete rewrite.
33411
33412 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33413 a plain text signature.
33414 (GRUB_ENVBLK_MAXLEN): Removed.
33415 (struct grub_envblk): Complete rewrite.
33416 (grub_envblk_find): Removed.
33417 (grub_envblk_insert): Likewise.
33418 (grub_envblk_open): New prototype.
33419 (grub_envblk_set): Likewise.
33420 (grub_envblk_delete): Put const to VALUE.
33421 (grub_envblk_iterate): Put const to NAME and VALUE.
33422 (grub_envblk_close): New prototype.
33423 (grub_envblk_buffer): New inline function.
33424 (grub_envblk_size): Likewise.
33425
33426 * lib/envblk.c: Include grub/mm.h.
33427 (grub_env_find): Removed.
33428 (grub_envblk_open): New function.
33429 (grub_envblk_close): Likewise.
33430 (escaped_value_len): Likewise.
33431 (find_next_line): Likewise.
33432 (grub_envblk_insert): Removed.
33433 (grub_envblk_set): New function.
33434 (grub_envblk_delete): Complete rewrite.
33435 (grub_envblk_iterate): Likewise.
33436
a9368fd3 334372009-03-28 Robert Millan <rmh@aybabtu.com>
33438
33439 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33440 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33441 variables. Use 16-bit loader.
33442 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33443 loader.
33444 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33445 (grub_linux16_boot): ... this. Update all users.
33446 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33447 (grub_linux_boot): ... this. Update all users.
33448
33449 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33450 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33451 commands to `linux16' and `initrd16'.
33452 (GRUB_MOD_FINI(linux)): Rename to ...
33453 (GRUB_MOD_FINI(linux16)): ... this.
33454
e4dd5a7e 334552009-03-24 Pavel Roskin <proski@gnu.org>
33456
33457 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33458 not just for compilation.
33459
c04d6e05 334602009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33461
33462 Move multiboot helper out of kernel
33463
33464 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33465 `loader/i386/multiboot_helper.S'.
33466 * conf/i386-coreboot.rmk: Likewise
33467 * conf/i386-ieee1275.rmk: Likewise
33468
33469 * kern/i386/loader.S: Move multiboot helpers from here...
33470 * loader/i386/multiboot_helper.S: ...moved here
33471 * include/grub/i386/loader.h: Move declarations of multiboot
33472 helpers from here...
33473 * include/grub/i386/multiboot.h: ...moved here
33474 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33475
42a5b3fc 334762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33477
33478 * kern/env.c (grub_env_context_open): Added an argument to specify
33479 whether a new context inherits exported variables from current
33480 one. This is useful when making a sandbox to interpret a config
33481 file.
33482 All callers updated.
33483
33484 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33485
b28bbc4e 334862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33487
33488 * kern/env.c (grub_env_context_close): Fix memory leaks.
33489
f04f02e4 334902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33491
33492 * normal/main.c (grub_normal_execute): Added an argument
33493 BATCH to specify if an interactive interface should be provided
33494 after reading a config file.
33495 All callers updated.
33496 (read_command_list): Prevent being executed twice.
33497 (read_fs_list): Likewise.
33498
42a5b3fc 33499 * include/grub/normal.h (grub_normal_execute): Updated the
33500 prototype.
f04f02e4 33501
41473ac2 335022009-03-22 Pavel Roskin <proski@gno.org>
33503
fbc00b0c 33504 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33505 _start.
33506 * kern/i386/pc/startup.S: Likewise.
33507 * kern/i386/efi/startup.S: Likewise.
33508 * kern/i386/ieee1275/startup.S: Likewise.
33509 * kern/i386/coreboot/startup.S: Likewise.
33510 * kern/x86_64/efi/startup.S: Likewise.
33511
41473ac2 33512 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33513 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33514 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33515
2274cc8f 335162009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33517
33518 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33519
33520 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33521 limit detection.
33522 Use vaddr of correct segment for entry_point.
33523
b1b797cb 335242009-03-21 Bean <bean123ch@gmail.com>
33525
33526 * commands/blocklist.c: Add include file <grub/command.h>, remove
33527 <grub/normal.h> and <grub/arg.h>.
33528 (grub_cmd_blocklist): Use the new command interface.
33529 (GRUB_MOD_INIT): Likewise.
33530 (GRUB_MOD_FINI): Likewise.
33531 * commands/boot.c: Likewise.
33532 * commands/cat.c: Likewise.
33533 * commands/cmp.c: Likewise.
33534 * commands/configfile.c: Likewise.
33535 * commands/crc.c: Likewise.
33536 * commands/echo.c: Likewise.
33537 * commands/halt.c: Likewise.
33538 * commands/handler.c: Likewise.
33539 * commands/hdparm.c: Likewise.
33540 * commands/help.c: Likewise.
33541 * commands/hexdump.c: Likewise.
33542 * commands/loadenv.c: Likewise.
33543 * commands/ls.c: Likewise.
33544 * commands/lsmmap.c: Likewise.
33545 * commands/lspci.c: Likewise.
33546 * commands/loadenv.c: Likewise.
33547 * commands/read.c: Likewise.
33548 * commands/reboot.c: Likewise.
33549 * commands/search.c: Likewise.
33550 * commands/sleep.c: Likewise.
33551 * commands/test.c: Likewise.
33552 * commands/usbtest.c: Likewise.
33553 * commands/videotest.c: Likewise.
33554 * commands/i386/cpuid.c: Likewise.
33555 * commands/i386/pc/halt.c: Likewise.
33556 * commands/i386/pc/play.c: Likewise.
33557 * commands/i386/pc/pxecmd.c: Likewise.
33558 * commands/i386/pc/vbeinfo.c: Likewise.
33559 * commands/i386/pc/vbetest.c: Likewise.
33560 * commands/ieee1275/suspend.c: Likewise.
33561 * disk/loopback.c: Likewise.
33562 * font/font_cmd.c: Likewise.
33563 * hello/hello.c: Likewise.
33564 * loader/efi/appleloader.c: Likewise.
33565 * loader/efi/chainloader.c: Likewise.
33566 * loader/i386/bsd.c: Likewise.
33567 * loader/i386/efi/linux.c: Likewise.
33568 * loader/i386/ieee1275/linux.c: Likewise.
33569 * loader/i386/linux.c: Likewise.
33570 * loader/i386/pc/chainloader.c: Likewise.
33571 * loader/i386/pc/linux.c: Likewise.
33572 * loader/powerpc/ieee1275/linux.c: Likewise.
33573 * loader/multiboot_loader.c: Likewise.
33574 * term/gfxterm.c: Likewise.
33575 * term/i386/pc/serial.c: Likewise.
33576 * term/terminfo.c: Likewise.
33577
33578 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33579 * term/i386/pc/vga.c: Likewise.
33580 * video/readers/jpeg.c: Likewise.
33581 * video/readers/png.c: Likewise.
33582 * video/readers/tga.c: Likewise.
33583
33584 * util/grub-fstest (cmd_loopback): Removed.
33585 (cmd_blocklist): Likewise.
33586 (cmd_ls): Likewise.
33587 (grub_register_command): Likewise.
33588 (grub_unregister_command): Likewise.
33589 (execute_command): Use grub_command_find to locate command and execute
33590 it.
33591
33592 * include/grub/efi/chainloader.h: Removed.
33593 * loader/efi/chainloader_normal.c: Likewise.
33594 * loader/i386/bsd_normal.c: Likewise.
33595 * loader/i386/pc/chainloader_normal.c: Likewise.
33596 * loader/i386/pc/multiboot_normal.c: Likewise.
33597 * loader/linux_normal.c: Likewise.
33598 * loader/multiboot_loader_normal.c: Likewise.
33599 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33600
33601 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33602 and grub_register_command_p1.
33603
33604 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33605 kern/command.c, lib/arg.c and commands/extcmd.c.
33606 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33607 (minicmd_mod_SOURCES): New variable.
33608 (minicmd_mod_CFLAGS): Likewise.
33609 (minicmd_mod_LDFLAGS): Likewise.
33610 (extcmd_mod_SOURCES): Likewise.
33611 (extcmd_mod_CFLAGS): Likewise.
33612 (extcmd_mod_LDFLAGS): Likewise.
33613 (boot_mod_SOURCES): Removed.
33614 (boot_mod_CFLAGS): Likewise.
33615 (boot_mod_LDFLAGS): Likewise.
33616
33617 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33618 kern/corecmd.c.
33619 (kernel_img_HEADERS): Add command.h.
33620 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33621 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33622 and lib/arg.c.
33623 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33624 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33625 remove the corresponding normal mode command.
33626 (normal_mod_SOURCES): Remove normal/arg.c.
33627 * conf/i386-coreboot.rmk: Likewise.
33628 * conf/i386-efi.rmk: Likewise.
33629 * conf/i386-ieee1275.rmk: Likewise.
33630 * conf/powerpc-ieee1275.rmk: Likewise.
33631 * conf/x86_64-efi.rmk: Likewise.
33632
33633 * include/grub/arg.h: Move from here ...
33634 * include/grub/lib/arg.h: ... to here.
33635
33636 * normal/arg.c: Move from here ...
33637 * lib/arg.c: ... to here.
33638
33639 * commands/extcmd.c: New file.
33640 * commands/minicmd.c: Likewise.
33641 * include/grub/command.h: Likewise.
33642 * include/grub/extcmd.h: Likewise.
33643 * kern/command.c: Likewise.
33644 * kern/corecmd.c: Likewise.
33645
33646 * kern/list.c (grub_list_iterate): Return int instead of void.
33647 (grub_list_insert): New function.
33648 (grub_prio_list_insert): Likewise.
33649
33650 * kern/rescue.c (grub_rescue_command): Removed.
33651 (grub_rescue_command_list): Likewise.
33652 (grub_rescue_register_command): Likewise.
33653 (grub_rescue_unregister_command): Likewise.
33654 (grub_rescue_cmd_boot): Move to minicmd.c
33655 (grub_rescue_cmd_help): Likewise.
33656 (grub_rescue_cmd_info): Likewise.
33657 (grub_rescue_cmd_boot): Likewise.
33658 (grub_rescue_cmd_testload): Likewise.
33659 (grub_rescue_cmd_dump): Likewise.
33660 (grub_rescue_cmd_rmmod): Likewise.
33661 (grub_rescue_cmd_lsmod): Likewise.
33662 (grub_rescue_cmd_exit): Likewise.
33663 (grub_rescue_print_devices): Moved to corecmd.c.
33664 (grub_rescue_print_files): Likewise.
33665 (grub_rescue_cmd_ls): Likewise.
33666 (grub_rescue_cmd_insmod): Likewise.
33667 (grub_rescue_cmd_set): Likewise.
33668 (grub_rescue_cmd_unset): Likewise.
7d074e3c 33669 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 33670 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 33671 commands, remove grub_rescue_register_command calls.
b1b797cb 33672
7d074e3c 33673 * normal/command.c (grub_register_command): Removed.
b1b797cb 33674 (grub_unregister_command): Likewise.
33675 (grub_command_find): Likewise.
33676 (grub_iterate_commands): Likewise.
33677 (rescue_command): Likewise.
33678 (export_command): Moved to corecmd.c.
33679 (set_command): Removed.
33680 (unset_command): Likewise.
33681 (insmod_command): Likewise.
33682 (rmmod_command): Likewise.
33683 (lsmod_command): Likewise.
33684 (grub_command_init): Likewise.
33685
33686 * normal/completion.c (iterate_command): Use cmd->prio to check for
33687 active command.
33688 (complete_arguments): Use grub_extcmd_t structure to find options.
33689 (grub_normal_do_completion): Change function grub_iterate_commands to
33690 grub_command_iterate.
33691
33692 * normal/execute.c (grub_script_execute_cmd): No need to parse
33693 argument here.
33694
33695 * normal/main.c (grub_dyncmd_dispatcher): New function.
33696 (read_command_list): Register unload commands as dyncmd.
33697 (grub_cmd_normal): Use new command interface, register rescue,
33698 unregister normal at entry, register normal, unregister rescue at exit.
33699
33700 * include/grub/list.h (grub_list_test_t): New type.
33701 (grub_list_iterate): Return int instead of void.
33702 (grub_list_insert): New function.
33703 (GRUB_AS_NAMED_LIST_P): New macro.
33704 (GRUB_AS_PRIO_LIST): Likewise.
33705 (GRUB_AS_PRIO_LIST_P): Likewise.
33706 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33707 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33708 (grub_prio_list): New structure.
33709 (grub_prio_list_insert): New function.
33710 (grub_prio_list_remove): New inline function.
33711
33712 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33713 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33714 (GRUB_COMMAND_FLAG_MENU): Likewise.
33715 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33716 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33717 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33718 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33719 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33720 (grub_command): Likewise.
33721 (grub_register_command): Likewise.
33722 (grub_command_find): Likewise.
33723 (grub_iterate_commands): Likewise.
33724 (grub_command_init): Likewise.
33725 (grub_arg_parse): Likewise.
33726 (grub_arg_show_help): Likewise.
33727
33728 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33729 (grub_rescue_unregister_command): Likewise.
33730
33731 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33732 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33733 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33734
33735 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33736 grub_rescue_cmd_initrd.
33737 * include/grub/i386/loader.h: Likewise.
33738 * include/grub/x86_64/loader.h: Likewise.
33739
33740 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33741
1f4147aa 337422009-03-21 Bean <bean123ch@gmail.com>
33743
33744 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33745 instead of stat in mingw environment.
33746
33747 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33748
33749 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33750
33751 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33752 AC_CONFIG_LINKS.
33753
2156d5ba 337542009-03-21 Bean <bean123ch@gmail.com>
33755
33756 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33757 out of range error.
33758
177b82ca 337592009-03-18 Michel Dänzer <michel@daenzer.net>
33760
33761 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33762 checking inode flags for EXT4_EXTENTS_FLAG.
33763
14aad807 337642009-03-18 Robert Millan <rmh@aybabtu.com>
33765
33766 * loader/i386/linux.c: Include `<grub/video.h>' and
33767 `<grub/i386/pc/vbe.h>'..
33768 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33769 (grub_linux32_boot): Attempt to configure video settings with
33770 grub_linux_setup_video().
33771 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33772 to avoid grub_console_fini() which would step out of graphical mode
33773 unconditionally.
33774
8cf83a27 337752009-03-14 Robert Millan <rmh@aybabtu.com>
33776
33777 Fix build on powerpc.
33778 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33779
40164e75 337802009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33783 background image command.
33784
c58bc32a 337852009-03-12 Colin D Bennett <colin@gibibit.com>
33786
33787 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33788 (grub_gfxterm_putchar): Extract pairs of identical calls to
33789 draw_cursor out of conditional blocks.
33790
5415144a 337912009-03-11 Pavel Roskin <proski@gnu.org>
33792
33793 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33794 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33795
6394042e 337962009-03-11 Robert Millan <rmh@aybabtu.com>
33797
33798 * loader/i386/multiboot_elfxx.c
33799 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33800
b7b50e5f 338012009-03-11 Felix Zielcke <fzielcke@z-51.de>
33802
33803 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33804 `kern/handler.c'.
33805
1ca7fc96 338062009-03-11 Robert Millan <rmh@aybabtu.com>
33807
33808 * loader/i386/multiboot.c (code_size): New variable.
33809 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 33810 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 33811 4-byte alignment to MBI and others by increasing
7d074e3c 33812 `boot_loader_name_length' appropriately.
1ca7fc96 33813
33814 * loader/i386/multiboot_elfxx.c
33815 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33816
a83ea1d2 338172009-03-09 Felix Zielcke <fzielcke@z-51.de>
33818
33819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33820 `fs/ext2.c'.
33821
aa9f3bff 338222009-03-08 Robert Millan <rmh@aybabtu.com>
33823
33824 Make loader/i386/linux.c usable on i386-pc again.
33825
33826 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33827 memory to heap.
33828 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33829 `#error' stanza.
33830
d8b3b60e 338312009-03-07 Bean <bean123ch@gmail.com>
33832
33833 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33834 allocation.
33835
b362c9e9 338362009-03-06 Robert Millan <rmh@aybabtu.com>
33837
33838 Fix display issue on terminals with screen size other than 80x25
33839 (e.g. gfxterm with resolution higher than 640x480).
33840
33841 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 33842 position relative to the center of the terminal instead of relying
b362c9e9 33843 on a hardcoded offset.
33844
9304eef1 338452009-03-04 Robert Millan <rmh@aybabtu.com>
33846
33847 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33848 installed.
33849
33850 * Makefile.in (host_kernel): New variable.
33851 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33852 scripts instead of just the windows one.
33853 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33854
eabc95fb 338552009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 33856
33857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33858 `kern/handler.c'.
33859 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33860 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33861 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33863 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33864 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33865
ceb1223c 338662009-03-04 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33869 or if there's no space for the disk label and print the partition number on a
33870 invalid magic.
33871
4910684a 338722009-03-04 Felix Zielcke <fzielcke@z-51.de>
33873
33874 * util/misc.c: Include <time.h>.
33875 (grub_millisleep): New function.
33876
7e9ca17a 338772009-03-04 Bean <bean123ch@gmail.com>
33878
33879 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33880 another option -mno-red-zone.
33881
33882 * commands/handler.c: Change module description.
33883
33884 * kern/handler.c: Add missing space at the end of description line.
33885
33886 * kern/list.c: Likewise.
33887
f501677c 338882009-03-03 Robert Millan <rmh@aybabtu.com>
33889
33890 Move more components to the relocation area, and fix mbi pointer
33891 handling to use the destination rather than the origin (thanks to
33892 Vladimir Serbinenko for spotting).
33893
33894 * loader/i386/multiboot.c (mbi_dest): New variable.
33895 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
33896 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
33897 relocation area.
33898
9902d047 338992009-03-01 Bean <bean123ch@gmail.com>
33900
50fb7002 33901 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 33902 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
33903 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
33904 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
33905
33906 * loader/i386/efi/linux.c (acpi_guid): New variable.
33907 (acpi_guid): Likewise.
33908 (EBDA_SEG_ADDR): New constant.
33909 (LOW_MEM_ADDR): Likewise.
33910 (FAKE_EBDA_SEG): Likewise.
33911 (fake_bios_data): New function.
33912 (grub_linux_boot): Call fake_bios_data.
33913
71b9f361 339142009-03-01 Bean <bean123ch@gmail.com>
33915
33916 * commands/terminal.c: Removed.
33917
33918 * commands/handler.c: New file.
33919
33920 * include/grub/list.h: Likewise.
33921
33922 * include/grub/handler.h: Likewise.
33923
33924 * kern/list.c: Likewise.
33925
33926 * kern/handler.c: Likewise.
33927
33928 * kern/term.h: Include header file <grub/handler.h>.
33929 (grub_term_input): Move next field to the beginning.
33930 (grub_term_output): Likewise.
33931 (grub_term_input_class): New variable.
33932 (grub_term_output_class): Likewise.
33933 (grub_term_register_input): Changed to inline function.
33934 (grub_term_register_output): Likewise.
33935 (grub_term_unregister_input): Likewise.
33936 (grub_term_unregister_output): Likewise.
33937 (grub_term_set_current_input): Likewise.
33938 (grub_term_set_current_output): Likewise.
33939 (grub_term_get_current_input): Likewise.
33940 (grub_term_get_current_output): Likewise.
33941 (grub_term_iterate_input): Removed.
33942 (grub_term_iterate_output): Likewise.
33943
33944 * kern/term.c (grub_term_list_input): Removed.
33945 (grub_term_list_output): Likewise.
33946 (grub_term_input_class): New variable.
33947 (grub_term_output_class): Likewise.
50fb7002 33948 (grub_cur_term_input): Change variable as macro.
71b9f361 33949 (grub_cur_term_output): Likewise.
33950 (grub_term_register_input): Removed.
33951 (grub_term_register_output): Likewise.
33952 (grub_term_unregister_input): Likewise.
33953 (grub_term_unregister_output): Likewise.
33954 (grub_term_set_current_input): Likewise.
33955 (grub_term_set_current_output): Likewise.
33956 (grub_term_iterate_input): Likewise.
33957 (grub_term_iterate_output): Likewise.
33958 (grub_term_get_current_input): Likewise.
33959 (grub_term_get_current_output): Likewise.
33960
33961 * util/grub-editenv.c: Include header file <grub/handler.h>.
33962 (grub_term_get_current_input): Removed.
33963 (grub_term_get_current_output): Likewise.
33964 (grub_term_input_class): New variable.
50fb7002 33965 (grub_term_output_class): Likewise.
71b9f361 33966
33967 * util/grub-fstest.c (grub_term_get_current_input): Removed.
33968 (grub_term_get_current_output): Likewise.
33969 (grub_term_input_class): New variable.
50fb7002 33970 (grub_term_output_class): Likewise.
71b9f361 33971
33972 * util/grub-probe.c (grub_term_get_current_input): Removed.
33973 (grub_term_get_current_output): Likewise.
33974 (grub_term_input_class): New variable.
50fb7002 33975 (grub_term_output_class): Likewise.
71b9f361 33976
33977 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
33978 (grub_term_get_current_output): Likewise.
33979 (grub_term_input_class): New variable.
50fb7002 33980 (grub_term_output_class): Likewise.
71b9f361 33981
33982 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
33983 (terminal_mod_SOURCES): Likewise.
33984 (terminal_mod_CFLAGS): Likewise.
33985 (terminal_mod_LDFLAGS): Likewise.
33986
33987 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
33988 handler.c.
33989 (kernel_img_SOURCES): Add list.c and handler.c.
33990 (kernel_img_HEADERS): Add list.h and handler.h.
33991
33992 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33993 handler.c.
33994 (kernel_mod_SOURCES): Add list.c and handler.c.
33995 (kernel_mod_HEADERS): Add list.h and handler.h.
33996
33997 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33998 handler.c.
33999 (kernel_elf_SOURCES): Add list.c and handler.c.
34000 (kernel_elf_HEADERS): Add list.h and handler.h.
34001
34002 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34003 handler.c.
34004 (kernel_elf_SOURCES): Add list.c and handler.c.
34005 (kernel_elf_HEADERS): Add list.h and handler.h.
34006
34007 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34008 handler.c.
34009 (kernel_mod_SOURCES): Add list.c and handler.c.
34010 (kernel_mod_HEADERS): Add list.h and handler.h.
34011
34012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34013 handler.c.
34014 (kernel_elf_SOURCES): Add list.c and handler.c.
34015 (kernel_elf_HEADERS): Add list.h and handler.h.
34016
8a31787f 340172009-02-27 Robert Millan <rmh@aybabtu.com>
34018
34019 Factorize elf32 / elf64 code in Multiboot loader. This will
34020 prevent it from getting out of sync again.
34021
34022 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34023 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34024 grub_multiboot_load_elf64): Move from here ...
34025 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34026 grub_multiboot_load_elf): ... to here (new file).
34027
51cd3dfc 340282009-02-27 Robert Millan <rmh@aybabtu.com>
34029
34030 * util/grub.d/10_linux.in: Rename "single-user mode" to
34031 "recovery mode".
34032
6e8c9c3a 340332009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34034
34035 Don't leak in SCSI code.
34036 * disk/scsi.c (grub_scsi_close): free `scsi'.
34037
4b6bf4f9 340382009-02-27 Robert Millan <rmh@aybabtu.com>
34039
34040 * loader/i386/pc/multiboot.c: Move from here ...
34041 * loader/i386/multiboot.c: ... to here. Update all users.
34042
b9413424 340432009-02-27 Robert Millan <rmh@aybabtu.com>
34044
34045 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34046 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34047
50fb7002 340482009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34049
34050 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34051 b-tree.
34052
8cc50345 340532009-02-27 Robert Millan <rmh@aybabtu.com>
34054
34055 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34056 `0x' qualifier as 0 when base is specified as parameter).
34057
6e09b8b7 340582009-02-24 Bean <bean123ch@gmail.com>
34059
34060 * configure.ac: Check for -mcmodel=large in x86_64 target.
34061
34062 * include/grub/efi/api.h (efi_call_10): New macro.
34063 (efi_wrap_10): New function.
34064
34065 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34066 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34067 (GRUB_PE32_REL_BASED_LOW): Likewise.
34068 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34069 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34070 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34071 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34072 (GRUB_PE32_REL_BASED_REL): Likewise.
34073 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34074 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34075 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34076
34077 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34078 issue.
34079
34080 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34081 (efi_wrap_10): New function.
34082
34083 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34084
34085 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34086 MB/MBP model (NV chipset).
34087 (devdata_devs): Add devpath_5 to the list.
34088
34089 * load/i386/efi/linux.c (video_base): Remove variable.
34090 (RGB_MASK): New macro.
34091 (RGB_MAGIC): Likewise.
34092 (LINE_MIN): Likewise.
34093 (LINE_MAX): Likewise.
34094 (FBTEST_STEP): Likewise.
34095 (FBTEST_COUNT): Likewise.
34096 (fb_list): New variable.
34097 (grub_find_video_card): Remove function.
34098 (find_framebuf): New function.
34099 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34100 line length.
34101
34102 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34103 problem for x86_64.
34104
74b21bee 341052009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34106
34107 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34108
34109 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34110 coding tool name.
34111
a455f472 341122009-02-22 Robert Millan <rmh@aybabtu.com>
34113
34114 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34115 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34116 in our relocation, instead of using it directly from heap. Also
34117 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34118
6374daf3 341192009-02-21 Robert Millan <rmh@aybabtu.com>
34120
34121 Implement USB keyboard support (based on patch by Marco Gerards)
34122
34123 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34124 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34125 (usb_keyboard_mod_LDFLAGS): New variables.
34126
34127 * term/usb_keyboard.c: New file.
34128
8fa4ea70 341292009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34130
34131 Corrected wrong declaration
34132
34133 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34134
353976ac 341352009-02-14 Christian Franke <franke@computer.org>
34136
34137 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34138 (grub_lspci_iter): Print class code and programming interface byte.
34139
6aa1169b 341402009-02-14 Christian Franke <franke@computer.org>
34141
34142 * gendistlist.sh: Ignore `.svn' directories.
34143
265372ca 341442009-02-14 Felix Zielcke <fzielcke@z-51.de>
34145
34146 * fs/fat.c: Add 2009 to Copyright line.
34147
9ff516f3 341482009-02-14 Christian Franke <franke@computer.org>
34149
34150 * commands/hdparm.c: New file. Provides `hdparm' command
34151 which sends ATA commands via grub_disk_ata_pass_through ().
34152
34153 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34154
34155 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34156 and <grub/cpu/io.h> to include/grub/ata.h.
34157 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34158 (GRUB_CDROM_SECTOR_SIZE): Remove.
34159 (GRUB_ATA_*): Move to include/grub/ata.h.
34160 (GRUB_ATAPI_*): Likewise.
34161 (enum grub_ata_commands): Likewise.
34162 (enum grub_ata_timeout_milliseconds): Likewise.
34163 (struct grub_ata_device): Likewise.
34164 (grub_ata_regset): Likewise.
34165 (grub_ata_regget): Likewise.
34166 (grub_ata_regset2): Likewise.
34167 (grub_ata_regget2): Likewise.
34168 (grub_ata_check_ready): Likewise.
34169 (grub_ata_wait_not_busy): Remove static, exported in
34170 include/grub/ata.h.
34171 (grub_ata_wait_drq): Likewise.
34172 (grub_ata_pio_read): Likewise.
34173
34174 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34175 function for hdparm.mod.
34176
34177 * include/grub/ata.h: New file, contains declarations from
34178 disk/ata.c.
34179 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34180
34181 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34182 (grub_disk_ata_pass_through): New exported variable.
34183
34184 * kern/disk.c (grub_disk_ata_pass_through): New variable.
34185
772e23da 341862009-02-13 Colin D Bennett <colin@gibibit.com>
34187
34188 Support multiple fallback entries, and provide an API to support
34189 executing default+fallback menu entries. Renamed the `terminal' menu
34190 viewer to `text'.
34191
34192 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
34193 variable declaration.
34194 (grub_menu_execute_callback): New structure declaration.
34195 (grub_menu_execute_callback_t): New typedef.
34196 (grub_menu_execute_with_fallback): New function declaration.
34197 (grub_menu_get_entry): Likewise.
34198 (grub_menu_get_timeout): Likewise.
34199 (grub_menu_set_timeout): Likewise.
34200
34201 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
34202
34203 * normal/menu.c (grub_wait_after_message): Moved to
34204 `normal/menu_text.c'.
34205 (draw_border): Likewise.
34206 (print_message): Likewise.
34207 (print_entry): Likewise.
34208 (print_entries): Likewise.
34209 (grub_menu_init_page): Likewise.
34210 (get_entry_number): Likewise.
34211 (print_timeout): Likewise.
34212 (run_menu): Likewise.
34213 (grub_menu_execute_entry): Likewise.
34214 (show_text_menu): Likewise.
34215 (get_and_remove_first_entry_number): New function.
34216 (grub_menu_execute_with_fallback): Likewise.
34217 (get_entry): Renamed to ...
34218 (grub_menu_get_entry): .. this and made it global.
34219 (get_timeout): Renamed to ...
34220 (grub_menu_get_timeout): ... this and made it global.
34221 (set_timeout): Renamed to ...
34222 (grub_menu_set_timeout): ... this and made it global.
34223 (grub_normal_terminal_menu_viewer): Renamed to ...
34224 (grub_normal_text_menu_viewer): ... this.
34225
34226 * normal/menu_text.c: New file. Extracted text-menu-specific code
34227 from normal/menu.c.
34228
34229 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
34230 (normal_mod_SOURCES): Likewise.
34231
34232 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34233 (normal_mod_SOURCES): Likewise.
34234
34235 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34236 (normal_mod_SOURCES): Likewise.
34237
34238 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
34239 (normal_mod_SOURCES): Likewise.
34240
34241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34242 (normal_mod_SOURCES): Likewise.
34243
34244 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34245 (normal_mod_SOURCES): Likewise.
34246
34247 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34248 (normal_mod_SOURCES): Likewise.
34249
16ac430e 342502009-02-11 Robert Millan <rmh@aybabtu.com>
34251
34252 * util/grub.d/00_header.in: Update old reference to `font' command.
34253
06ff20fc 342542009-02-10 Felix Zielcke <fzielcke@z-51.de>
34255
34256 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
34257
34258 Based on patch from Javier Martín.
34259
96da9407 342602009-02-09 Felix Zielcke <fzielcke@z-51.de>
34261
34262 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 34263 to avoid false positives with FAT.
96da9407 34264 (grub_fstest_SOURCES): Likewise.
34265 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34269 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34270 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34271
6dca6fe4 342722009-02-09 Felix Zielcke <fzielcke@z-51.de>
34273
06ff20fc 34274 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 34275 bpb.version_specific.fat12_or_fat16.fstype and
34276 bpb.version_specific.fat32.fstype.
34277
2550c62f 342782009-02-08 Robert Millan <rmh@aybabtu.com>
34279
be110b30 34280 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 34281
56978920 342822009-02-08 Robert Millan <rmh@aybabtu.com>
34283
34284 * Makefile.in (host_os, host_cpu): New variables.
34285 (target_os): Remove. Update all users.
34286
d64399b5 342872009-02-08 Marco Gerards <marco@gnu.org>
34288
34289 * Makefile.in (enable_grub_emu_usb): New variable.
34290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
34291 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
34292 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
34293 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
34294 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
34295 `usbtest.mod' and `usbms.mod'.
34296 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
34297 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
34298 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
34299 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
34300 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
34301 variables.
34302
34303 * disk/usbms.c: New file.
34304
34305 * include/grub/usb.h: Likewise.
34306
34307 * include/grub/usbtrans.h: Likewise.
34308
34309 * include/grub/usbdesc.h: Likewise.
34310
34311 * bus/usb/usbtrans.c: Likewise.
34312
34313 * bus/usb/ohci.c: Likewise.
34314
34315 * bus/usb/uhci.c: Likewise.
34316
34317 * bus/usb/usbhub.c: Likewise.
34318
34319 * bus/usb/usb.c: Likewise.
34320
34321 * commands/usbtest.c: Likewise.
34322
34323 * util/usb.c: Likewise.
50fb7002 34324
d64399b5 34325 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34326
34327 * configure.ac: Test for libusb presence.
50fb7002 34328
d64399b5 34329 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34330
2b40d6bb 343312009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34332
34333 * kern/mm.c: Add more comments.
34334
73a4ce81 343352009-02-08 Robert Millan <rmh@aybabtu.com>
34336
34337 Patch from Javier Martín.
34338 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
34339 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
34340
f821ce59 343412009-02-08 Robert Millan <rmh@aybabtu.com>
34342
34343 * fs/cpio.c: Split tar functionality to ...
34344 * fs/tar.c: ... here (new file). Update all users.
34345
aebfc4b0 343462009-02-07 Robert Millan <rmh@aybabtu.com>
34347
34348 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34349 backward-incompatible features.
34350
34351 Based on patch from Javier Martín, with some adjustments.
34352
50fb7002 343532009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 34354
34355 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34356
0bb5115e 343572009-02-07 Robert Millan <rmh@aybabtu.com>
34358
34359 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34360 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34361 after the RAID stuff.
34362
38a0f8e7 343632009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34364
50fb7002 34365 Fixes problem when running vbetest command as reported by
38a0f8e7 34366 Vladimir Serbinenko <phcoder@gmail.com>.
34367
34368 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34369
3143cc1c 343702009-02-04 Felix Zielcke <fzielcke@z-51.de>
34371
34372 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34373 /dev/md/NpN style mdraid devices.
34374
9cba6fce 343752009-02-03 Felix Zielcke <fzielcke@z-51.de>
34376
34377 * util/unifont2pff.rb: Remove.
34378
e507a2c1 343792009-02-03 Felix Zielcke <fzielcke@z-51.de>
34380
34381 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34382 `#'.
34383
d2c2b4cd 343842009-02-03 Felix Zielcke <fzielcke@z-51.de>
34385
34386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34387 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34388 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34389 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34392 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34393
b4315fb0 343942009-02-02 Christian Franke <franke@computer.org>
34395
34396 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34397
de3aa260 343982009-02-01 Felix Zielcke <fzielcke@z-51.de>
34399
7c3ff286 34400 * INSTALL: Note that we now require at least autoconf 2.59 and
34401 that LZO is optional.
de3aa260 34402
825a182b 344032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34404
34405 Base on patch on bug #24154 created by Tomas Tintera
34406 <trosos@seznam.cz>.
34407
34408 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34409
a69ef770 344102009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34411
7c3ff286 34412 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 34413 <bero@arklinux.org>.
34414
34415 * normal/parser.y (script_init): Add missing semicolon.
34416
6fa42fa6 344172009-01-31 Colin D Bennett <colin@gibibit.com>
34418
7c3ff286 34419 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 34420 (free_menu_entry_classes): Added.
34421 (grub_normal_menu_addentry): Added class property handling.
34422 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34423 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34424
34425 * normal/menu_viewer.c: New file.
34426
34427 * normal/menu.c (run_menu_entry): Renamed to ...
34428 (grub_menu_execute_entry): ... this and made it as global.
34429 (grub_menu_run): Renamed to ...
34430 (show_text_menu): ... this and made it local.
34431 (show_text_menu): Adapt to new function names.
34432 (grub_normal_terminal_menu_viewer): New global variable.
34433
34434 * include/grub/menu.h: New file.
34435
34436 * include/grub/menu_viewer.h: New file.
34437
34438 * include/grub/normal.h: Added include to grub/menu.h.
34439 (grub_menu_entry): Moved to include/grub/menu.h.
34440 (grub_menu_entry_t): Likewise.
34441 (grub_menu): Likewise.
34442 (grub_menu_t): Likewise.
34443 (grub_normal_terminal_menu_viewer): Added.
34444 (grub_menu_execute_entry): Likewise.
34445 (grub_menu_run): Removed.
34446
34447 * DISTLIST: Added include/grub/menu.h.
34448 Added include/grub/menu_viewer.h.
34449 Added normal/menu_viewer.c.
34450
344512009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34452
34453 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34454 arglist for menutitle arguments.
34455
34456 * normal/main.c (grub_normal_menu_addentry): Likewise.
34457
34458 * normal/parser.y (menuentry): Likewise.
34459
34460 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34461
34462 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34463 (grub_script_create_cmdmenu): Likewise.
34464
34465 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34466
34467 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34468 changes.
34469
34470 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34471
34472 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34473
34474 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34475
34476 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34477
34478 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34479
34480 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34481
56192c23 344822009-01-30 Christian Franke <franke@computer.org>
34483
34484 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34485 in option help text.
34486
d72521b3 344872009-01-27 Pavel Roskin <proski@gnu.org>
34488
34489 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34490
994b5e84 344912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34492
34493 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34494
34495 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34496
34497 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34498 unregister function.
34499
6a7eab2c 345002009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34501
34502 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34503
34504 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34505
34506 * util/grub-mkfont.c (usage): Fix typo.
34507
34508 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34509
1806b56e 345102009-01-26 Daniel Mierswa <impulze@impulze.org>
34511
3fb18f09 34512 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34513
336e1fb9 34514 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34515
1806b56e 34516 * kern/misc.c (grub_strcasecmp): New function.
34517 (grub_strcasecmp): Use grub_size_t instead of int for length.
34518 Fix return value.
34519 * include/grub/misc.h: Update function prototypes.
34520
580b2a0f 345212009-01-26 Robert Millan <rmh@aybabtu.com>
34522
34523 * configure.ac: Fix cross-compilation check.
ef257b36 34524
d31c24f1 345252009-01-22 Christian Franke <franke@computer.org>
34526
34527 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34528 (precision) digit string. Allow `.format2' without `format1' (width).
34529 Limit input chars for `%s' output to `format2' if specified. This is
34530 compatible with standard printf ().
34531
3138b44c 345322009-01-22 Christian Franke <franke@computer.org>
34533
34534 * disk/ata.c (grub_ata_wait_status): Replace by ...
34535 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34536 other status bits may be invalid while BSY is asserted.
34537 (grub_ata_check_ready): New function.
34538 (grub_ata_cmd): Removed.
34539 (grub_ata_wait_drq): New function.
34540 (grub_ata_strncpy): Remove inline.
34541 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34542 and error check now done by grub_ata_wait_drq ().
34543 (grub_ata_pio_write): Likewise.
34544 (grub_atapi_identify): Set DEV before check for !BSY. Use
34545 grub_ata_wait_drq () to wait for data.
34546 (grub_ata_device_initialize): Add status register check to
34547 detect missing SATA slave devices. Add debug messages.
34548 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34549 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34550 transfer loop by grub_ata_pio_write ().
34551 (grub_ata_identify): Set DEV before check for !BSY. Use
34552 grub_ata_wait_drq () to wait for data.
ef257b36 34553 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 34554 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34555 read/write in one loop. Fix invalid command on write. Fix incomplete
34556 command on (size % batch) == 0. Add missing error check after write of
34557 last block. Add debug messages.
34558 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34559
59a64ef6 345602009-01-19 Christian Franke <franke@computer.org>
34561
34562 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34563 (GRUB_ATAPI_IREASON_*): Likewise.
34564 (grub_ata_pio_write): Fix timeout error return.
34565 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34566 (grub_atapi_wait_drq): New function.
34567 (grub_atapi_packet): New parameter `size'.
34568 Use grub_atapi_wait_drq () and direct write instead of
34569 grub_ata_pio_write ().
34570 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34571 reads the number of bytes requested by the device for each DRQ
34572 assertion.
34573 (grub_atapi_write): Remove old implementation, return not
34574 implemented instead.
34575
1cfe20b3 345762009-01-19 Christian Franke <franke@computer.org>
34577
34578 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34579 of 512 to calculate data size.
34580 (grub_scsi_read12): Likewise.
34581 (grub_scsi_write10): Likewise.
34582 (grub_scsi_write12): Likewise.
34583 (grub_scsi_read): Adjust size according to blocksize.
34584 Add checks for invalid blocksize and unaligned transfer.
34585
bee5fe5d 345862009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34587
34588 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34589
ef257b36 34590 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 34591 width glyphs.
34592
3e643f8c 345932009-01-19 Robert Millan <rmh@aybabtu.com>
34594
34595 * config.guess: Update to latest version from config git.
34596 * config.sub: Likewise.
34597
4fa80998 345982009-01-17 Felix Zielcke <fzielcke@z-51.de>
34599
34600 * Makefile.in: Change font compilation to use new grub-mkfont instead
34601 of java version.
34602
34603 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34604 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34605 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34606 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34607 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34608 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34609 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34610 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34611 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34612
7086085b 346132009-01-16 Christian Franke <franke@computer.org>
34614
34615 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34616 (enum grub_ata_timeout_milliseconds): New enum.
34617 (grub_ata_wait_status): Add parameter milliseconds.
34618 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34619 recovery from timed-out commands.
34620 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34621 return grub_errno instead of REG_ERROR.
34622 (grub_ata_pio_write): Add parameter milliseconds.
34623 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34624 Pass milliseconds to grub_ata_wait_status () and
34625 grub_ata_pio_read ().
34626 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34627 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34628 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34629 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34630 It is not suitable for device detection, because DEV bit is ignored,
34631 the command may run too long, and not all devices set the signature
34632 properly.
34633 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34634 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34635 Fix device selection, DEV bit must be set first to address the registers
34636 of the correct device.
34637 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34638 grub_ata_pio_read/write ().
34639 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34640 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34641
4a412913 346422009-01-13 Carles Pina i Estany <carles@pina.cat>
34643
34644 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34645
7795c55e 346462009-01-13 Bean <bean123ch@gmail.com>
d913988c 34647
34648 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34649
7795c55e 346502009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 34651
34652 * Makefile.in: (enable_grub_mkfont): New variable.
34653 (freetype_cflags): Likewise.
34654 (freetype_libs): Likewise.
34655
34656 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34657 (grub_mkfont_SOURCES): New variable.
34658 (grub_mkfont_CFLAGS): Likewise.
34659 (grub_mkfont_LDFLAGS): Likewise.
34660
34661 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34662 library if `--enable-grub-mkfont' is requested.
34663 (enable_grub_mkfont): New variable.
34664 (freetype_cflags): Likewise.
34665 (freetype_libs): Likewise.
34666
34667 * util/grub-mkfont.c: New file.
34668
093af1fe 346692009-01-12 Christian Franke <franke@computer.org>
34670
34671 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34672 mode check. Fix setting of compat_use[].
34673
f36cc108 346742009-01-10 Robert Millan <rmh@aybabtu.com>
34675
34676 Update a few copyright years which we forgot to do in 2008 (only for
34677 files whose changes made in 2008 were copyright-significant)
34678
34679 * Makefile.in: Add 2008 to Copyright line.
34680 * disk/ieee1275/ofdisk.c: Likewise.
34681 * disk/efi/efidisk.c: Likewise.
34682 * kern/dl.c: Likewise.
34683 * kern/sparc64/ieee1275/init.c: Likewise.
34684 * kern/mm.c: Likewise.
34685 * kern/efi/mm.c: Likewise.
34686 * boot/i386/pc/boot.S: Likewise.
34687 * genfslist.sh: Likewise.
34688 * fs/iso9660.c: Likewise.
34689 * fs/hfs.c: Likewise.
34690 * fs/jfs.c: Likewise.
34691 * fs/minix.c: Likewise.
34692 * fs/ufs.c: Likewise.
34693 * gensymlist.sh.in: Likewise.
34694 * genkernsyms.sh.in: Likewise.
34695 * include/grub/misc.h: Likewise.
34696 * include/grub/types.h: Likewise.
34697 * include/grub/symbol.h: Likewise.
34698 * include/grub/elf.h: Likewise.
34699 * include/grub/kernel.h: Likewise.
34700 * include/grub/disk.h: Likewise.
34701 * include/grub/dl.h: Likewise.
34702 * include/grub/i386/linux.h: Likewise.
34703 * include/grub/i386/pc/biosdisk.h: Likewise.
34704 * include/grub/efi/api.h: Likewise.
34705 * include/grub/efi/pe32.h: Likewise.
34706 * include/grub/util/misc.h: Likewise.
34707 * normal/execute.c: Likewise.
34708 * normal/arg.c: Likewise.
34709 * normal/completion.c: Likewise.
34710 * normal/lexer.c: Likewise.
34711 * normal/parser.y: Likewise.
34712 * normal/misc.c: Likewise.
34713 * commands/i386/pc/vbeinfo.c: Likewise.
34714 * commands/hexdump.c: Likewise.
34715 * commands/terminal.c: Likewise.
34716 * commands/ls.c: Likewise.
34717 * commands/help.c: Likewise.
34718 * partmap/pc.c: Likewise.
34719 * loader/efi/chainloader.c: Likewise.
34720 * loader/multiboot_loader.c: Likewise.
34721 * loader/i386/pc/multiboot2.c: Likewise.
34722 * term/efi/console.c: Likewise.
34723 * term/i386/pc/serial.c: Likewise.
34724 * util/lvm.c: Likewise.
34725 * util/console.c: Likewise.
34726 * util/i386/efi/grub-mkimage.c: Likewise.
34727 * util/raid.c: Likewise.
34728
7f02114b 347292009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34730
34731 * commands/videotest.c: Removed include to grub/machine/memory.h.
34732
34733 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34734 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34735 (video_mod_SOURCES): Removed.
34736 (video_mod_CFLAGS): Likewise.
34737 (video_mod_LDFLAGS): Likewise.
34738 (gfxterm_mod_SOURCES): Likewise.
34739 (gfxterm_mod_CFLAGS): Likewise.
34740 (gfxterm_mod_LDFLAGS): Likewise.
34741 (videotest_mod_SOURCES): Likewise.
34742 (videotest_mod_CFLAGS): Likewise.
34743 (videotest_mod_LDFLAGS): Likewise.
34744 (bitmap_mod_SOURCES): Likewise.
34745 (bitmap_mod_CFLAGS): Likewise.
34746 (bitmap_mod_LDFLAGS): Likewise.
34747 (tga_mod_SOURCES): Likewise.
34748 (tga_mod_CFLAGS): Likewise.
34749 (tga_mod_LDFLAGS): Likewise.
34750 (jpeg_mod_SOURCES): Likewise.
34751 (jpeg_mod_CFLAGS): Likewise.
34752 (jpeg_mod_LDFLAGS): Likewise.
34753 (png_mod_SOURCES): Likewise.
34754 (png_mod_CFLAGS): Likewise.
34755 (png_mod_LDFLAGS): Likewise.
34756
34757 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34758 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34759 (video_mod_SOURCES): Added.
34760 (video_mod_CFLAGS): Likewise.
34761 (video_mod_LDFLAGS): Likewise.
34762 (videotest_mod_SOURCES): Likewise.
34763 (videotest_mod_CFLAGS): Likewise.
34764 (videotest_mod_LDFLAGS): Likewise.
34765 (bitmap_mod_SOURCES): Likewise.
34766 (bitmap_mod_CFLAGS): Likewise.
34767 (bitmap_mod_LDFLAGS): Likewise.
34768 (tga_mod_SOURCES): Likewise.
34769 (tga_mod_CFLAGS): Likewise.
34770 (tga_mod_LDFLAGS): Likewise.
34771 (jpeg_mod_SOURCES): Likewise.
34772 (jpeg_mod_CFLAGS): Likewise.
34773 (jpeg_mod_LDFLAGS): Likewise.
34774 (png_mod_SOURCES): Likewise.
34775 (png_mod_CFLAGS): Likewise.
34776 (png_mod_LDFLAGS): Likewise.
34777 (gfxterm_mod_SOURCES): Likewise.
34778 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 34779 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 34780
34781 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34782 grub/machine/console.h.
34783
644fff97 347842009-01-04 Jerone Young <jerone@gmail.com>
34785
34786 Make on screen instructions clearer
34787
34788 Based on patch created by Jidanni <jidanni@jidanni.org>
34789
34790 * normal/menu.c: print clearer instructions on the screen
34791
1e901a75 347922009-01-02 Colin D Bennett <colin@gibibit.com>
34793
34794 New font engine.
34c44600 34795
1e901a75 34796 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34797 build system and fixed gfxterm.c to work with different sized fonts.
34798
34799 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 34800
1e901a75 34801 * configure: Re-generated.
34c44600 34802
1e901a75 34803 * DISTLIST: Removed font/manager.c.
34804 Added font/font.c.
34805 Added font/font_cmd.c.
34c44600 34806
1e901a75 34807 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34808 compilation.
34c44600 34809
1e901a75 34810 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 34811
34812 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 34813
34814 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 34815
1e901a75 34816 * normal/menu.c: Likewise.
34c44600 34817
1e901a75 34818 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34819 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 34820
1e901a75 34821 * include/grub/font.h: Replaced with new file.
34c44600 34822
1e901a75 34823 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34824 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34825 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34826 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34827 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 34828 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 34829 fg_red, fg_green, fg_blue, fg_alpha.
34830 (grub_video_adapter): Removed blit_glyph.
34c44600 34831 (grub_video_blit_glyph): Removed.
34832
1e901a75 34833 * font/manager.c: Removed file.
34c44600 34834
34835 * font/font.c: New file.
34836
1e901a75 34837 * font/font_cmd.c: Likewise.
34c44600 34838
1e901a75 34839 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 34840
1e901a75 34841 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34842 (grub_video_vbe_map_rgba): Likewise.
34843 (grub_video_vbe_unmap_color_int): Likewise.
34844 (grub_video_vbe_blit_glyph): Removed.
34845 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 34846
1e901a75 34847 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34848 (get_pixel): Likewise.
34c44600 34849 (set_pixel): Likewise.
34850
1e901a75 34851 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 34852
1e901a75 34853 * term/gfxterm.c: Adapted to new font engine.
34c44600 34854
1e901a75 34855 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 34856
1e901a75 34857 * term/i386/pc/vga.c: Likewise.
34c44600 34858
1e901a75 34859 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 34860
1e901a75 34861 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 34862
1e901a75 34863 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34864
1e901a75 34865 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34866
1e901a75 34867 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 34868
1e901a75 34869 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 34870
1e901a75 34871 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 34872
1e901a75 34873 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 34874
1e901a75 34875 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34876
34877 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 34878
1e901a75 34879 * util/grub-mkconfig_lib.in: Changed font extension.
34880
278922e8 348812008-12-28 Felix Zielcke <fzielcke@z-51.de>
34882
34883 * util/getroot.c (grub_util_get_grub_dev): Add support for
34884 /dev/md/dNNpNN style partitionable mdraid devices.
34885
3ced05cf 348862008-12-12 Alex Smith <alex@alex-smith.me.uk>
34887
34888 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
34889 at a time limit of the PXE TFTP API correctly.
34890 (grub_pxefs_close): Likewise.
34891
7fd0ee30 348922008-11-29 Robert Millan <rmh@aybabtu.com>
34893
34c44600 34894 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 34895 grub_ata_device_initialize() calls.
34896
34c44600 348972008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 34898
34899 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
34900 iteration failed.
34901 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
34902
89313780 349032008-11-28 Robert Millan <rmh@aybabtu.com>
34904
34905 Fix build on powerpc-ieee1275. Based on patch created by
34906 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
34907 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34908 `kern/ieee1275/mmap.c'.
34909 * include/grub/powerpc/ieee1275/memory.h: New file.
34910
15257703 34911 Provide grub-install on coreboot.
34912 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
34913 (grub_install_SOURCES): New variable.
34914 * util/i386/pc/grub-install.in: Add a few condition checks to make it
34915 usable on coreboot.
34916
9fc5388a 349172008-11-25 Felix Zielcke <fzielcke@z-51.de>
34918
34919 * util/grub-fstest.c (grub_term_get_current_input): Change return type
34920 to `grub_term_input_t'.
34921 (grub_term_get_current_output): Change return type to
34922 `grub_term_output_t'.
34923
bc3a2f31 349242008-11-22 Robert Millan <rmh@aybabtu.com>
34925
34c44600 34926 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 34927 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
34928 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
34929 grub_vga_text_cls().
34930
80fc88f2 34931 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 34932 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 34933
cbf36fd3 34934 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
34935 to 0x200000 (avoids trouble with some OFW implementations, and matches
34936 with the one in Yaboot).
34937 Reported by Manoel Abranches
34938
73e8e268 349392008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 34940
34941 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
34942 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
34943
73e8e268 34944 * util/grub-mkconfig_lib.in (grub_warn): New function.
34945 (convert_system_path_to_grub_path): Use grub_warn() when issuing
34946 warnings, to obtain consistent formatting.
34947 * util/grub.d/00_header.in: Likewise.
34948 * util/update-grub_lib.in: Likewise.
34949
e94045a1 34950 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 34951 Move comment text to `#error' stanza.
e94045a1 34952
79d29fd7 34953 Harmonize ieee1275's grub_available_iterate() with the generic
34954 grub_machine_mmap_iterate() interface (fixes a recently-introduced
34955 build problem on i386-ieee1275):
34956 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
34957 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
34958 parameter `type'. Update all users of this function.
34959 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34960 `kern/ieee1275/mmap.c'.
34961 * kern/ieee1275/init.c
34962 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
34963 with ...
34964 (grub_machine_mmap_iterate): ... this.
34965 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
34966 return type to `grub_err_t'. Update all implementations of this
34967 function prototype.
34968 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
34969 Likewise.
34970
60d6b16e 34971 Add `lsmmap' command (lists firmware-provided memory map):
34972 * commands/lsmmap.c: New file.
34973 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
34974 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
34975 variables.
34976 * conf/powerpc-ieee1275.rmk: Likewise.
34977 * conf/i386-coreboot.rmk: Likewise.
34978 * conf/i386-ieee1275.rmk: Likewise.
34979
ebaaf49b 349802008-11-19 Robert Millan <rmh@aybabtu.com>
34981
34982 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 34983 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
34984 constraints to initrd allocation (based on code from
34985 loader/i386/pc/linux.c). Without them, initrd was allocated too high
34986 for Linux to find it.
ebaaf49b 34987
dfab719f 349882008-11-14 Robert Millan <rmh@aybabtu.com>
34989
34990 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
34991 order to cope with duplicate slashes.
34992
10fc3eb9 349932008-11-14 Robert Millan <rmh@aybabtu.com>
34994
34995 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34996 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34997 don't want to mess with lower memory, because it is used in the Linux
34998 loader.
34999
35000 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35001 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35002 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35003 is in our heap (probably as a result of it being corrupted during
2f2a3442 35004 decompression). Add #error instance with comment to explain why this
35005 loader isn't currently usable on PC/BIOS.
10fc3eb9 35006
e2e07847 350072008-11-14 Robert Millan <rmh@aybabtu.com>
35008
35009 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35010 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35011
fe8e8d69 350122008-11-12 Robert Millan <rmh@aybabtu.com>
35013
35014 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35015
35016 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35017 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35018 from here ...
35019 * include/grub/i386/pc/memory.h: ... to here.
35020
976b07d0 350212008-11-12 Robert Millan <rmh@aybabtu.com>
35022
35023 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35024 split).
35025
35026 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35027 (grub_console_cur_color, grub_console_real_putchar)
35028 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35029 (grub_console_setcolorstate, grub_console_setcolor)
35030 (grub_console_getcolor): Move from here ...
35031 * include/grub/i386/vga_common.h: ... to here (new file).
35032
35033 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35034 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35035 `<grub/i386/io.h>'.
35036 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35037 `<grub/i386/vga_common.h>'.
35038
76679cd3 350392008-11-12 Robert Millan <rmh@aybabtu.com>
35040
35041 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35042 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35043 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35044 variables.
35045 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35046 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35047
35048 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35049 grub_console_init() with call to grub_vga_text_init().
35050 (grub_machine_fini): Replace call to
35051 grub_console_fini() with call to grub_vga_text_fini() and
35052 grub_at_keyboard_fini().
35053
35054 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35055 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35056 (grub_console_setcolorstate, grub_console_setcolor)
35057 (grub_console_getcolor): New function prototypes.
35058
35059 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35060 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35061 (grub_vga_text_setcursor): Static-ize.
35062 (grub_vga_text_term): New structure.
35063 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35064
35065 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35066 (grub_console_cur_color, grub_console_standard_color)
35067 (grub_console_normal_color, grub_console_highlight_color)
35068 (map_char, grub_console_putchar, grub_console_getcharwidth)
35069 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35070 (grub_console_getcolor): Move from here ...
35071 * term/i386/vga_common.c: ... to here (same function names).
35072
95b841d3 350732008-11-12 Robert Millan <rmh@aybabtu.com>
35074
35075 Use newly-added Multiboot support in coreboot.
35076
35077 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35078 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35079
35080 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35081 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35082 (codestart): Store the MBI in `startup_multiboot_info' when we're
35083 being loaded using Multiboot.
35084
35085 * kern/i386/coreboot/init.c (grub_machine_init): Move
35086 grub_at_keyboard_init() call to beginning of function (useful for
35087 debugging). Call grub_machine_mmap_init() before attempting to use
35088 grub_machine_mmap_iterate().
35089 (grub_lower_mem, grub_upper_mem): Move from here ...
35090 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35091 here (new file).
35092
35093 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35094 function prototype.
35095
761ca975 350962008-11-12 Robert Millan <rmh@aybabtu.com>
35097
35098 Fix a regression introduced by the at_keyboard.mod split. Because
35099 some terminals are default on some platforms and non-default on
35100 others, the first terminal being registered determines which is
35101 going to be default.
35102
35103 * kern/term.c (grub_term_register_input): If this is the first
35104 terminal being registered, set it as the current one.
35105 (grub_term_register_output): Likewise.
35106
35107 * term/efi/console.c (grub_console_init): Do not call
35108 grub_term_set_current_output() or grub_term_set_current_input().
35109 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35110 * term/i386/pc/console.c (grub_console_init): Likewise.
35111 (grub_console_fini): Do not call grub_term_set_current_input()
35112 (but leave grub_term_set_current_output() to restore text mode).
35113
6c529df7 351142008-11-10 Robert Millan <rmh@aybabtu.com>
35115
35116 * util/grub.d/00_header.in: Add backward compatibility check for
35117 versions of terminal.mod that don't understand `terminal_input' or
35118 `terminal_output'.
35119
132e4113 351202008-11-09 Robert Millan <rmh@aybabtu.com>
35121
35122 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35123 `terminal_input' / `terminal_output', not `terminal'.
35124
ac293d50 351252008-11-08 Robert Millan <rmh@aybabtu.com>
35126
35127 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35128 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35129
0025933a 351302008-11-08 Robert Millan <rmh@aybabtu.com>
35131
35132 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35133 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 35134 members. Update all users.
35135 * util/console.c (grub_ncurses_term): Split in ...
35136 (grub_ncurses_term_input): ... this, and ...
35137 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 35138 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35139
37c86336 351402008-11-08 Robert Millan <rmh@aybabtu.com>
35141
35142 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35143 (PKGDATA): Add $(pkgdata_SRCDIR).
35144 (pkglib_BUILDDIR): New variable.
35145 (pkgdata_SRCDIR): New variable.
35146 (build_env.mk): New target.
35147 (include_DATA): New variable.
35148 (install-local): Install $(include_DATA) files in $(includedir).
35149
b6c15a2d 351502008-11-07 Pavel Roskin <proski@gnu.org>
35151
d99d46f1 35152 * gendistlist.sh: Use C locale for sorting to ensure consistent
35153 output on all systems.
35154
b6c15a2d 35155 * util/grub.d/00_header.in: Remove incorrect space before
35156 "serial".
35157
c32ee8c9 351582008-11-07 Robert Millan <rmh@aybabtu.com>
35159
35160 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35161 per specification.
35162 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35163 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35164 (based on find_multi_boot1_header).
35165 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35166 using find_multi_boot2_header(), and abort if neither Multiboot or
35167 Multiboot headers were found.
35168
651c29b7 351692008-11-07 Robert Millan <rmh@aybabtu.com>
35170
35171 Modularize at_keyboard.mod:
35172
35173 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35174 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35175 (at_keyboard_mod_LDFLAGS): New variables.
35176
35177 Actual terminal split:
35178
35179 * include/grub/term.h (struct grub_term): Split in ...
35180 (struct grub_term_input): ... this, and ...
35181 (struct grub_term_output): ... this. Update all users.
35182 (grub_term_set_current): Split in ...
35183 (grub_term_set_current_input): ... this, and ...
35184 (grub_term_set_current_output): ... this.
35185 (grub_term_get_current): Split in ...
35186 (grub_term_get_current_input): ... this, and ...
35187 (grub_term_get_current_output): ... this.
35188 (grub_term_register): Split in ...
35189 (grub_term_register_input): ... this, and ...
35190 (grub_term_register_output): ... this.
35191 (grub_term_unregister): Split in ...
35192 (grub_term_unregister_input): ... this, and ...
35193 (grub_term_unregister_output): ... this.
35194 (grub_term_iterate): Split in ...
35195 (grub_term_iterate_input): ... this, and ...
35196 (grub_term_iterate_output): ... this.
35197
35198 * kern/term.c (grub_term_list): Split in ...
35199 (grub_term_list_input): ... this, and ...
35200 (grub_term_list_output): ... this. Update all users.
35201 (grub_cur_term): Split in ...
35202 (grub_cur_term_input): ... this, and ...
35203 (grub_cur_term_output): ... this. Update all users.
35204 (grub_term_set_current): Split in ...
35205 (grub_term_set_current_input): ... this, and ...
35206 (grub_term_set_current_output): ... this.
35207 (grub_term_get_current): Split in ...
35208 (grub_term_get_current_input): ... this, and ...
35209 (grub_term_get_current_output): ... this.
35210 (grub_term_register): Split in ...
35211 (grub_term_register_input): ... this, and ...
35212 (grub_term_register_output): ... this.
35213 (grub_term_unregister): Split in ...
35214 (grub_term_unregister_input): ... this, and ...
35215 (grub_term_unregister_output): ... this.
35216 (grub_term_iterate): Split in ...
35217 (grub_term_iterate_input): ... this, and ...
35218 (grub_term_iterate_output): ... this.
35219
35220 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
35221 a check for input and one for output (and only attempt to get keys
35222 from user when input works).
35223
35224 * util/grub-probe.c (grub_term_get_current): Split in ...
35225 (grub_term_get_current_input): ... this, and ...
35226 (grub_term_get_current_output): ... this.
35227 * util/grub-fstest.c: Likewise.
35228 * util/i386/pc/grub-setup.c: Likewise.
35229 * util/grub-editenv.c: Likewise.
35230
35231 Portability adjustments:
35232
35233 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
35234 `term/i386/pc/at_keyboard.c'.
35235 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
35236 grub_keyboard_controller_init() (now handled by terminal .init).
35237 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
35238 grub_at_keyboard_init().
35239 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
35240 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
35241 at_keyboard.mod via input terminal interface).
35242 * include/grub/i386/coreboot/console.h: Convert into a stub for
35243 `<grub/i386/pc/console.h>'.
35244
35245 Migrate full terminals to new API:
35246
35247 * term/efi/console.c (grub_console_term): Split into ...
35248 (grub_console_term_input): ... this, and ...
35249 (grub_console_term_output): ... this. Update all users.
35250 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
35251 (grub_ofconsole_init): Split into ...
35252 (grub_ofconsole_init_input): ... this, and ...
35253 (grub_ofconsole_init_output): ... this.
35254 (grub_ofconsole_term): Split into ...
35255 (grub_ofconsole_term_input): ... this, and ...
35256 (grub_ofconsole_term_output): ... this. Update all users.
35257 * term/i386/pc/serial.c (grub_serial_term): Split into ...
35258 (grub_serial_term_input): ... this, and ...
35259 (grub_serial_term_output): ... this. Update all users.
35260 * term/i386/pc/console.c (grub_console_term): Split into ...
35261 (grub_console_term_input): ... this, and ...
35262 (grub_console_term_output): ... this. Update all users.
35263 (grub_console_term_input): Only enable it on PC/BIOS platform.
35264 (grub_console_init): Remove grub_keyboard_controller_init() call.
35265
35266 Migrate input terminals to new API:
35267
35268 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
35269 `i386' and `i386/pc' to enable build on x86_64 (this driver is
35270 i386-specific anyway).
35271 (grub_console_checkkey): Rename to ...
35272 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
35273 users.
35274 (grub_keyboard_controller_orig): New variable.
35275 (grub_console_getkey): Rename to ...
35276 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
35277 users.
35278 (grub_keyboard_controller_init): Static-ize. Save original
35279 controller value so that it can be restored ...
35280 (grub_keyboard_controller_fini): ... here (new function).
35281 (grub_at_keyboard_term): New structure.
35282 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
35283 functions.
35284
35285 Migrate output terminals to new API:
35286
35287 * term/i386/pc/vga.c (grub_vga_term): Change type to
35288 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35289 members. Update all users.
35290 * term/gfxterm.c (grub_video_term): Change type to
35291 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35292 members. Update all users.
35293 * include/grub/i386/pc/console.h (grub_console_checkkey)
35294 (grub_console_getkey): Do not export (no longer needed by gfxterm,
35295 etc).
35296
35297 Migrate `terminal' command and userland tools to new API:
35298
35299 * commands/terminal.c (grub_cmd_terminal): Split into ...
35300 (grub_cmd_terminal_input): ... this, and ...
35301 (grub_cmd_terminal_output): ... this.
35302 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
35303 `terminal_input' and `terminal_output'.
35304 * util/grub.d/00_header.in: Adjust `terminal' calls to new
35305 `terminal_input' / `terminal_output' API.
35306 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
35307 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
35308 provided ${GRUB_TERMINAL}, convert it).
35309
96e5d876 353102008-11-04 Robert Millan <rmh@aybabtu.com>
35311
35312 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
35313 for FreeBSD.
35314 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
35315
556f3775 353162008-11-03 Bean <bean123ch@gmail.com>
35317
35318 * kern/elf.c (grub_elf32_load): Revert to previous code.
35319 (grub_elf64_load): Likewise.
35320
35321 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
35322
926b9823 353232008-11-01 Robert Millan <rmh@aybabtu.com>
35324
35325 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
35326 (TARGET_CPPFLAGS): Likewise.
35327 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
35328
1432e958 353292008-11-01 Carles Pina i Estany <carles@pina.cat>
35330
35331 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
35332
dba3f844 353332008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 35334
35335 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
35336 addition of objects until the code is not going to be able to fail.
35337
dba3f844 353382008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 35339
35340 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
35341 (add a missing NULL check, and correct them by moving the pointer
35342 operations after the actual check).
35343
7ab28c21 353442008-10-29 Robert Millan <rmh@aybabtu.com>
35345
35346 * util/i386/pc/grub-install.in: Handle empty string as output from
35347 make_system_path_relative_to_its_root().
35348
1b7748eb 353492008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35350
35351 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35352 circular metadata worst case scenario. If the metadata is circular
35353 then copy the wrap in place.
35354 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35355 project lib/format_text/layout.h
35356 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35357
c9618ab2 353582008-10-03 Felix Zielcke <fzielcke@z-51.de>
35359
7a36edca 35360 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 35361
bf981c62 353622008-10-03 Felix Zielcke <fzielcke@z-51.de>
35363
35364 * util/update-grub_lib.in: Mention filename in warning message.
35365
6d994591 353662008-09-29 Felix Zielcke <fzielcke@z-51.de>
35367
35368 * NEWS: Update for rename of update-grub to grub-mkconfig.
35369
18ade780 353702008-09-29 Felix Zielcke <fzielcke@z-51.de>
35371
35372 * util/update-grub_lib.in: Copy to ...
35373 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 35374 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 35375 * util/update-grub.in: Rename to ...
35376 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35377 option. Add `--output' option to allow users to specify the generated
35378 configuration file. Default to stdout.
35379 (update_grub_dir): Rename to ...
35380 (grub_mkconfig_dir): ... this.
35381 (grub_cfg): Default to an empty string.
35382 * conf/common.rmk (update-grub): Rename to ...
35383 (grub-mkconfig): ... this.
35384 (update-grub_lib): Copy to ...
35385 (grub-mkconfig_lib): ... this.
35386 (update-grub_SCRIPTS): Copy to ...
35387 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35388 (update-grub_DATA): Rename to ...
35389 (grub-mkconfig_DATA): ... this.
35390
556ce6ac 353912008-09-28 Robert Millan <rmh@aybabtu.com>
35392
35393 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35394 to `modified'. Add the real `created' field.
35395 (grub_iso9660_uuid): Use `modified' rather than `created' for
35396 constructing the UUID.
35397
353982008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 35399
35400 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35401 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35402
92274e85 354032008-09-28 Bean <bean123ch@gmail.com>
35404
35405 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35406 Thanks to Christian Franke for finding this bug.
35407
add6f17a 354082008-09-25 Robert Millan <rmh@aybabtu.com>
35409
35410 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35411 instances of grub_util_get_disk_name() (see previous commit).
35412
d2a367b8 354132008-09-25 Robert Millan <rmh@aybabtu.com>
35414
35415 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35416 `util/i386/get_disk_name.c'.
35417 * conf/i386-efi.rmk: Likewise.
35418 * conf/x86_64-efi.rmk: Likewise.
35419 * conf/i386-coreboot.rmk: Likewise.
35420 * conf/i386-ieee1275.rmk: Likewise.
35421 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35422 `util/ieee1275/get_disk_name.c'.
35423 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35424 * util/ieee1275/get_disk_name.c: Remove file.
35425 * util/i386/get_disk_name.c: Remove file.
35426 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35427 "hd%d" for device.map entries, rather than using
35428 grub_util_get_disk_name().
35429
81a06771 354302008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 35431
35432 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35433 warning.
35434 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35435
5a004279 354362008-09-24 Carles Pina i Estany <carles@pina.cat>
35437
35438 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35439 Changed to 0x5100.
35440 (GRUB_TERM_PPAGE): Changed to 0x4900.
35441
397093d3 354422008-09-24 Robert Millan <rmh@aybabtu.com>
35443
35444 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35445 macros (they were i386-pc specific).
35446 * include/grub/sparc64/ieee1275/console.h: Likewise.
35447 * include/grub/efi/console.h: Likewise.
35448
a91b6c7c 354492008-09-22 Bean <bean123ch@gmail.com>
35450
35451 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35452 resident and in attribute list.
35453
35454 * include/grub/ntfs.h (BMP_LEN): Removed.
35455
c40fd116 354562008-09-22 Bean <bean123ch@gmail.com>
35457
81a06771 35458 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 35459 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35460
35461 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35462 error occurs, as grub_disk_open will call grub_disk_close, which will
35463 call p->close (scsi).
35464
81a06771 354652008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 35466
35467 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35468 (AC_PREREQ): Bumped to 2.59.
35469 (AC_TRY_COMPILE): Replace obsolete macro with ...
35470 (AC_COMPILE_IFELSE): ... this.
35471 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35472 (AC_LINK_IFELSE): ... this.
35473
5dc43410 354742008-09-21 Felix Zielcke <fzielcke@z-51.de>
35475
35476 * autogen.sh: Add a call to `gendistlist.sh'.
35477
9035dce4 354782008-09-19 Christian Franke <franke@computer.org>
35479
35480 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35481 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35482 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35483 Export __enable_execute_stack() to modules.
35484 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35485 New function.
35486
7fd75377 354872008-09-09 Felix Zielcke <fzielcke@z-51.de>
35488
040030b3 35489 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35490 Sort the list.
35491
354922008-09-09 Felix Zielcke <fzielcke@z-51.de>
35493
35494 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 35495 #include <grub/util/hostdisk.h>.
35496
89d5ffcf 354972008-09-08 Robert Millan <rmh@aybabtu.com>
35498
35499 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35500 segments when their filesz is zero (grub_file_read() interprets
81a06771 35501 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 35502 Use `lowest_segment' rather than 0 for calculating the current
35503 segment load address.
35504
40da438f 355052008-09-08 Robert Millan <rmh@aybabtu.com>
35506
35507 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35508 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35509 clobbered useful information.
35510
ddbf5556 355112008-09-08 Robert Millan <rmh@aybabtu.com>
35512
35513 * include/grub/util/biosdisk.h: Move to ...
35514 * include/grub/util/hostdisk.h: ... here. Update all users.
35515 * util/biosdisk.c: Move to ...
35516 * util/hostdisk.c: ... here. Update all users.
35517
783d0f48 355182008-09-07 Robert Millan <rmh@aybabtu.com>
35519
35520 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35521 variables.
35522 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35523 and length can be stored directly in the `mbi->mmap_addr' and
35524 `mbi->mmap_length' struct fields.
35525
548e2ea5 355262008-09-07 Robert Millan <rmh@aybabtu.com>
35527
35528 * conf/i386.rmk: New file. Provides declaration for building
35529 `cpuid.mod'.
35530 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35531 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35532 variables.
35533 Include `conf/i386.mk'.
35534 * conf/i386-efi.rmk: Likewise.
35535 * conf/x86_64-efi.rmk: Likewise.
35536 * conf/i386-coreboot.rmk: Likewise.
35537 * conf/i386-ieee1275.rmk: Likewise.
35538
0ea85a37 355392008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35540
35541 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35542 Adds optimization support for BGR based modes.
35543
35544 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35545 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35546 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35547 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35548 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35549 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35550 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35551 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35552 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35553 (grub_video_i386_vbeblit_index_index): Likewise.
35554 (grub_video_i386_vbeblit_replace_directN): Added.
35555 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35556 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35557 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35558 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35559 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35560 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 35561 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 35562 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35563 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35564 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35565 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35566 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35567 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35568
35569 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35570 (grub_video_i386_vbefill_R8G8B8): Likewise.
35571 (grub_video_i386_vbefill_index): Likewise.
35572 (grub_video_i386_vbefill_direct32): Added.
35573 (grub_video_i386_vbefill_direct24): Likewise.
35574 (grub_video_i386_vbefill_direct16): Likewise.
35575 (grub_video_i386_vbefill_direct8): Likewise.
35576
81a06771 35577 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 35578 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35579 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35580 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35581 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35582 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 35583
0ea85a37 35584 * video/video.c (grub_video_get_blit_format): Updated to use new
35585 blit formats. Added handling for 16 bit color modes.
81a06771 35586
35587 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 35588 fillers.
35589 (common_blitter): Updated to use new blitters.
35590
35591 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35592 Removed.
35593 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35595 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35596 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35597 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35598 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35599 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35600 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35601 (grub_video_i386_vbeblit_index_index): Likewise.
35602 (grub_video_i386_vbeblit_replace_directN): Added.
35603 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35604 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35605 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35606 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35607 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35608 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35609 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35610 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35611 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35612 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35613 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35614 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35615 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 35616
0ea85a37 35617 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35618 (grub_video_i386_vbefill_R8G8B8): Likewise.
35619 (grub_video_i386_vbefill_index): Likewise.
35620 (grub_video_i386_vbefill_direct32): Added.
35621 (grub_video_i386_vbefill_direct24): Likewise.
35622 (grub_video_i386_vbefill_direct16): Likewise.
35623 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 35624
0ea85a37 35625 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35626 types.
81a06771 35627
0ea85a37 35628 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35629 types.
81a06771 35630
0ea85a37 35631 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35632 blitter types.
81a06771 35633
0ea85a37 35634 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35635 types.
35636
e8a83df6 356372008-09-06 Felix Zielcke <fzielcke@z-51.de>
35638
35639 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35640 RAID level 1.
35641
6bcd8ee5 356422008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 35643
6bcd8ee5 35644 * fs/iso9660.c (grub_iso9660_date): New structure.
35645 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35646 (grub_iso9660_uuid): New function.
c375ae58 35647
59261157 356482008-09-05 Bean <bean123ch@gmail.com>
35649
35650 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35651
35652 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35653 insensitive bit for names in Win32 and Win32 & DOS namespace.
35654
35655 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35656
35657 * include/grub/types.h (LONG_MAX): Likewise.
35658
58b6645a 356592008-09-04 Felix Zielcke <fzielcke@z-51.de>
35660
4ee55921 35661 * util/getroot.c: Include <config.h>.
35662 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35663 add support for /dev/md/N devices and handle LVM double dash escaping.
35664
356652008-09-04 Felix Zielcke <fzielcke@z-51.de>
35666
35667 * config.guess: Update to latest version from config git.
35668 * config.sub: Likewise.
58b6645a 35669
9124f65d 356702008-09-03 Robert Millan <rmh@aybabtu.com>
35671
35672 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35673 `disk->total_sectors'.
35674
81a06771 356752008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 35676
35677 * include/grub/normal.h: Fixed incorrect comment for
35678 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35679
81a06771 356802008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 35681
35682 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35683 values with defines.
35684
35685 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35686 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35687 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35688 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35689 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35690 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35691 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35692 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35693 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35694 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35695 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35696 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35697 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35698 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35699 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35700 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35701 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35702 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35703 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35704
93d5cbf8 357052008-08-31 Robert Millan <rmh@aybabtu.com>
35706
35707 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35708 declaration.
35709 (grub_multiboot): Fix a few warnings.
35710
21751d50 357112008-08-31 Robert Millan <rmh@aybabtu.com>
35712
35713 * loader/i386/pc/multiboot.c: Update comment not to say that
35714 boot_device support is unimplemented.
35715
e27a75c5 357162008-08-31 Robert Millan <rmh@aybabtu.com>
35717
35718 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35719 or memory map support are unimplemented.
35720
81a06771 357212008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 35722
35723 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35724
81a06771 357252008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 35726
35727 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35728 total video memory in 'vbeinfo' output; show color format details for
35729 each video mode.
35730
7c5d8d95 357312008-08-30 Pavel Roskin <proski@gnu.org>
35732
35733 * util/genmoddep.c: Remove for real this time.
35734 * DISTLIST: Remove util/genmoddep.c.
35735
4cebd25a 357362008-08-30 Robert Millan <rmh@aybabtu.com>
35737
35738 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35739 as required by Multiboot spec (it was already 4-byte aligned, but
35740 only by chance).
35741
b497a269 357422008-08-29 Pavel Roskin <proski@gnu.org>
35743
e3925185 35744 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35745 * kern/powerpc/ieee1275/startup.S: ... this.
35746 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35747 * DISTLIST: Likewise.
35748
b497a269 35749 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35750 grub/cpu/kernel.h. Add start label for consistency with other
35751 platforms. Add grub_prefix immediately after start. Add jump
35752 to the code after grub_prefix.
35753 * include/grub/powerpc/kernel.h: Provide valid values for
35754 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35755
6e5a42fe 357562008-08-29 Bean <bean123ch@gmail.com>
35757
35758 * configure.ac: Change host_os to cygwin for mingw.
35759 (asprintf): New check for function.
35760
35761 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35762 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35763
35764 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 35765 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 35766 sync, sleep and grub_util_get_disk_size for mingw.
35767
35768 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35769 to get size in mingw.
35770 (open_device): Use flag O_BINARY if it's defined.
35771 (find_root_device): Add dummy code for mingw.
35772
35773 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35774 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35775 (get_scsi_disk_name): Return 0 for mingw.
35776
35777 * util/hostfs.c: #include <grub/util/misc.h>.
35778 (grub_hostfs_open): Use "rb" flag to open file, use
35779 grub_util_get_disk_size to get disk size for mingw.
35780
35781 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35782 (asprintf): New function if HAVE_ASPRINTF is not set.
35783 (sync): New function for mingw.
35784 (sleep): Likewise.
35785 (grub_util_get_disk_size): Likewise.
35786
ab3f2673 357872008-08-28 Pavel Roskin <proski@gnu.org>
35788
35789 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35790 kern/time.c.
35791
1c282483 357922008-08-28 Robert Millan <rmh@aybabtu.com>
35793
35794 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35795
678e849c 357962008-08-28 Robert Millan <rmh@aybabtu.com>
35797
35798 Change find_grub_drive() syntax so it doesn't prevent it from
35799 detecting NULL names as errors.
35800
35801 * util/biosdisk.c (find_grub_drive): Move free slot search code
35802 from here ...
35803 (find_free_slot): ... to here.
35804 (read_device_map): Use find_free_slot() to search for free slots.
35805
965c75ca 358062008-08-27 Marco Gerards <marco@gnu.org>
35807
35808 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35809 (scsi_mod_SOURCES): New variable.
35810 (scsi_mod_CFLAGS): Likewise
35811 (scsi_mod_LDFLAGS): Likewise.
35812
35813 * disk/scsi.c: New file.
35814
35815 * include/grub/scsi.h: Likewise.
35816
35817 * include/grub/scsicmd.h: Likewise.
35818
35819 * disk/ata.c: Include <grub/scsi.h>.
35820 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35821 instead.
35822 (grub_ata_iterate): Skip ATAPI devices.
35823 (grub_ata_open): Only handle ATAPI devices.
35824 (struct grub_atapi_read): Removed.
35825 (grub_atapi_readsector): Likewise.
35826 (grub_ata_read): No longer handle ATAPI devices.
35827 (grub_ata_write): Likewise.
35828 (grub_atapi_iterate): New function.
35829 (grub_atapi_read): Likewise.
35830 (grub_atapi_write): Likewise.
35831 (grub_atapi_open): Likewise.
35832 (grub_atapi_close): Likewise.
35833 (grub_atapi_dev): New variable.
35834 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35835 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35836
35837 * include/grub/disk.h (enum grub_disk_dev_id): Add
35838 `GRUB_DISK_DEVICE_SCSI_ID'.
35839
c07ae501 358402008-08-26 Robert Millan <rmh@aybabtu.com>
35841
35842 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35843 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35844 descriptive.
35845
5ed20adc 358462008-08-23 Bean <bean123ch@gmail.com>
35847
35848 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35849 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35850 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35851 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35852 dm_nv.mod.
35853 (raid5rec_mod_SOURCES): New macro.
35854 (raid5rec_mod_CFLAGS): Likewise.
35855 (raid5rec_mod_LDFLAGS): Likewise.
35856 (raid6rec_mod_SOURCES): Likewise.
35857 (raid6rec_mod_CFLAGS): Likewise.
35858 (raid6rec_mod_LDFLAGS): Likewise.
35859 (mdraid_mod_SOURCES): Likewise.
35860 (mdraid_mod_CFLAGS): Likewise.
35861 (mdraid_mod_LDFLAGS): Likewise.
35862 (dm_nv_mod_SOURCES): Likewise.
35863 (dm_nv_mod_CFLAGS): Likewise.
35864 (dm_nv_mod_LDFLAGS): Likewise.
35865
35866 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35867 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35868 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35869
35870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35871 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35872
35873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35874
35875 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35876
35877 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35878
35879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35880
35881 * disk/raid5_recover.c: New file.
35882
35883 * disk/raid6_recover.c: Likewise.
35884
35885 * disk/mdraid_linux.c: Likewise.
35886
35887 * disk/dmraid_nvidia.c: Likewise.
35888
35889 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
35890 ULONG_MAX.
35891
35892 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
35893 calculate the size of raid device.
35894 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
35895 different layout of raid5.
35896 (grub_raid_scan_device): Remove code specific to mdraid.
35897 (grub_raid_list): New variable.
35898 (free_array): New function.
35899 (grub_raid_register): Likewise.
35900 (grub_raid_unregister): Likewise.
35901 (grub_raid_rescan): Likewise.
35902 (GRUB_MOD_INIT): Don't iterate device here.
35903 (GRUB_MOD_FINI): Use free_array to release resource.
35904
35905 * include/grub/raid.h: Remove macro and structure specific to mdraid.
35906 (grub_raid5_recover_func_t): New function variable type.
35907 (grub_raid6_recover_func_t): Likewise.
35908 (grub_raid5_recover_func): New variable.
35909 (grub_raid6_recover_func): Likewise.
35910 (grub_raid_register): New function.
35911 (grub_raid_unregister): Likewise.
35912 (grub_raid_rescan): Likewise.
35913 (grub_raid_block_xor): Likewise.
35914
35915 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
35916 (CMD_CRC): New macro.
35917 (part): Removed.
35918 (read_file): Handle device as well as file.
35919 (cmd_crc): New function.
35920 (fstest): Handle multiple disks.
35921 (options): Remove part, raw and long, add root and diskcount.
35922 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 35923 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 35924 add handling for the new options, support multiple disks.
35925
35926 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
35927
29c18915 359282008-08-23 Bean <bean123ch@gmail.com>
35929
35930 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
35931
35932 * genfslist.sh: Ignore kernel.mod.
35933
35934 * genpartmaplist.sh: Likewise.
35935
8415f261 359362008-08-23 Robert Millan <rmh@aybabtu.com>
35937
35938 * util/getroot.c (find_root_device): Skip anything that starts with
35939 a dot, not just directories. This avoids things like /dev/.tmp.md0.
35940
d5a7dc5b 359412008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 35942
d5a7dc5b 35943 * util/update-grub.in (GRUB_GFXMODE): Export variable.
35944 * util/grub.d/00_header.in: Allow the administrator to change default
35945 gfxmode via ${GRUB_GFXMODE}.
35946
380cfbb4 359472008-08-21 Felix Zielcke <fzielcke@z-51.de>
35948
35949 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
35950
c9baafe7 359512008-08-21 Robert Millan <rmh@aybabtu.com>
35952
35953 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
35954 loader.
35955 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
35956 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
35957
e290bef2 359582008-08-20 Carles Pina i Estany <carles@pina.cat>
35959
35960 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
35961 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
35962
f9dbfc96 359632008-08-19 Robert Millan <rmh@aybabtu.com>
35964
35965 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
35966 (struct grub_virtual_screen): Remove `cursor_color'.
35967 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
35968 initialization.
35969 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
35970
dd6bd6ab 359712008-08-18 Robert Millan <rmh@aybabtu.com>
35972
35973 Unify (identical) linux_normal.c files.
35974 * loader/i386/efi/linux_normal.c: Move from here ...
35975 * loader/linux_normal.c: ... to here. Update all users.
35976 * loader/i386/pc/linux_normal.c: Delete. Update all users.
35977 * loader/i386/ieee1275/linux_normal.c: Likewise.
35978
7f42f83e 359792008-08-18 Robert Millan <rmh@aybabtu.com>
35980
35981 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
35982 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
35983 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
35984 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
35985 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
35986 New macros.
35987 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
35988 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
35989 (GRUB_LINUX_CL_END_OFFSET): ... to here.
35990 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
35991 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35992 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35993 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35994 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35995 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35996 portably using grub_getxy().
35997 Replace `-EFI' with `-bzImage' in boot message.
35998
38487ddb 359992008-08-17 Robert Millan <rmh@aybabtu.com>
36000
36001 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36002
deceb3ec 360032008-08-17 Robert Millan <rmh@aybabtu.com>
36004
36005 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36006
36007 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36008 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36009 (grub_machine_mmap_iterate): New function declaration.
36010 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36011 structure.
36012 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36013 macros.
36014
36015 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36016 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36017 Move e820 parsing from here ...
36018 * kern/i386/pc/mmap.c: New file.
36019 (grub_machine_mmap_iterate): ... to here.
36020
36021 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36022 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36023 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36024 (grub_available_iterate): Redeclare to return `void', and redeclare
36025 its hook to use grub_uint64_t as addr and size parameters, and rename
36026 to ...
36027 (grub_machine_mmap_iterate): ... this. Update all users.
36028
36029 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36030 to make it more readable. Rename to ...
36031 (grub_machine_mmap_iterate): ... this.
36032
36033 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36034 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36035 (grub_multiboot): Allocate an extra region after the payload, and fill
36036 it with a Multiboot memory map. Adjust a.out loader to calculate size
36037 with the extra space.
36038 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36039 with the extra space.
36040
f8aa0f43 360412008-08-17 Carles Pina i Estany <carles@pina.cat>
36042
9807deb9 36043 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36044
605f5bb6 360452008-08-17 Felix Zielcke <fzielcke@z-51.de>
36046
36047 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36048 mdate-sh to the list `find' searches for.
36049 * DISTLIST: Regenerated.
36050
210db6c6 360512008-08-16 Felix Zielcke <fzielcke@z-51.de>
36052
36053 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36054 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36055 genmoddep.awk, gensymlist.sh.in.
36056 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36057 * DISTLIST: Regenerated.
48cdbfd4 36058 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36059
1082b929 360602008-08-16 Robert Millan <rmh@aybabtu.com>
36061
36062 * disk/raid.c (grub_raid_init): Handle/report errors set by
36063 grub_device_iterate().
36064 * disk/lvm.c (grub_lvm_init): Likewise.
36065
42ce5170 360662008-08-15 Bean <bean123ch@gmail.com>
36067
36068 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36069 and datehook.mod.
36070 (datetime_mod_SOURCES): New macro.
36071 (datetime_mod_CFLAGS): Likewise.
36072 (datetime_mod_LDFLAGS): Likewise.
36073 (date_mod_SOURCES): Likewise.
36074 (date_mod_CFLAGS): Likewise.
36075 (date_mod_LDFLAGS): Likewise.
36076 (datehook_mod_SOURCES): Likewise.
36077 (datehook_mod_CFLAGS): Likewise.
36078 (datehook_mod_LDFLAGS): Likewise.
36079
36080 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36081 and datehook.mod.
36082 (datetime_mod_SOURCES): New macro.
36083 (datetime_mod_CFLAGS): Likewise.
36084 (datetime_mod_LDFLAGS): Likewise.
36085 (date_mod_SOURCES): Likewise.
36086 (date_mod_CFLAGS): Likewise.
36087 (date_mod_LDFLAGS): Likewise.
36088 (datehook_mod_SOURCES): Likewise.
36089 (datehook_mod_CFLAGS): Likewise.
36090 (datehook_mod_LDFLAGS): Likewise.
36091
36092 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36093 and datehook.mod.
36094 (datetime_mod_SOURCES): New macro.
36095 (datetime_mod_CFLAGS): Likewise.
36096 (datetime_mod_LDFLAGS): Likewise.
36097 (date_mod_SOURCES): Likewise.
36098 (date_mod_CFLAGS): Likewise.
36099 (date_mod_LDFLAGS): Likewise.
36100 (datehook_mod_SOURCES): Likewise.
36101 (datehook_mod_CFLAGS): Likewise.
36102 (datehook_mod_LDFLAGS): Likewise.
36103
36104 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36105 and datehook.mod.
36106 (datetime_mod_SOURCES): New macro.
36107 (datetime_mod_CFLAGS): Likewise.
36108 (datetime_mod_LDFLAGS): Likewise.
36109 (date_mod_SOURCES): Likewise.
36110 (date_mod_CFLAGS): Likewise.
36111 (date_mod_LDFLAGS): Likewise.
36112 (datehook_mod_SOURCES): Likewise.
36113 (datehook_mod_CFLAGS): Likewise.
36114 (datehook_mod_LDFLAGS): Likewise.
36115
36116 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36117 and datehook.mod.
36118 (datetime_mod_SOURCES): New macro.
36119 (datetime_mod_CFLAGS): Likewise.
36120 (datetime_mod_LDFLAGS): Likewise.
36121 (date_mod_SOURCES): Likewise.
36122 (date_mod_CFLAGS): Likewise.
36123 (date_mod_LDFLAGS): Likewise.
36124 (datehook_mod_SOURCES): Likewise.
36125 (datehook_mod_CFLAGS): Likewise.
36126 (datehook_mod_LDFLAGS): Likewise.
36127
36128 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36129
36130 * commands/date.c: New file.
36131
36132 * hook/datehook.c: Likewise.
36133
36134 * include/grub/lib/datetime.h: Likewise.
36135
36136 * include/grub/i386/cmos.h: Likewise.
36137
36138 * lib/datetime.c: Likewise.
36139
36140 * lib/i386/datetime.c: Likewise.
36141
36142 * lib/efi/datetime.c: Likewise.
36143
0e9242da 361442008-08-14 Robert Millan <rmh@aybabtu.com>
36145
36146 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36147 (grub_mkelfimage_SOURCES): New variable.
36148 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36149
36150 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36151 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36152 * conf/powerpc-ieee1275.rmk: Likewise.
36153 * conf/i386-ieee1275.rmk: Likewise.
36154
36155 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36156 * kern/i386/coreboot/init.c: Likewise.
36157
36158 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36159 with `<grub/cpu/kernel.h>'.
36160 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36161 to ...
36162 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36163 * kern/i386/coreboot/startup.S: Likewise.
36164
36165 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36166 (GRUB_MOD_GAP): Remove.
36167 * include/grub/powerpc/kernel.h: New file.
36168 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36169 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36170 * include/grub/i386/kernel.h: New file.
36171 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36172 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36173 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36174
36175 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36176 `grub-mkelfimage'.
36177 Use --directory when invoking grub_mkimage.
36178
36179 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36180 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36181 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36182 and GRUB_KERNEL_CPU_PREFIX.
36183
b86408f8 361842008-08-14 Felix Zielcke <fzielcke@z-51.de>
36185
d5e619ca 36186 * include/grub/err.h (grub_err_printf): New function prototype.
36187 * util/misc.c (grub_err_printf): New function.
36188 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
36189 grub_printf.
36190 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 36191
7161f0e0 361922008-08-13 Robert Millan <rmh@aybabtu.com>
36193
36194 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36195
a1967522 361962008-08-13 Robert Millan <rmh@aybabtu.com>
36197
36198 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
36199 boot entry.
36200
371458b5 362012008-08-12 Robert Millan <rmh@aybabtu.com>
36202
36203 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
36204 of the relocation code from here ...
36205 (grub_multiboot): ... to here.
36206 (forward_relocator, backward_relocator): Move from here ...
36207 * kern/i386/loader.S (grub_multiboot_forward_relocator)
36208 (grub_multiboot_backward_relocator): ... to here.
36209 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
36210 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
36211 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
36212 (grub_multiboot_forward_relocator_end)
36213 (grub_multiboot_backward_relocator)
36214 (grub_multiboot_backward_relocator_end): New variables.
36215
05f9452b 362162008-08-12 Bean <bean123ch@gmail.com>
36217
36218 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36219
20024ab0 362202008-08-11 Robert Millan <rmh@aybabtu.com>
36221
36222 * kern/i386/linuxbios/startup.S: Move from here ...
36223 * kern/i386/coreboot/startup.S: ... to here.
36224
36225 * kern/i386/linuxbios/init.c: Move from here ...
36226 * kern/i386/coreboot/init.c: ... to here.
36227
36228 * kern/i386/linuxbios/table.c: Move from here ...
36229 * kern/i386/coreboot/mmap.c: ... to here.
36230
36231 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
36232
e352e9cd 362332008-08-11 Robert Millan <rmh@aybabtu.com>
36234
36235 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
36236 errors. Leave it to the upper layer to handle them.
36237
2d05bc6a 362382008-08-09 Christian Franke <franke@computer.org>
36239
36240 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
36241 * conf/common.rmk: Install `grub-pe2elf' only if requested.
36242 Install `grub.d/10_windows' only on Cygwin.
36243 * configure.ac: Add subst of `target_os'.
36244 Check `target_os' also before setting TARGET_OBJ2ELF.
36245 Add `--enable-grub-pe2elf'.
36246
042bd419 362472008-08-08 Robert Millan <rmh@aybabtu.com>
36248
36249 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36250 (grub_last_time): Change type to grub_uint64_t.
36251 (grub_disk_open): Migrate code from to using grub_get_time_ms().
36252 (grub_disk_close): Likewise.
36253
36254 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36255 (run_menu): Migrate code from to using grub_get_time_ms().
36256
36257 * util/misc.c (grub_get_time_ms): New function.
36258
7f280db5 362592008-08-08 Marco Gerards <marco@gnu.org>
36260
36261 * disk/ata.c (grub_ata_regget): Change return type to
36262 `grub_uint8_t'.
36263 (grub_ata_regget2): Likewise.
36264 (grub_ata_wait_status): New function.
36265 (grub_ata_wait_busy): Removed function, updated all users to use
36266 `grub_ata_wait_status'.
36267 (grub_ata_wait_drq): Likewise.
36268 (grub_ata_cmd): New function.
36269 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
36270 error handling.
36271 (grub_ata_pio_write): Add error handling.
36272 (grub_atapi_identify): Likewise.
36273 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
36274 handling.
36275 (grub_ata_identify): Use `grub_ata_cmd' and improve error
36276 handling. Actually use the detected registers. Reorder the
36277 detection logic such that it is easier to read.
36278 (grub_ata_pciinit): Do not assign the same ID to each controller.
36279 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
36280 handling.
36281 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
36282
36283 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
36284
1fbc5e66 362852008-08-08 Marco Gerards <marco@gnu.org>
36286
36287 * NEWS: Update.
36288
819ce6c0 362892008-08-07 Bean <bean123ch@gmail.com>
36290
36291 * include/grub/x86_64/pci.h: New file.
36292
5c41d44d 362932008-08-07 Christian Franke <franke@computer.org>
36294
36295 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
36296 (TIMER2_GATE): Likewise.
36297 (grub_pit_wait): Add enable/disable of the timer2 gate
36298 bit of port 0x61. This fixes a possible infinite loop.
36299
5ebc275d 363002008-08-07 Bean <bean123ch@gmail.com>
36301
36302 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
36303 kern/i386/tsc.c and kern/i386/pit.c.
36304
36305 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
36306 x86_64 platform.
36307
36308 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
36309 <grub/i386/tsc.h>.
36310
36311 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
36312
e383b3d0 363132008-08-07 Bean <bean123ch@gmail.com>
36314
36315 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
36316
36317 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
36318
36319 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
36320 multiple inclusion. Add #include <grub/types.h>.
36321
1cbb58ac 363222008-08-06 Christian Franke <franke@computer.org>
36323
36324 * conf/common.rmk: Build and install `10_windows'.
36325 * util/grub.d/10_windows.in: New script.
36326
337f5a1e 363272008-08-06 Pavel Roskin <proski@gnu.org>
36328
36329 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36330
057bc4ac 363312008-08-06 Robert Millan <rmh@aybabtu.com>
36332
36333 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
36334 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
36335
2b99f123 363362008-08-06 Bean <bean123ch@gmail.com>
36337
36338 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
36339 (grub_pxefs_fs_int): Remove dummy definition.
36340 (grub_pxefs_open): Use data->block_size to store the current block
36341 size setting.
36342 (grub_pxefs_read): Use block size stored in data->block_size. As the
36343 value of grub_pxe_blksize can be changed after the file is opened.
36344
9f0234cb 363452008-08-06 Bean <bean123ch@gmail.com>
36346
36347 * fs/i386/pc/pxe.c (curr_file): new variable.
36348 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36349 require the dummy internal file system anymore.
36350 (grub_pxefs_read): Removed.
36351 (grub_pxefs_close): Likewise.
36352 (grub_pxefs_fs_int): Likewise.
36353 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36354 connection when we switch file.
36355 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36356
a55d42e0 363572008-08-06 Robert Millan <rmh@aybabtu.com>
36358
36359 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36360 `halt.mod'.
36361 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36362 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36363
36364 * kern/i386/halt.c: New file.
36365 * kern/i386/reboot.c: Likewise.
36366 * include/grub/i386/reboot.h: Likewise.
36367 * include/grub/i386/halt.h: Likewise.
36368
36369 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36370 Include `<grub/cpu/halt.h>'.
36371 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36372 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36373
36374 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36375 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36376 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36377 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36378 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36379 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36380 from here ...
36381 * include/grub/i386/at_keyboard.h: ... to here.
36382
24371d26 363832008-08-05 Robert Millan <rmh@aybabtu.com>
36384
36385 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36386 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36387 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36388 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36389 `kern/generic/millisleep.c'.
36390
36391 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36392 instead of grub_get_rtc().
36393 (grub_tsc_init): Initialize `tsc_boot_time'.
36394
36395 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36396 (grub_machine_init): Use grub_tsc_init() rather than
36397 installing an RTC-based handler via grub_install_get_time_ms().
36398
36399 * kern/i386/pit.c: New file.
36400 * include/grub/i386/pit.h: Likewise.
36401
9e7007b3 364022008-08-05 Bean <bean123ch@gmail.com>
36403
36404 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36405
36406 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36407 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36408 (pxe_mod_SOURCES): New macro.
36409 (pxe_mod_CFLAGS): Likewise.
36410 (pxe_mod_LDFLAGS): Likewise.
36411 (pxecmd_mod_SOURCES): Likewise.
36412 (pxecmd_mod_CFLAGS): Likewise.
36413 (pxecmd_mod_LDFLAGS): Likewise.
36414
36415 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36416 (grub_pxe_call): Likewise.
36417
36418 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36419
36420 * commands/i386/pc/pxecmd.c: New file.
36421
9f0234cb 36422 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 36423
36424 * include/grub/i386/pc/pxe.h: Likewise.
36425
6977d49f 364262008-08-05 Bean <bean123ch@gmail.com>
36427
36428 * util/console.c (grub_console_cur_color): New variable.
36429 (grub_console_standard_color): Likewise.
36430 (grub_console_normal_color): Likewise.
36431 (grub_console_highlight_color): Likewise.
36432 (color_map): Likewise.
36433 (use_color): Likewise.
36434 (NUM_COLORS): New macro.
36435 (grub_ncurses_setcolorstate): Handle color properly.
36436 (grub_ncurses_setcolor): Don't change color here, just remember the
36437 settings, color will be set in grub_ncurses_setcolorstate.
36438 (grub_ncurses_getcolor): New function.
36439 (grub_ncurses_init): Initialize color pairs.
36440 (grub_ncurses_term): New member grub_ncurses_getcolor.
36441
9c2ff3ee 364422008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 36443
9c2ff3ee 36444 High resolution timer support. Implemented for x86 CPUs using TSC.
36445 Extracted generic grub_millisleep() so it's linked in only as needed.
36446 This requires a Pentium compatible CPU; if the RDTSC instruction is
36447 not supported, then it falls back on the generic grub_get_time_ms()
36448 implementation that uses the machine's RTC.
36449
36450 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36451 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36452 `kern/generic/millisleep.c'.
36453
36454 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36455 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36456
36457 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36458 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36459
36460 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36461
36462 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36463 `kern/generic/millisleep.c'.
36464
36465 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36466
36467 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36468
36469 * kern/generic/rtc_get_time_ms.c: New file.
36470
36471 * kern/generic/millisleep.c: New file.
337f5a1e 36472
9c2ff3ee 36473 * kern/misc.c: Don't include
36474 <kern/time.h> anymore.
36475 (grub_millisleep_generic): Removed.
36476
36477 * commands/sleep.c (grub_interruptible_millisleep): Uses
36478 grub_get_time_ms() instead of grub_get_rtc().
36479
36480 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36481 function.
36482 (grub_cpu_is_cpuid_supported): New inline function.
36483 (grub_cpu_is_tsc_supported): New inline function.
36484 (grub_tsc_init): New function prototype.
36485 (grub_tsc_get_time_ms): New function prototype.
36486
36487 * kern/i386/tsc.c (grub_get_time_ms): New file.
36488
36489 * include/grub/time.h: Include <grub/types.h.
36490 (grub_millisleep_generic): Removed.
36491 (grub_get_time_ms): New prototype.
36492 (grub_install_get_time_ms): New prototype.
36493 (grub_rtc_get_time_ms): New prototype.
36494
36495 * kern/time.c (grub_get_time_ms): New function.
36496 (grub_install_get_time_ms): New function.
36497
36498 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36499 <grub/time.h> anymore.
36500 (grub_millisleep): Removed.
36501 (grub_machine_init): Call grub_tsc_init.
36502
36503 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36504 get_time_ms() implementation.
36505
36506 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36507 (ieee1275_get_time_ms): New function.
36508 (grub_machine_init): Install get_time_ms() implementation.
36509
36510 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36511 (grub_machine_init): Call grub_tsc_init().
36512 (grub_millisleep): Removed.
bf06a93f 36513
9c2ff3ee 36514 * kern/ieee1275/init.c (grub_millisleep): Removed.
36515 (grub_machine_init): Install ieee1275_get_time_ms()
36516 implementation.
36517 (ieee1275_get_time_ms): New function.
36518 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36519 real work.
36520
9ec92aaf 365212008-08-05 Marco Gerards <marco@gnu.org>
36522
36523 * disk/ata.c: Include <grub/pci.h>.
36524 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36525 (grub_ata_initialize): Rewritten.
36526 (grub_ata_device_initialize): New function.
36527
8d23f507 365282008-08-04 Pavel Roskin <proski@gnu.org>
36529
36530 * kern/main.c: Include grub/mm.h.
36531
5e15ee3d 365322008-08-04 Robert Millan <rmh@aybabtu.com>
36533
36534 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36535 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36536 corruption problem).
36537
a9053f8f 365382008-08-04 Robert Millan <rmh@aybabtu.com>
36539
36540 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36541 warnings introduced in my last commit.
36542
dd19c7d7 365432008-08-03 Robert Millan <rmh@aybabtu.com>
36544
36545 Make PCI available on all i386 architectures.
36546
36547 * include/grub/i386/pc/pci.h: Move from here ...
36548 * include/grub/i386/pci.h: ... to here.
36549
36550 * include/grub/i386/pc/pci.h: Remove.
36551 * include/grub/i386/efi/pci.h: Remove.
36552 * include/grub/x86_64/efi/pci.h: Remove.
36553
36554 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36555 `<grub/cpu/pci.h>'.
36556
36557 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36558 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36559 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36560
36561 * conf/i386-ieee1275.rmk: Likewise.
36562
e14a6184 365632008-08-03 Robert Millan <rmh@aybabtu.com>
36564
36565 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36566 (grub_console_setcursor): Make it possible to set cursor off.
36567
52768e37 365682008-08-03 Robert Millan <rmh@aybabtu.com>
36569
36570 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36571 of modules instead of assuming which platform provides what.
36572 * util/update-grub.in: Likewise.
36573
2d52f57f 365742008-08-03 Robert Millan <rmh@aybabtu.com>
36575
36576 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36577 instead of `grub_install_dos_part' to determine whether a drive needs
36578 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 36579 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 36580
2a5cd121 365812008-08-02 Robert Millan <rmh@aybabtu.com>
36582
36583 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36584
93808428 365852008-08-02 Robert Millan <rmh@aybabtu.com>
36586
36587 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36588 of informational grub_dprintf() calls.
36589
3bd0a12a 365902008-08-02 Robert Millan <rmh@aybabtu.com>
36591
36592 * disk/memdisk.c (memdisk_size): Don't initialize.
36593 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36594
36595 * include/grub/i386/pc/kernel.h
36596 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36597 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36598 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36599 (grub_arch_memdisk_size): Remove.
36600
36601 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36602 field (was only used to transfer a constant). Add `type' field to
36603 support multiple module types.
36604 (grub_module_iterate): New function.
36605
36606 * kern/device.c (grub_device_open): Do not hide error messages
36607 when grub_disk_open() fails. Use grub_print_error() instead.
36608
36609 * kern/i386/pc/init.c (grub_arch_modules_addr)
36610 (grub_arch_memdisk_size): Remove functions.
36611 (grub_arch_modules_addr): Return the module address in high memory
36612 (now that it isn't copied anymore).
36613
36614 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36615 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36616 decompression routine (grub_total_module_size already includes that
36617 now). Don't copy modules back to low memory.
36618
36619 * kern/main.c: Include `<grub/mm.h>'.
36620 (grub_load_modules): Split out (and use) ...
36621 (grub_module_iterate): ... this function, which iterates through
36622 module objects and runs a hook.
36623 Comment out grub_mm_init_region() call, as it would cause non-ELF
36624 modules to be overwritten.
36625
36626 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36627 the memdisk image in its own region, make it part of the module list.
36628 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36629 (main): Parse --memdisk|-m option, and pass user-provided path as
36630 parameter to generate_image().
36631 (add_segments): Pass `memdisk_path' down to load_modules().
36632 (load_modules): Embed memdisk image in module section when requested.
36633 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36634 `header.type' instead of `header.offset'.
36635
36636 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36637 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36638 (memdisk_mod_LDFLAGS): New variables.
36639 * conf/i386-coreboot.rmk: Likewise.
36640 * conf/i386-ieee1275.rmk: Likewise.
36641
a927cc73 366422008-08-02 Robert Millan <rmh@aybabtu.com>
36643
36644 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36645 (backward_relocator): New variables. Used to allocate and relocate
36646 the payload, respectively.
36647 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 36648 address, install the appropriate relocator code in each bound of
a927cc73 36649 the payload, and set the entry point such that
36650 grub_multiboot_real_boot() will jump to one of them.
36651
36652 * kern/i386/loader.S (grub_multiboot_payload_size)
36653 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36654 (grub_multiboot_payload_entry_offset): New variables.
36655 (grub_multiboot_real_boot): Set cpu context to what the relocator
36656 expects, and jump to the relocator instead of the payload.
36657
36658 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36659 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36660 (grub_multiboot_payload_entry_offset): Export.
36661
b15d8a0c 366622008-08-01 Bean <bean123ch@gmail.com>
36663
36664 * normal/menu_entry.c (editor_getline): Don't return the original
36665 string as result, as it will be released by lexer once it has done
36666 using it.
36667
cdfb3d22 366682008-08-01 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36671 within menuentries, not before them.
36672 util/grub.d/10_hurd.in: Likewise.
36673
9175e93d 366742008-08-01 Bean <bean123ch@gmail.com>
36675
36676 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36677 (bufio_mod_SOURCES): New macro.
36678 (bufio_mod_CFLAGS): Likewise.
36679 (bufio_mod_LDFLAGS): Likewise.
36680
36681 * include/grub/bufio.h: New file.
36682
36683 * io/bufio.c: Likewise.
36684
36685 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36686 (grub_video_reader_png): Use grub_buffile_open to open file.
36687
36688 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36689 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36690
36691 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36692 (grub_video_reader_tga): Use grub_buffile_open to open file.
36693
36694 * font/manager.c: Include <grub/bufio.h>.
36695 (add_font): Use grub_buffile_open to open file.
36696
3d8383e7 366972008-07-31 Robert Millan <rmh@aybabtu.com>
36698
36699 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36700 ELF segments, use a macro for arbitrarily accessing any of them instead
36701 of preparing a pointer that allows access to one at a time.
36702 (grub_multiboot_load_elf64): Likewise.
36703
16e641b6 367042008-07-31 Bean <bean123ch@gmail.com>
36705
36706 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36707 GRUB_KERNEL_MACHINE_DATA_END.
36708
59198b72 367092008-07-30 Robert Millan <rmh@aybabtu.com>
36710
36711 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36712 Increase from 0x50 to 0x60.
36713 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36714 use UUIDs to identify the root drive for them. If that's not
36715 possible, abort.
36716 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36717 check, for cross-disk installs.
36718
ae88bca3 367192008-07-30 Robert Millan <rmh@aybabtu.com>
36720
36721 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36722 is non-empty, use it to set the `prefix' environment variable instead
36723 of the usual approach.
36724 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36725 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36726 environment variable instead of dummy make_install_device().
36727
36728 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36729 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 36730 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 36731
36732 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36733 New variable reference.
36734 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36735 New macro. Defines offset of `grub_prefix' within startup.S (relative
36736 to `start').
36737 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36738 section within startup.S (relative to `start').
36739 * include/grub/i386/coreboot/kernel.h: Likewise.
36740
36741 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36742 Overwrite grub_prefix with its contents, at the beginning of the
36743 first segment.
36744 (main): Understand -p|--prefix.
36745
14f41dd1 367462008-07-30 Robert Millan <rmh@aybabtu.com>
36747
36748 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36749
4ca049a3 367502008-07-30 Robert Millan <rmh@aybabtu.com>
36751
36752 * term/i386/pc/vga_text.c (grub_console_cls): Use
36753 grub_console_gotoxy() to go back to beginning of the screen.
36754 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36755
2921d337 367562008-07-29 Christian Franke <franke@computer.org>
36757
36758 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36759 Add conversion of emulated mount points on Cygwin.
36760
b609876d 367612008-07-29 Christian Franke <franke@computer.org>
36762
36763 * util/update-grub.in: Add a check for admin
36764 group on Cygwin.
36765 Remove old `grub.cfg.new' before creation.
36766 Add `-f' to `mv' to handle the different filesystem
36767 semantics of Windows.
36768
e93e4679 367692008-07-29 Bean <bean123ch@gmail.com>
36770
36771 * normal/main.c (get_line): Fix buffer overflow bug.
36772
41694fd0 367732008-07-28 Robert Millan <rmh@aybabtu.com>
36774
36775 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36776 (struct grub_apple_header): New struct. Describes the layout of
36777 the partmap header.
36778 (apple_partition_map_iterate): Check the header magic as well as the
36779 partition magic (which was already being checked).
36780
cfd0b4e6 367812008-07-28 Pavel Roskin <proski@gnu.org>
36782
36783 * genmk.rb: Add a warning to the beginning of the output that
36784 it's a generated file and should not be edited.
36785
93cce016 367862008-07-28 Robert Millan <rmh@aybabtu.com>
36787
36788 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36789 with the same number are found, just use issue a warning with
36790 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 36791
cd1df915 367922008-07-27 Robert Millan <rmh@aybabtu.com>
36793
36794 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36795 information.
36796
b70a8427 367972008-07-27 Bean <bean123ch@gmail.com>
36798
36799 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36800 (grub_fat_find_dir): Ignore case when comparing filename.
36801
8f5e379f 368022008-07-27 Bean <bean123ch@gmail.com>
36803
36804 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36805 smallino, as it's more descriptive, and i8count can be confused with
36806 the other field count.
36807 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36808 inode type.
36809
a85cd5a0 368102008-07-27 Bean <bean123ch@gmail.com>
36811
36812 * commands/crc.c: New file.
36813
36814 * lib/crc.c: Likewise.
36815
36816 * include/grub/lib/crc.h: Likewise.
36817
36818 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36819
36820 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36821 (hexdump): Move this function to ...
36822
36823 * lib/hexdump.c: ... here.
36824
36825 * include/grub/hexdump.h: Renamed to ...
36826
36827 * include/grub/lib/hexdump.h: ... this.
36828
36829 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36830
36831 * util/grub-editenv.c: Likewise.
36832
36833 * include/envblk.h: Renamed to ...
36834
36835 * include/lib/envblk.h: ... this.
36836
36837 * util/envblk.c: Renamed to ...
36838
36839 * lib/envblk.c: ... this.
36840
36841 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36842 lib/hexdump.c.
36843 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36844 (pkglib_MODULES): Add crc.mod.
36845 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36846 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36847 (crc_mod_SOURCES): New macro.
36848 (crc_mod_CFLAGS): Likewise.
36849 (crc_mod_LDFLAGS): Likewise.
36850
36851 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36852
36853 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36854
36855 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36856
36857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36858
36859 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36860
c298def0 368612008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 36862
36863 * commands/help.c: Include <grub/term.h>.
36864 (TERM_WIDTH): Removed. Updated all users.
36865
cc349fb3 368662008-07-27 Pavel Roskin <proski@gnu.org>
36867
36868 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36869 spurious warnings about a comment within a comment.
36870
9051607e 368712008-07-25 Robert Millan <rmh@aybabtu.com>
36872
36873 * util/getroot.c (find_root_device): Skip devices that match
36874 /dev/dm-[0-9]. This lets the real device be found for any type of
36875 abstraction (LVM, EVMS, RAID..).
36876 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36877 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36878 device is found first, find_root_device() will now skip it.
36879
01453bfc 368802008-07-24 Pavel Roskin <proski@gnu.org>
36881
36882 * include/grub/types.h: Use __builtin_bswap32() and
36883 __builtin_bswap64() with gcc 4.3 and newer.
36884
6af9849f 368852008-07-24 Christian Franke <franke@computer.org>
36886
3a0fa256 36887 * util/i386/pc/grub-install.in: If `--debug' is specified,
36888 pass `--verbose' to grub-setup.
36889 Abort script if make_system_path_relative_to_its_root() fails.
36890
7810e747 368912008-07-24 Bean <bean123ch@gmail.com>
36892
36893 * configure.ac: Fixed a bug caused by the previous cygwin patch,
36894 variable `target_platform' should be `platform'.
36895
42290e17 368962008-07-24 Bean <bean123ch@gmail.com>
36897
51cc5193 36898 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 36899 (grub_png_init_fixed_block): New function.
36900 (grub_png_decode_image_data): Handle fixed huffman code compression.
36901
2a8a80e4 369022008-07-24 Bean <bean123ch@gmail.com>
36903
36904 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
36905 (grub_pe2elf_SOURCES): New macro.
36906 (CLEANFILES): Add grub-pe2elf.
36907
36908 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
36909 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
36910 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
36911 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
36912 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
36913 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
36914 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
36915 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
36916 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
36917 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
36918 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
36919 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
36920 (GRUB_PE32_DT_FUNCTION): Likewise.
36921 (GRUB_PE32_REL_I386_DIR32): Likewise.
36922 (GRUB_PE32_REL_I386_REL32): Likewise.
36923 (grub_pe32_symbol): New structure.
36924 (grub_pe32_reloc): Likewise.
36925
36926 * util/grub-pe2elf.c: New file.
36927
36928 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
36929 start symbol in non pc platform.
36930
36931 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
36932
36933 The following patches are from Christian Franke.
36934
36935 * include/grub/dl.h: Remove .previous, gas supports this only
36936 for ELF format.
36937
36938 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
36939 Remove .type, gas supports this only for ELF format.
36940
36941 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
36942 nullbytes in symbol table. This fixes an infinite loop if table is
36943 zero filled.
36944
36945 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
36946 TARGET_IMG_LDFLAGS and EXEEXT.
36947
36948 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
36949 TARGET_IMG_LDFLAGS_AC.
36950 (grub_CHECK_STACK_ARG_PROBE): New function.
36951
36952 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
36953
36954 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
36955
36956 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
36957 to set TARGET_IMG_LD* accordingly.
36958 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
36959 Add call to grub_CHECK_STACK_ARG_PROBE.
36960 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
36961
36962 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
36963
36964 * genmk.rb: Add EXEEXT to CLEANFILES.
36965
12ccdb75 369662008-07-23 Robert Millan <rmh@aybabtu.com>
36967
36968 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
36969 define the codes for arrows and lines used for the menu).
36970 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
36971 as well.
36972
36973 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
36974 fonts, because the latter are too slow.
36975
18eeaf04 369762008-07-21 Bean <bean123ch@gmail.com>
36977
36978 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
36979 a20. Run keyboard test last, as it will cause macbook to halt.
36980
b095e2ad 369812008-07-18 Pavel Roskin <proski@gnu.org>
36982
36983 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
36984 load foreign architecture modules correctly anyway. Keep
36985 support for loading host architecture modules, whether we
36986 compile them or not.
36987
737feb35 369882008-07-17 Pavel Roskin <proski@gnu.org>
36989
3f4ce737 36990 * configure.ac: Use -m32 or -m64 regardless of whether we had to
36991 change target_cpu. The compiler default can mismatch target_cpu
36992 in any case.
36993
4ad2d049 36994 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36995 * kern/efi/efi.c: Likewise.
36996
f6130a12 36997 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36998 target compiler is functional.
36999 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37000 are set up.
37001
58393a2d 37002 * configure.ac: Default to efi platform for x86_64-apple. Allow
37003 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37004 adjustments from the rest, only do them if target is not
37005 explicitly given. Merge other adjustments with the final sanity
37006 check. Remove an extraneous check for supported CPU. Be
37007 specific which CPU and which platform is not supported.
37008
737feb35 37009 * configure.ac: Default to pc platform for x86_64.
37010
546f966a 370112008-07-17 Robert Millan <rmh@aybabtu.com>
37012
37013 Partial LinuxBIOS -> Coreboot rename.
37014
37015 * conf/i386-linuxbios.rmk: Renamed to ...
37016 * conf/i386-coreboot.rmk: ... this.
37017 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37018 * configure.ac: Accept "coreboot" as input platform (but maintain
37019 compatibility with "linuxbios").
37020 * include/grub/i386/linuxbios: Renamed to ...
37021 * include/grub/i386/coreboot: ... this.
37022
20011694 370232008-07-17 Bean <bean123ch@gmail.com>
37024
37025 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37026 (appleldr_mod_SOURCE): New variable.
20011694 37027 (appleldr_mod_CFLAGS): Likewise.
37028 (appleldr_mod_LDFLAGS): Likewise.
37029 (pci_mod_SOURCES): Likewise.
37030 (pci_mod_CFLAGS): Likewise.
37031 (pci_mod_LDFLAGS): Likewise.
37032 (lspci_mod_SOURCES): Likewise.
37033 (lspci_mod_CFLAGS): Likewise.
37034 (lspci_mod_LDFLAGS): Likewise.
37035
37036 * conf/x86_64-efi.rmk: New file.
37037
37038 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37039 macro.
37040 (grub_efidisk_write): Likewise.
37041
37042 * include/efi/api.h (efi_call_0): New macro.
37043 (efi_call_1): Likewise.
37044 (efi_call_2): Likewise.
37045 (efi_call_3): Likewise.
37046 (efi_call_4): Likewise.
37047 (efi_call_5): Likewise.
37048 (efi_call_6): Likewise.
37049
37050 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37051 grub_rescue_cmd_chainloader.
37052
37053 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37054 (grub_pe32_optional_header): Change some fields based on i386 or
37055 x86_64 platform.
37056 (GRUB_PE32_PE32_MAGIC): Likewise.
37057
37058 * include/grub/efi/uga_draw.h: New file.
37059
37060 * include/grub/elf.h (STN_ABS): New constant.
37061 (R_X86_64_NONE): Relocation constant for x86_64.
37062 (R_X86_64_64): Likewise.
37063 (R_X86_64_PC32): Likewise.
37064 (R_X86_64_GOT32): Likewise.
37065 (R_X86_64_PLT32): Likewise.
37066 (R_X86_64_COPY): Likewise.
37067 (R_X86_64_GLOB_DAT): Likewise.
37068 (R_X86_64_JUMP_SLOT): Likewise.
37069 (R_X86_64_RELATIVE): Likewise.
37070 (R_X86_64_GOTPCREL): Likewise.
37071 (R_X86_64_32): Likewise.
37072 (R_X86_64_32S): Likewise.
37073 (R_X86_64_16): Likewise.
37074 (R_X86_64_PC16): Likewise.
37075 (R_X86_64_8): Likewise.
37076 (R_X86_64_PC8): Likewise.
37077
37078 * include/grub/i386/efi/pci.h: New file.
37079
37080 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37081 Change it value based on platform.
37082 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37083 (GRUB_E820_RAM): Likewise.
37084 (GRUB_E820_RESERVED): Likewise.
37085 (GRUB_E820_ACPI): Likewise.
37086 (GRUB_E820_NVS): Likewise.
37087 (GRUB_E820_EXEC_CODE): Likewise.
37088 (GRUB_E820_MAX_ENTRY): Likewise.
37089 (grub_e820_mmap): New structure.
37090 (linux_kernel_header): Change the efi field according to different
37091 kernel version, also field from linux_kernel_header.
37092
37093 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37094
37095 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37096 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37097 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37098 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37099 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37100 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37101 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37102 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37103 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37104 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37105
37106 * include/grub/x86_64/efi/kernel.h: New file.
37107
37108 * include/grub/x86_64/efi/loader.h: Likewise.
37109
37110 * include/grub/x86_64/efi/machine.h: Likewise.
37111
37112 * include/grub/x86_64/efi/pci.h: Likewise.
37113
37114 * include/grub/x86_64/efi/time.h: Likewise.
37115
37116 * include/grub/x86_64/linux.h: Likewise.
37117
37118 * include/grub/x86_64/setjmp.h: Likewise.
37119
37120 * include/grub/x86_64/time.h: Likewise.
37121
37122 * include/grub/x86_64/types.h: Likewise.
37123
37124 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37125 GRUB_TARGET_SIZEOF_VOID_P.
37126
37127 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37128 (grub_efi_locate_handle): Likewise.
37129 (grub_efi_open_protocol): Likewise.
37130 (grub_efi_set_text_mode): Likewise.
37131 (grub_efi_stall): Likewise.
37132 (grub_exit): Likewise.
37133 (grub_reboot): Likewise.
37134 (grub_halt): Likewise.
37135 (grub_efi_exit_boot_services): Likewise.
37136 (grub_get_rtc): Likewise.
37137
37138 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37139 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37140 (grub_efi_allocate_pages): Wrap efi calls.
37141 (grub_efi_free_pages): Wrap efi calls.
37142 (grub_efi_get_memory_map): Wrap efi calls.
37143
37144 * kern/x86_64/dl.c: New file.
37145
37146 * kern/x86_64/efi/callwrap.S: Likewise.
37147
37148 * kern/x86_64/efi/startup.S: Likewise.
37149
37150 * loader/efi/appleloader.c: Likewise.
37151
37152 * loader/efi/chainloader.c (cmdline): New variable.
37153 (grub_chainloader_unload): Wrap efi calls.
37154 (grub_chainloader_boot): Likewise.
37155 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37156 command line.
37157
37158 * loader/efi/chainloader_normal.c (chainloader_command):
37159 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37160 command line.
37161
37162 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37163 method.
37164 (grub_e820_add_region): New function.
37165 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37166 booting.
37167 (grub_find_video_card): New function.
37168 (grub_linux_setup_video): New function.
37169 (grub_rescue_cmd_linux): Probe for video information.
37170
37171 * normal/x86_64/setjmp.S: New file.
37172
37173 * term/efi/console.c (map_char): New function.
37174 (grub_console_putchar): Map unicode char.
37175 (grub_console_checkkey): Wrap efi calls.
37176 (grub_console_getkey): Likewise.
37177 (grub_console_getwh): Likewise.
37178 (grub_console_gotoxy): Likewise.
37179 (grub_console_cls): Likewise.
37180 (grub_console_setcolorstate): Likewise.
37181 (grub_console_setcursor): Likewise.
37182
37183 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
37184
59652a20 371852008-07-16 Pavel Roskin <proski@gnu.org>
37186
ef294055 37187 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37188 format strings.
37189
59652a20 37190 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
37191 pointer, not an integer. This fixes a warning and prevents
37192 precision loss on 64-bit systems.
37193 (relocate_addresses): Remove unneeded cast.
37194
afc3b5d7 371952008-07-15 Pavel Roskin <proski@gnu.org>
37196
506b2b3e 37197 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37198
62ead89c 37199 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37200
c4cd51d7 37201 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37202 Fix comparison between signed and unsigned.
37203
0d3d8f28 37204 * include/grub/i386/ieee1275/console.h: Declare
37205 grub_console_init() and grub_console_fini().
37206
8804b286 37207 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37208 It's empty and unused.
37209
ee01cf35 37210 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37211 beginning to avoid warnings with some compilers.
37212
afc3b5d7 37213 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37214 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37215
e4e8eaa5 372162008-07-14 Pavel Roskin <proski@gnu.org>
37217
407aceb4 37218 * kern/env.c (grub_register_variable_hook): Don't copy empty
37219 string, it leaks memory. Pass "" to grub_env_set(), it should
37220 handle constant strings.
37221
e4e8eaa5 37222 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
37223 * commands/cmp.c (grub_cmd_cmp): Likewise.
37224 * kern/dl.c (grub_dl_flush_cache): Likewise.
37225 (grub_dl_load_core): Likewise.
37226 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
37227 (grub_elf64_load_phdrs): Likewise.
37228
d4e2dad3 372292008-07-13 Pavel Roskin <proski@gnu.org>
37230
37231 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
37232 between signed and unsigned.
37233 (LzmaEnc_Finish): Fix warning about an unused parameter.
37234
aa24b516 372352008-07-13 Bean <bean123ch@gmail.com>
37236
37237 * Makefile.in (enable_lzo): New rule.
37238
37239 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
37240
37241 * configure.ac (ENABLE_LZO): New option --enable-lzo.
37242
37243 * boot/i386/pc/lnxboot.S: #include <config.h>.
37244
37245 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 37246 its value according to the compression algorithm used, lzo or lzma.
aa24b516 37247
37248 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
37249 compression algorithm according to configure macro.
37250
37251 * kern/i386/pc/startup.S (codestart): Likewise.
37252
37253 * kern/i386/pc/lzma_decode.S: New file.
37254
37255 * include/grub/lib/LzFind.h: Likewise.
37256
37257 * include/grub/lib/LzHash.h: Likewise.
37258
37259 * include/grub/lib/LzmaDec.h: Likewise.
37260
37261 * include/grub/lib/LzmaEnc.h: Likewise.
37262
37263 * include/grub/lib/LzmaTypes.h: Likewise.
37264
37265 * lib/LzFind.c: Likewise.
37266
37267 * lib/LzmaDec.c: Likewise.
37268
37269 * lib/LzmaEnc.c: Likewise.
37270
4ae821ac 372712008-07-13 Bean <bean123ch@gmail.com>
37272
37273 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
37274 (grub_ext4_extent_header): New structure.
37275 (grub_ext4_extent): Likewise.
37276 (grub_ext4_extent_idx): Likewise.
37277 (grub_ext4_find_leaf): New function.
37278 (grub_ext2_read_block): Handle extents.
37279
9a745147 372802008-07-12 Robert Millan <rmh@aybabtu.com>
37281
37282 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37283
d49a4cf6 372842008-07-11 Robert Millan <rmh@aybabtu.com>
37285
37286 * util/grub.d/40_custom.in: New file. Example on how to add custom
37287 entries to /etc/grub.d.
37288 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
37289 40_custom (implicitly, by merging all the grub.d rules).
37290
947414b4 372912008-07-11 Pavel Roskin <proski@gnu.org>
37292
0059cf6f 37293 * commands/read.c (grub_getline): Fix invalid memory access.
37294 Don't add newline to the variable value.
37295
947414b4 37296 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
37297 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
37298 (serial_hw_get_port): Check validity of the port number.
37299 (grub_cmd_serial): Check return value of serial_hw_get_port().
37300
62a02d00 373012008-07-07 Pavel Roskin <proski@gnu.org>
37302
37303 * boot/i386/pc/diskboot.S (notification_string): Replace
37304 "Loading kernel" with just "loading". This is shorter, less
37305 confusing and saves a few bytes for possible future changes.
37306
3e5581b0 373072008-07-05 Pavel Roskin <proski@gnu.org>
37308
ea387a48 37309 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
37310 size for ATAPI devices, they are undefined. Output sector
37311 number in decimal form.
37312
3e5581b0 37313 * disk/ata.c: Use named constants for status bits.
37314
fdecb8fd 373152008-07-04 Pavel Roskin <proski@gnu.org>
37316
bcd35b90 37317 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
37318 grub_addr_t before casting it to the void pointer to fix a
37319 warning. Non-addressable regions are discarded earlier.
37320 (grub_arch_modules_addr): Cast _end to grub_addr_t.
37321 * kern/i386/linuxbios/table.c: Include grub/misc.h.
37322 (check_signature): Don't shadow table_header.
37323 (grub_linuxbios_table_iterate): Cast numeric constants to
37324 grub_linuxbios_table_header_t.
37325 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
37326 grub_stop().
37327
af58ab3d 37328 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37329 prevent warnings.
37330
1759aa57 37331 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37332 pointer, which can cause warnings. Support 64-bit addresses.
37333
fdecb8fd 37334 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
37335 of sizeof(long). This fixes PowerPC image generation on x86_64.
37336
8516d2a8 373372008-07-04 Robert Millan <rmh@aybabtu.com>
37338
37339 This fixes a performance issue when pc & gpt partmap iterators
37340 didn't abort iteration even after our hook found what it was
fe987087 37341 looking for (often causing expensive probes of non-existent drives).
8516d2a8 37342
37343 Some callers relied on previous buggy behaviour, since they would
34c44600 37344 raise an error when their own hooks caused early abortion of its
8516d2a8 37345 iteration.
37346
37347 * kern/device.c (grub_device_open): Improve error message.
37348 * disk/lvm.c (grub_lvm_open): Likewise.
37349 * disk/raid.c (grub_raid_open): Likewise.
37350
37351 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37352 when hook requests it, independently of grub_errno.
37353 (pc_partition_map_probe): Do not fail when find_func() caused
37354 early abortion of pc_partition_map_iterate().
37355
37356 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37357 when hook requests it, independently of grub_errno.
37358 (gpt_partition_map_probe): Do not fail when find_func() caused
37359 early abortion of gpt_partition_map_iterate().
37360
37361 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37362 when hook requests it, independently of grub_errno. Do not fail when
37363 part_map_iterate_hook() caused early abortion of p->iterate().
37364
37365 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37366 when grub_partition_iterate() returned with non-zero.
37367
277d0de9 373682008-07-03 Pavel Roskin <proski@gnu.org>
37369
37370 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37371 like we do in grub_ata_pio_read().
37372 (grub_ata_readwrite): Always write individual sectors. Fix the
37373 sector count for the remainder.
37374 (grub_ata_write): Enable writing to ATA devices. Correctly
37375 report error for ATAPI devices.
37376
d4c9b428 373772008-07-02 Pavel Roskin <proski@gnu.org>
37378
e43fc690 37379 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37380 warning.
37381
f707af42 37382 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37383 for every read sector, we already increment it for the whole
37384 batch. This fixes reading more than 256 sectors at once.
37385
11e16b15 37386 * util/grub-editenv.c (cmd_info): Cast argument to long
37387 explicitly. ptrdiff_t reduces to int on i386.
37388
cbabfdd4 37389 * util/grub-editenv.c (main): Be specific which parameter is
37390 missing.
37391
b8fbce0a 37392 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37393 (memdisk): Make memdisk_orig_addr a pointer.
37394
c9c8e606 37395 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37396 for file offsets, use grub_off_t instead. Fix printf format
37397 warnings.
37398
ca62e598 37399 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37400 there. Real unexpected warnings should not drown in the noise
37401 about known problems.
37402
ce8d1766 37403 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37404 grub_disk_addr_t for memory addresses.
37405
00c7a56a 37406 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37407 explicitly to fix a warning.
37408
08d3ef09 37409 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37410
cb71ba20 37411 * Makefile.in (MODULE_LDFLAGS): New variable.
37412 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37413 the linker accepts --build-id=none.
37414 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37415 MODULE_LDFLAGS.
37416 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37417
d4c9b428 37418 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37419 those in Linux XFS code. Provide a way to access 64-bit parent
37420 inode.
37421 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37422 the end of struct grub_xfs_dir_header.
37423
d4156eee 374242008-07-02 Bean <bean123ch@gmail.com>
37425
37426 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37427 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37428 and GRUB_IEEE1275_FLAG_NO_ANSI.
37429
37430 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37431 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37432 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37433
37434 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37435 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37436
37437 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37438 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37439
37440 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37441 esc sequence on non ANSI terminal.
37442 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37443
37444 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37445 beginning of file.
37446
2270f77b 374472008-07-02 Bean <bean123ch@gmail.com>
37448
37449 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37450 (grub_editenv_SOURCES): New variable.
37451 (pkglib_MODULES): Add loadenv.mod.
37452 (loadenv_mod_SOURCES): New variable.
37453 (loadenv_mod_CFLAGS): Likewise.
37454 (loadenv_mod_LDFLAGS): Likewise.
37455
37456 * include/grub/envblk.h: New file.
37457
37458 * util/envblk.c: New file.
37459
37460 * util/grub-editenv.c: New file.
37461
37462 * commands/loadenv.c: New file.
37463
0e9e51ec 374642008-07-01 Pavel Roskin <proski@gnu.org>
37465
d89b7634 37466 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37467 not unsigned char. This fixes warnings and is consistent with
37468 other tags.
37469
bf1835b1 37470 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37471
8222a04b 37472 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37473
6a42d99d 37474 * term/tparm.c (analyze): Always set *popcount.
37475
10b159d1 37476 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37477 cast to fix a warning.
37478
b8789f6c 37479 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37480 cast to suppress a warning.
37481
29d7e38a 37482 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37483 grub_fshelp_read_file() expects.
37484
f341f669 37485 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37486 write uuid as a 32-bit value in CPU byte order, so declare and
37487 use it as such.
37488
0e9e51ec 37489 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37490 long if the format specifier expects it.
37491 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37492 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37493 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37494 long to fix a warning.
37495 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37496 grub_dprintf() arguments to fix warnings.
37497
3aefa857 374982008-06-30 Pavel Roskin <proski@gnu.org>
37499
56c7668b 37500 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37501 install_bsd_part immediately before core.img is embedded or
37502 modified on disk. This fixes core.img verification if core.img
37503 cannot be embedded.
37504
3aefa857 37505 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37506 core_path to calculate the blocklist.
37507 Patch from Javier Martín <lordhabbit@gmail.com>
37508
5444088d 375092008-06-29 Robert Millan <rmh@aybabtu.com>
37510
37511 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37512 block to disk block.
37513 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37514 Patch from Niels Böhm <bitbucket@arcor.de>
37515
674835c8 375162008-06-29 Robert Millan <rmh@aybabtu.com>
37517
37518 * util/update-grub_lib.in (font_path): Search for fonts in
37519 /boot/grub first, which is more likely to be readable (we aren't
37520 deciding where fonts live, just looking for them).
37521
f527dbc8 375222008-06-26 Pavel Roskin <proski@gnu.org>
37523
6c2d8df6 37524 * util/biosdisk.c (read_device_map): Don't leave dead map
37525 entries for devices failing stat() check.
37526
f527dbc8 37527 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37528 core_path_dev for the core.img path on the target device.
37529
aebe3d13 375302008-06-26 Robert Millan <rmh@aybabtu.com>
37531
37532 * disk/fs_uuid.c: New file.
37533 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37534 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37535 (fs_uuid_mod_LDFLAGS): New variables.
37536 * include/grub/disk.h (grub_disk_dev_id): Add
37537 `GRUB_DISK_DEVICE_UUID_ID'.
37538 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37539 implement iterate().
37540
37aaf354 375412008-06-26 Robert Millan <rmh@aybabtu.com>
37542
37543 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37544 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37545 Linux image includes no initrd.
37546
25ff262a 375472008-06-21 Javier Martín <lordhabbit@gmail.com>
37548
37549 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37550 call to resolve the core image location that effectively appended the
37551 name twice.
37552
76a2bd44 375532008-06-21 Robert Millan <rmh@aybabtu.com>
37554
37555 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37556 call from here ...
37557
37558 * util/grub.d/10_hurd.in: ... to here ...
37559 * util/grub.d/10_linux.in: ... and here.
37560
650e1c79 375612008-06-19 Robert Millan <rmh@aybabtu.com>
37562
fe987087 37563 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 37564 after it has been set by grub_machine_set_prefix().
37565
6ce63911 375662008-06-19 Robert Millan <rmh@aybabtu.com>
37567
37568 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37569 search result when not saving to variable, not the other way around.
37570 When saving to variable, abort iteration as soon as a match is found.
37571
73940cec 375722008-06-19 Robert Millan <rmh@aybabtu.com>
37573
37574 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37575 check for partition that provides /boot/grub. Its logic is flawed,
37576 as it prevents prepare_grub_to_access_device() from being called
37577 multiple times.
37578
3c62a39d 375792008-06-19 Robert Millan <rmh@aybabtu.com>
37580
37581 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37582 "insmod" command directly when abstraction modules are needed,
fe987087 37583 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 37584 since it had already been processed).
37585
47395a42 375862008-06-19 Pavel Roskin <proski@gnu.org>
37587
37588 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37589 changed. This is needed in case GRUB_LIBDIR changes.
37590 * conf/i386-ieee1275.rmk: Likewise.
37591 * conf/i386-linuxbios.rmk: Likewise.
37592 * conf/i386-pc.rmk: Likewise.
37593 * conf/powerpc-ieee1275.rmk: Likewise.
37594
a145ac2d 375952008-06-18 Pavel Roskin <proski@gnu.org>
37596
37597 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37598 kernel_elf_symlist.c to symlist.c for consistency with other
37599 architectures. Update all users.
37600 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37601
7847c51e 376022008-06-18 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37605 it in prefix.
37606
37607 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37608 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37609 a RAID device, run setup() for all members independently on whether
37610 LVM abstraction is being used.
37611 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37612 If grub-mkimage has set `*install_dos_part == -2', don't override this
37613 value.
37614 Perform *install_dos_part adjustments independently on whether
37615 we're embedding or not.
37616 Clarify error message when image is too big for embedding.
37617 Remove duplicate *install_dos_part stanza.
37618
b23e5644 376192008-06-17 Robert Millan <rmh@aybabtu.com>
37620
37621 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37622 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37623 variables.
37624 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37625 values in grub_ofconsole_normal_color and
37626 grub_ofconsole_highlight_color (they're not directly related to
37627 background and foreground).
37628 (grub_ofconsole_setcolorstate): Extract background and foreground
37629 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37630
0aac2f79 376312008-06-17 Robert Millan <rmh@aybabtu.com>
37632
37633 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37634 /boot/grub for the check in last commit, not /boot (they could be
37635 different partitions).
37636
3cca7ef3 376372008-06-16 Robert Millan <rmh@aybabtu.com>
37638
37639 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37640 asked to setup access for the same partition that provides /boot,
37641 don't bother using UUIDs since our root already has the value we
37642 want.
37643
347396d8 376442008-06-16 Robert Millan <rmh@aybabtu.com>
37645
37646 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37647 I2O devices.
37648 Patch from Sven Mueller <sven@debian.org>.
37649
991477f8 376502008-06-16 Robert Millan <rmh@aybabtu.com>
37651
37652 * util/update-grub.in: Check for $EUID instead of $UID.
37653 Reported by Vincent Zweije.
37654
d31a32a1 376552008-06-16 Bean <bean123ch@gmail.com>
37656
fe987087 37657 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 37658 (grub_ext2_read_block): Likewise.
37659 (grub_ext2_read_inode): Likewise.
37660 (grub_ext2_mount): Likewise.
37661 (grub_ext2_close): Likewise.
37662 (grub_ext3_get_journal): Removed.
37663
fe987087 37664 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 37665 (grub_reiserfs_read_symlink): Likewise.
37666 (grub_reiserfs_mount): Likewise.
37667 (grub_reiserfs_open): Likewise.
37668 (grub_reiserfs_read): Likewise.
37669 (grub_reiserfs_close): Likewise.
37670 (grub_reiserfs_get_journal): Removed.
37671
37672 * fs/fshelp.c (grub_fshelp_read): Removed.
37673 (grub_fshelp_map_block): Likewise.
37674
37675 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37676 (grub_fshelp_journal): Likewise.
37677 (grub_fshelp_read): Likewise.
37678 (grub_fshelp_map_block): Likewise.
37679
3540a760 376802008-06-16 Pavel Roskin <proski@gnu.org>
37681
37682 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37683 floating point anymore.
37684 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37685
95614c84 376862008-06-15 Pavel Roskin <proski@gnu.org>
37687
37688 * commands/ls.c (grub_ls_list_files): Use integer calculations
37689 for human readable format, avoid floating point use.
37690 * kern/misc.c (grub_ftoa): Remove.
37691 (grub_vsprintf): Remove floating point support.
37692
50465dd6 376932008-06-15 Robert Millan <rmh@aybabtu.com>
37694
fe6b695a 37695 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 37696 devices.
37697 Reported by Max Vozeler.
37698
a9207284 376992008-06-15 Robert Millan <rmh@aybabtu.com>
37700
37701 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37702 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37703 skipped later.
37704 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37705 the beginning of the prefix.
37706
37707 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37708 It is assumed that if we have a memdisk, grub-mkimage has set
37709 grub_prefix to include the "(memdisk)" drive in it.
37710
a7cbd45a 377112008-06-15 Robert Millan <rmh@aybabtu.com>
37712
37713 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37714 Initialize keyboard controller after registering the terminal, so that
37715 grub_printf() can be called from grub_keyboard_controller_init().
37716
21cf716a 377172008-06-15 Robert Millan <rmh@aybabtu.com>
37718
37719 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37720 extent-btree which is written as big endian on disk.
37721 Reported by Alain Greppin <al@chilibi.org>.
37722
23a64d8e 377232008-06-14 Robert Millan <rmh@aybabtu.com>
37724
37725 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37726 * util/i386/pc/grub-install.in (modules): Likewise.
37727
d687651c 377282008-06-13 Pavel Roskin <proski@gnu.org>
37729
37730 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37731
dfe9ddd4 377322008-06-13 Bean <bean123ch@gmail.com>
37733
37734 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37735
37736 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37737
37738 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37739 to indicate sparse block.
37740
16ae7781 377412008-06-12 Pavel Roskin <proski@gnu.org>
37742
e6d1a308 37743 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37744 number, grub_fshelp_read() does it for us.
37745
16ae7781 37746 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37747 linear disk read with journal translation.
37748 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37749 * include/grub/fshelp.h: Declare grub_fshelp_read().
37750
40fd3a2b 377512008-06-09 Pavel Roskin <proski@gnu.org>
37752
37753 * fs/minix.c (grub_minix_mount): Handle error reading
37754 superblock.
37755
f5679726 377562008-06-08 Robert Millan <rmh@aybabtu.com>
37757
37758 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37759 don't append the RAID prefix afterwards.
37760 Reported by Clint Adams.
37761
ce525529 377622008-06-08 Robert Millan <rmh@aybabtu.com>
37763
37764 Based on description from Pavel:
37765 * kern/disk.c (grub_disk_check_range): Rename to ...
37766 (grub_disk_adjust_range): ... this. Add a comment explaining the
37767 tasks performed by this function.
37768
ad4936a0 377692008-06-08 Robert Millan <rmh@aybabtu.com>
37770
37771 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37772 `num_serial' (for consistency with other variables).
37773 (struct grub_ntfs_data): Add `uuid' member.
37774 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37775 (grub_ntfs_uuid): New function.
37776 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37777
dc20b0f9 377782008-06-07 Pavel Roskin <proski@gnu.org>
37779
37780 * util/biosdisk.c (open_device): Revert last change to the
37781 function, it broke installation. The sector needs to be
37782 different dependent on which device is opened.
37783
c5e3cfba 377842008-06-06 Robert Millan <rmh@aybabtu.com>
37785
37786 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37787 rest of GRUB, and breakage doesn't happen if its value were modified.
37788
37789 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37790 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37791 a constant (same value).
37792 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37793 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37794
26a1f8c4 377952008-06-06 Robert Millan <rmh@aybabtu.com>
37796
37797 * util/biosdisk.c (open_device): Do not modify sector offset when
37798 accessing a partition. kern/disk.c already handles this for us.
37799
25d6b327 378002008-06-06 Robert Millan <rmh@aybabtu.com>
37801
37802 * util/grub-emu.c (grub_machine_init): Move code in this function from
37803 here ...
37804 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37805 segfault in case grub_printf() is called).
37806
37807 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37808 grub_probe. Update all users not to explicitly add it again.
37809 (grub_device): New variable; contains corresponding device for grubdir.
37810 (fs_module, partmap_module, devabstraction_module): Pass
37811 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37812 every time.
37813
9ece62fb 378142008-06-05 Robert Millan <rmh@aybabtu.com>
37815
37816 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37817 is found, print it (same layout as with labels).
37818
1ad36d37 378192008-06-04 Robert Millan <rmh@aybabtu.com>
37820
37821 * util/biosdisk.c (get_drive): Rename to ...
37822 (find_grub_drive): ... this. Update all users.
37823
37824 (get_os_disk): Rename to ...
37825 (convert_system_partition_to_system_disk): ... this. Update all users.
37826
37827 (find_drive): Rename to ...
37828 (find_system_device): ... this. Update all users.
37829
e6a30859 378302008-06-04 Robert Millan <rmh@aybabtu.com>
37831
37832 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37833 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37834 (make_device_map): Likewise.
37835
00c108a4 378362008-06-01 Robert Millan <rmh@aybabtu.com>
37837
37838 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37839 before dereferencing it.
37840
37841 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37842 union with fat12/fat16-specific ones. Add some new fields, including
37843 `num_serial' for both versions.
37844 (struct grub_fat_data): Add `uuid' member.
37845 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37846 names. Initialize `data->uuid' using `num_serial'.
37847 (grub_fat_uuid): New function.
37848 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37849
37850 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37851 (grub_reiserfs_uuid): New function.
37852 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37853 member.
37854
37855 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37856 (grub_xfs_uuid): New function.
37857 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37858
1385c5bb 378592008-06-01 Robert Millan <rmh@aybabtu.com>
37860
37861 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37862 code that is backward compatible with pre-uuid search command.
37863
c682dfd7 378642008-05-31 Robert Millan <rmh@aybabtu.com>
37865
37866 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37867 floppies after everything else, to ensure floppy drive isn't accessed
37868 unnecessarily (patch from Bean).
37869
b7db5d47 378702008-05-31 Robert Millan <rmh@aybabtu.com>
37871
37872 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37873 not print device names when we were asked to set a variable.
37874
6e037aa9 378752008-05-31 Robert Millan <rmh@aybabtu.com>
37876
37877 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37878 using "cursor-on" and "cursor-off" commands (understood at least by
37879 the Open Firmware flavour on OLPC).
37880
41305bc8 378812008-05-31 Michael Gorven <michael@gorven.za.net>
37882
37883 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37884 on and off sequences.
37885
69ba137e 378862008-05-31 Robert Millan <rmh@aybabtu.com>
37887
37888 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
37889 * util/update-grub.in: Likewise.
37890
520ae21b 378912008-05-30 Pavel Roskin <proski@gnu.org>
37892
37893 * util/biosdisk.c (linux_find_partition): Simplify logic and
37894 make the code more universal. Keep special processing for
37895 devfs, but use a simple rule for all other devices. If the
37896 device ends with a number, append 'p' and the partition number.
37897 Otherwise, append only the partition number.
37898
5786569b 378992008-05-30 Robert Millan <rmh@aybabtu.com>
37900
37901 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
37902 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
37903 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
37904 the `root' parameter to Linux.
37905
51500452 379062008-05-30 Robert Millan <rmh@aybabtu.com>
37907
37908 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
37909 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
37910 --fs_uuid with --fs-uuid.
37911 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
37912 all filesystems support them).
37913
811d3878 379142008-05-30 Robert Millan <rmh@aybabtu.com>
37915
37916 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 37917 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 37918
cab63c95 379192008-05-30 Robert Millan <rmh@aybabtu.com>
37920
37921 * util/grub.d/00_header.in: Remove obsolete comment referencing
37922 convert_system_path_to_grub_path().
37923 * util/update-grub.in: Likewise.
37924 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
37925 (convert_system_path_to_grub_path): Add a warning message explaining
37926 that this function is deprecated. Rely on is_path_readable_by_grub()
37927 for the readability checks.
37928 (font_path): Use is_path_readable_by_grub() for the readability
37929 check rather than convert_system_path_to_grub_path().
37930
972e2f7a 379312008-05-30 Robert Millan <rmh@aybabtu.com>
37932
37933 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
37934 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
37935 converting it first.
37936 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
37937 grub.cfg for access to font file, and afterwards call it again to set
37938 the root device.
37939
62191274 379402008-05-30 Robert Millan <rmh@aybabtu.com>
37941
37942 * commands/search.c (options): Add --fs_uuid option.
37943 (search_fs_uuid): New function.
37944 (grub_cmd_search): Fix --set argument passing.
37945 Use search_fs_uuid() when requested via --fs_uuid.
37946 (grub_search_init): Update help message.
37947 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
37948 and redeclare it as an array of 16-bit words.
37949 (grub_ext2_uuid): New function.
37950 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
37951 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
37952 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
37953 (GRUB_DEVICE_BOOT_UUID): New variables.
37954 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
37955 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
37956 whenever possible.
37957 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
37958 just assume `root' variable has the right value.
37959 * util/grub.d/10_linux.in: Likewise.
37960 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
37961 via PRINT_FS_UUID.
37962 (main): Recognise `-t fs_uuid' argument.
37963
01b73ec8 379642008-05-30 Robert Millan <rmh@aybabtu.com>
37965
37966 * util/biosdisk.c (map): Redefine structure to hold information
37967 about GRUB drive name.
fe6b695a 37968 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 37969 drive names.
37970 (call_hook): Remove.
37971 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
37972 member. Assume drive has partitions.
37973 (grub_util_biosdisk_open): Access device names via `.device' struct
37974 member.
37975 (open_device): Likewise.
37976 (find_drive): Likewise.
37977 (read_device_map): Adjust map[] usage to match the new struct
37978 definition. Don't check for duplicates (still possible, but not cheap
37979 anymore).
37980 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
37981 (make_device_name): Remove assumption of BIOS-like drive names.
37982
22f16596 379832008-05-30 Pavel Roskin <proski@gnu.org>
37984
37985 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
37986 compiling execute.c doesn't need grub_script.tab.h anymore.
37987 (normal/command.c_DEPENDENCIES): Likewise.
37988 (normal/function.c_DEPENDENCIES): Likewise.
37989 * conf/i386-ieee1275.rmk: Likewise.
37990 * conf/i386-linuxbios.rmk: Likewise.
37991 * conf/i386-pc.rmk: Likewise.
37992 * conf/powerpc-ieee1275.rmk: Likewise.
37993 * conf/sparc64-ieee1275.rmk: Likewise.
37994
528ad8f2 379952008-05-29 Pavel Roskin <proski@gnu.org>
37996
d1dff95d 37997 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37998 when scanning metadata for volume group name.
37999
528ad8f2 38000 * include/grub/script.h: Don't include grub_script.tab.h. It's
38001 a generated file, which may only be included from the files with
38002 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38003 use union YYSTYPE, as the later allows forward declaration.
38004 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38005
47248e08 380062008-05-29 Robert Millan <rmh@aybabtu.com>
38007
38008 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38009 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38010 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38011 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38012 scan codes.
38013
ee632529 380142008-05-29 Robert Millan <rmh@aybabtu.com>
38015
38016 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38017 control key combinations.
38018
eee96e08 380192008-05-29 Robert Millan <rmh@aybabtu.com>
38020
38021 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38022 * util/ieee1275/grub-install.in: ... to here.
38023 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38024 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38025 (grub_install_SOURCES): Likewise.
38026
da9a6a94 380272008-05-29 Robert Millan <rmh@aybabtu.com>
38028
38029 * fs/affs.c: Update copyright year.
38030 * fs/ext2.c: Likewise.
38031 * fs/fshelp.c: Likewise.
38032 * fs/hfsplus.c: Likewise.
38033 * fs/ntfs.c: Likewise.
38034 * fs/xfs.c: Likewise.
38035 * include/grub/fshelp.h: Likewise.
38036 * util/grub-mkdevicemap.c: Likewise.
38037
12e65f3a 380382008-05-28 Robert Millan <rmh@aybabtu.com>
38039
38040 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38041 might need to be fatfs to support some firmware implementations
38042 (e.g. OFW or EFI).
38043
23023641 380442008-05-28 Robert Millan <rmh@aybabtu.com>
38045
38046 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38047 devices.
38048 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38049 (make_device_map): Likewise.
38050
887d2619 380512008-05-20 Bean <bean123ch@gmail.com>
38052
38053 * fs/fshelp.c (grub_fshelp_map_block): New function.
38054 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38055 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38056
38057 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38058 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38059 (grub_fshelp_journal): New structure.
38060 (grub_fshelp_map_block): New function prototype.
38061 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38062 (grub_fshelp_map_block): Likewise.
38063
38064 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38065 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38066 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38067 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38068 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38069 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38070 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38071 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38072 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38073 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38074 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38075 (grub_ext2_sblock): New members for journal support.
38076 (grub_ext3_journal_header): New structure.
38077 (grub_ext3_journal_revoke_header): Likewise.
38078 (grub_ext3_journal_block_tag): Likewise.
38079 (grub_ext3_journal_sblock): Likewise.
38080 (grub_fshelp_node): New members logfile and journal.
38081 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38082 grub_fshelp_map_block to get real block number.
38083 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38084 number.
38085 (grub_ext2_read_inode): Likewise.
38086 (grub_ext3_get_journal): New function.
38087 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38088 (grub_ext2_close): Release memory used by journal.
38089
38090 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38091 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38092 (grub_reiserfs_transaction_header): Renamed to
38093 grub_reiserfs_description_block, replace field data with real_blocks.
38094 (grub_reiserfs_commit_block): New structure.
38095 (grub_reiserfs_data): New member journal.
38096 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38097 number.
38098 (grub_reiserfs_read_symlink): Likewise.
38099 (grub_reiserfs_iterate_dir): Likewise.
38100 (grub_reiserfs_open): Likewise.
38101 (grub_reiserfs_read): Likewise.
38102 (grub_reiserfs_get_journal): New function.
38103 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38104 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38105 using grub_reiserfs_get_journal.
38106 (grub_reiserfs_close): Release memory used by journal.
38107
38108 * fs/affs.c (grub_affs_read_block): Change block type to
38109 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38110
38111 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38112
38113 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38114
38115 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38116
38117 * fs/udf.c (grub_udf_read_block): Change block type to
38118 grub_disk_addr_t. Use type cast to avoid warning.
38119
38120 * fs/xfs.c (grub_xfs_read_block): Likewise.
38121
b7c6bed5 381222008-05-16 Christian Franke <franke@computer.org>
38123
38124 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38125 to ensure that break with ESC will always work.
38126 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38127 Remove ESC from keyboard queue.
38128
eedf167f 381292008-05-16 Christian Franke <franke@computer.org>
38130
38131 * util/biosdisk.c: [__CYGWIN__] Add includes.
38132 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38133 (get_os_disk): Move variable declarations to OS specific
38134 parts to avoid warning.
38135 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38136 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38137 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38138 Cygwin.
38139 * util/getroot.c: [__CYGWIN__] Add includes.
38140 (strip_extra_slashes): Fix "/" case.
38141 [__CYGWIN__] (get_win32_path): New function.
38142 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38143 [__CYGWIN__] (find_root_device): Disable.
38144 [__CYGWIN__] (get_bootsec_serial): New function.
38145 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38146 [__linux__] (grub_guess_root_device): Add early returns to simplify
38147 structure.
38148 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38149 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38150 check for Linux only.
38151
a079699e 381522008-05-15 Bean <bean123ch@gmail.com>
38153
38154 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38155 keyboard hang problem in apple's intel mac.
38156
1cf4059a 381572008-05-09 Robert Millan <rmh@aybabtu.com>
38158
38159 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38160 devices.
38161 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38162 (make_device_map): Likewise.
38163 Reported by Aurelien Jarno <aurel32@debian.org>
38164
ed759390 381652008-05-07 Ian Campbell <ijc@hellion.org.uk>
38166
38167 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38168 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38169 (make_device_map): Output entries for xvd type disks.
38170
b56c4eaa 381712008-05-07 Robert Millan <rmh@aybabtu.com>
38172
38173 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38174 devices.
38175 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38176 (make_device_map): Likewise.
38177 Reported by Roland Dreier <rdreier@cisco.com>
38178
7f8866ed 381792008-05-07 Robert Millan <rmh@aybabtu.com>
38180
38181 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38182 grub_strstr() call. Correct a few mistakes in failure path handling.
38183
b0346e0f 381842008-05-06 Robert Millan <rmh@aybabtu.com>
38185
38186 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38187 Do not print a trailing slash (therefore, the root directory is an
38188 empty string).
38189 (convert_system_path_to_grub_path): Do not remove trailing slash
38190 from make_system_path_relative_to_its_root() output.
38191
38192 * util/i386/pc/grub-install.in: Add trailing slash to output from
38193 make_system_path_relative_to_its_root().
38194
6cf12cbd 381952008-05-06 Robert Millan <rmh@aybabtu.com>
38196
38197 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
38198 ensures that output lines aren't intermangled with those sent to
38199 stderr (via grub_util_info()).
38200 * util/grub-probe.c (grub_refresh): Likewise.
38201 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
38202
0fbb3117 382032008-05-05 Christian Franke <franke@computer.org>
38204
38205 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
38206 Add Cygwin device names.
38207 (get_ide_disk_name) [__CYGWIN__]: Likewise.
38208 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
38209 (check_device): Return error instead of success on empty name.
38210 (make_device_map): Move label inside linux specific code to
38211 prevent compiler warning.
38212
8124cdb7 382132008-04-30 Robert Millan <rmh@aybabtu.com>
38214
38215 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
38216 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
38217 first boot option.
38218 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
38219
094c01d0 382202008-04-29 Robert Millan <rmh@aybabtu.com>
38221
38222 * docs/grub.cfg: New file (example GRUB configuration).
38223
f4b1fc02 382242008-04-26 Robert Millan <rmh@aybabtu.com>
38225
329ce2a5 38226 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
38227 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
38228 and `disk/ieee1275/nand.c'.
f4b1fc02 38229
25f16ec1 382302008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 38231
25f16ec1 38232 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
38233 i386-linuxbios.
38234
38235 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
38236 change the buffer size to 4096 for cdrom device.
38237
38238 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
38239 and nand.mod.
38240 (_linux_mod_SOURCES): New variable.
38241 (_linux_mod_CFLAGS): Likewise.
38242 (_linux_mod_LDFLAGS): Likewise.
38243 (linux_mod_SOURCES): Likewise.
38244 (linux_mod_CFLAGS): Likewise.
38245 (linux_mod_LDFLAGS): Likewise.
38246 (nand_mod_SOURCES): Likewise.
38247 (nand_mod_CFLAGS): Likewise.
38248 (nand_mod_LDFLAGS): Likewise.
38249
38250 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
38251 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
38252 type property. (nand device in olpc don't have this property)
38253
38254 * include/grub/disk.h (grub_disk_dev_id): New macro
38255 GRUB_DISK_DEVICE_NAND_ID.
38256
38257 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
38258 function prototype.
38259 (grub_rescue_cmd_initrd): Likewise.
38260
38261 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
38262 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
38263 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 38264
25f16ec1 38265 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
38266 GRUB_MACHINE_IEEE1275 is defined.
38267
38268 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
38269 Use NESTED_FUNC_ATTR attribute on the hook parameter.
38270
38271 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
38272 on nested function heap_init.
38273 (grub_upper_mem): New variable for i386-ieee1275.
38274 (grub_get_extended_memory): New function for i386-ieee1275.
38275 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
38276
38277 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
38278 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
38279 property.
f19dbdb7 38280
25f16ec1 38281 * loader/i386/ieee1275/linux.c: New file.
38282
38283 * loader/i386/ieee1275/linux_normal.c: New file.
38284
38285 * disk/ieee1275/nand.c: New file.
38286
e89d61e9 382872008-04-18 Thomas Schwinge <tschwinge@gnu.org>
38288
38289 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
38290 value.
38291 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
38292
602566f6 382932008-04-18 Robert Millan <rmh@aybabtu.com>
38294
38295 Restructures early code path on ieee1275 to unify grub_main() as
38296 the first C function that is executed in every platform.
38297
38298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
38299 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
38300 cmain().
38301 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
38302 * kern/ieee1275/cmain.c (cmain): Rename to ...
38303 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
38304 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
38305 at the beginning.
38306
57490c2b 383072008-04-18 Robert Millan <rmh@aybabtu.com>
38308
38309 * util/update-grub.in: Fix syntax error when setting
38310 `GRUB_PRELOAD_MODULES'.
38311 Reported by Stephane Chazelas <stephane@artesyncp.com>
38312
1977517d 383132008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
38314
38315 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
38316 section into account, newer toolchains generate unique build ids
38317 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 38318 we want build ids to be preserved
1977517d 38319 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
38320 far from other sections don't cause the raw binary images grow
38321 size
38322
bfb1f1a2 383232008-04-15 Robert Millan <rmh@aybabtu.com>
38324
38325 * disk/lvm.c: Update copyright year.
38326 * kern/misc.c: Likewise.
38327
01979850 383282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38329
38330 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 38331 there is no memory left for physical volume name.
01979850 38332
0a1150e2 383332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38334
38335 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
38336 volume name mapping to support bigger than 9 character names properly.
38337
82ead3fe 383382008-04-13 Robert Millan <rmh@aybabtu.com>
38339
38340 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
38341 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
38342
e54a72f5 383432008-04-13 Christian Franke <franke@computer.org>
38344
38345 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
38346 to create a floppy emulation boot CD when non emulation mode
38347 does not work.
38348 Enable Joliet CD filesystem extension.
38349
9fe86034 383502008-04-13 Robert Millan <rmh@aybabtu.com>
38351
38352 * kern/misc.c (grub_strncat): Fix off-by-one error.
38353 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38354
38355 * kern/env.c (grub_env_context_close): Clear current context, not
38356 previous one.
38357 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38358
38359 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38360
7ceeee39 383612008-04-13 Robert Millan <rmh@aybabtu.com>
38362
38363 Improve robustness when handling LVM.
38364
38365 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 38366 (and leave `*p' unmodified).
7ceeee39 38367 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38368 through it.
38369 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38370 iterating through it.
38371 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38372 through it.
fe6b695a 38373 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 38374 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38375 Don't assume `vg->pvs != NULL' when iterating through it.
38376
58cd3d85 383772008-04-13 Robert Millan <rmh@aybabtu.com>
38378
38379 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38380 * genmk.rb (partmap): New variable.
38381 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38382 (#{partmap}): New target rule.
38383 * genpartmaplist.sh: New file.
38384 * Makefile.in (pkglib_DATA): Add partmap.lst.
38385 (partmap.lst): New target rule.
38386 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38387 modules (including all partition maps), instead of preloading them.
38388
78b51059 383892007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38390
38391 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38392 `linux-boot-prober' (if installed) to detect other operating
38393 systems which are installed on the computer and add them to
38394 the boot menu.
38395 * conf/common.rmk: Build and install 30_os-prober.
38396
a91627b4 383972008-04-12 Robert Millan <rmh@aybabtu.com>
38398
38399 * kern/powerpc/ieee1275/init.c: Move from here ...
38400 * kern/ieee1275/init.c: ... to here. Update all users.
38401
38402 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38403 * kern/ieee1275/cmain.c: ... to here. Update all users.
38404
38405 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38406 * kern/ieee1275/openfw.c: ... to here. Update all users.
38407
38408 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38409 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38410
322562ea 384112008-04-10 Pavel Roskin <proski@gnu.org>
38412
38413 * configure.ac: Always use "_cv_" in cache variables for
38414 compatibility with Autoconf 2.62.
38415
a02a73c5 384162008-04-07 Robert Millan <rmh@aybabtu.com>
38417
38418 Revert grub/machine/init.h addition by Pavel (since it breaks on
38419 i386-ieee1275 and others):
38420 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38421 * util/powerpc/ieee1275/misc.c: Likewise.
38422
25c024b1 384232008-04-07 Robert Millan <rmh@aybabtu.com>
38424
38425 * util/grub-probe.c (probe): Improve error message.
38426
3cbd2f98 384272008-04-07 Robert Millan <rmh@aybabtu.com>
38428
38429 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38430 (this prevents the presence of a bogus entry from ruining the whole
38431 thing).
38432
87a297bf 384332008-04-06 Pavel Roskin <proski@gnu.org>
38434
36747a62 38435 * util/biosdisk.c: Include grub/util/biosdisk.h.
38436 * util/grub-fstest.c (execute_command): Make static.
38437 * util/grub-mkdevicemap.c (check_device): Likewise.
38438 * util/i386/pc/misc.c: Include grub/machine/init.h.
38439 * util/powerpc/ieee1275/misc.c: Likewise.
38440 * util/lvm.c: Include grub/util/lvm.h.
38441 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38442 grub/cache.h.
38443 * util/raid.c: Include grub/util/raid.h.
38444 (grub_util_getdiskname): Make static.
38445
87a297bf 38446 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38447 grub_hostfs_fini(), as they are called from grub_init_all() and
38448 grub_fini_all() respectively. This fixes an infinite loop in
38449 grub-fstest due to double registration of hostfs.
38450 Reported by Christian Franke <Christian.Franke@t-online.de>
38451
f6ce7629 384522008-04-05 Pavel Roskin <proski@gnu.org>
38453
38454 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38455 all 8 functions. Otherwise, probe function 0 only.
38456
070e49e4 384572008-04-04 Pavel Roskin <proski@gnu.org>
38458
8b088a4c 38459 * commands/lspci.c (grub_lspci_iter): Print the bus number
38460 correctly.
38461
4f657021 38462 * commands/lspci.c (grub_pci_classes): Fix typos.
38463 (grub_lspci_iter): Don't print func twice. Print vendor ID
38464 before device ID, as it's normally done.
38465
070e49e4 38466 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38467 Fix signedness warnings.
38468 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38469 Likewise.
38470 * util/ieee1275/get_disk_name.c: Include config.h so that
38471 _GNU_SOURCE is defined and getline() is declared. Mark an
38472 unused argument as such. Fix a signedness warning.
38473
ba7328dc 384742008-04-02 Pavel Roskin <proski@gnu.org>
38475
26887f22 38476 * genkernsyms.sh.in: Use more robust assignments for CC and
38477 srcdir. Quote srcdir.
38478 * gensymlist.sh.in: Likewise. Assert at the compile time that
38479 the symbol table is not empty.
38480
ba7328dc 38481 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38482 * fs/cpio.c (grub_cpio_read): Likewise.
38483
0f582c6b 384842008-04-01 Pavel Roskin <proski@gnu.org>
38485
4b6e1995 38486 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38487 * disk/host.c (grub_host_open): Likewise.
38488 * disk/loopback.c (grub_loopback_open): Likewise.
38489 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38490 disk->id as in disk/host.c, not a multi-character constant.
38491
828a2768 38492 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38493 later is obsolete, potentially dangerous and sets a bad example.
38494 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38495 * util/misc.c (grub_util_get_image_size): Likewise.
38496
2bb4fb47 38497 * disk/loopback.c (options): Improve help for "--partitions".
38498
0f582c6b 38499 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38500 options to align them with the short options, e.g. "echo -e".
38501
a33224e0 385022008-03-31 Bean <bean123ch@gmail.com>
38503
38504 * video/reader/png.c (grub_png_data): New member is_16bit and
38505 image_data.
38506 (grub_png_decode_image_header): Detect 16 bit png image.
38507 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38508 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38509 (grub_video_reader_png): Release memory occupied by image_data.
38510
38511 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38512 4096 bytes.
38513 (grub_nfs_mount): Skip the test for sector per cluster.
38514
38515 * include/grub/ntfs.h (MAX_SPC): Removed.
38516
86cb4f54 385172008-03-31 Bean <bean123ch@gmail.com>
38518
38519 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38520 (grub_probe_SOURCES): Add fs/afs.c.
38521 (grub_fstest_SOURCES): Likewise.
38522 (afs_mod_SOURCES): New variable.
38523 (afs_mod_CFLAGS): Likewise.
38524 (afs_mod_LDFLAGS): Likewise.
38525
38526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38527 (grub_emu_SOURCES): Likewise.
38528
38529 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38530
38531 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38532
38533 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38534
38535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38536
38537 * fs/afs.c: New file.
38538
17c74c21 385392008-03-30 Pavel Roskin <proski@gnu.org>
38540
4cb68e89 38541 * disk/host.c: Include grub/misc.h to fix a warning.
38542 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38543 warnings about implicit declarations.
38544
8790bb04 38545 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38546 variable.
38547 * include/grub/i386/loader.h: Change declaration of
38548 grub_linux_boot() to match what grub_loader_set() expects.
38549 * util/getroot.c (grub_guess_root_device): Return const char* to
38550 fix a warning.
38551 * util/grub-probe.c (probe): Fix a warning about uninitialized
38552 abstraction_name variable.
38553 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38554 second argument as unused to fix a warning.
38555
9a3f3296 38556 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38557 missing grub_error() call.
38558
0ecef90d 38559 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38560 2.60 and newer uses it to define datadir.
38561
0bf6d401 38562 * commands/sleep.c: Fix warning about implicit declaration.
38563 * disk/memdisk.c: Likewise.
38564 * loader/aout.c: Likewise.
38565 * loader/i386/bsd_normal.c: Likewise.
38566 * util/grub-probe.c: Likewise.
38567
7cdacf97 38568 * commands/i386/cpuid.c (has_longmode): Make static.
38569 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38570 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38571
17c74c21 38572 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38573 GDT. This is more robust, as %ds can change.
38574 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38575 calling real_to_prot().
38576 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38577
80a3e68b 385782008-03-28 Pavel Roskin <proski@gnu.org>
38579
38580 * kern/i386/pc/startup.S: Assert that uncompressed functions
38581 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38582 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38583 code, as they push parts of the code (error handlers) beyond
38584 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38585 code as correctness and size.
38586
77bcd272 385872008-03-28 Pavel Roskin <proski@gnu.org>
38588
38589 * kern/i386/pc/startup.S
38590 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38591 data block address to the real mode, keep offset minimal. This
38592 works around a bug in AWARD BIOS on old Athlon systems, which
38593 makes CD detection hang.
38594
c5dfd43b 385952008-03-26 Pavel Roskin <proski@gnu.org>
38596
38597 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38598 const.
38599 * include/grub/normal.h: Add grub_parse_color_name_pair()
38600 declaration.
38601
bf962df2 386022008-03-24 Bean <bean123ch@gmail.com>
38603
38604 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38605 (cd_count): Removed.
38606 (cd_drive): New variable.
38607 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38608 (grub_biosdisk_call_hook): Likewise.
38609 (grub_biosdisk_iterate): Change cdrom detection method.
38610 (grub_biosdisk_open): Replace cd_start with cd_drive.
38611 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38612 detect cdrom device.
38613
38614 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38615 Removed.
38616 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38617 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38618 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38619 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38620 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38621 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38622 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38623 (grub_biosdisk_cdrp): New structure.
38624 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38625
38626 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38627
38628 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38629 device.
38630
38631 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38632 New function.
38633
68e7fc7a 386342008-03-20 Robert Millan <rmh@aybabtu.com>
38635
38636 Remove 2 TiB limit in ata.mod.
38637 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38638 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38639 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38640 grub_uint64_t instead of grub_uint32_t.
38641
38ad2cf5 386422008-03-05 Bean <bean123ch@gmail.com>
38643
38644 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38645 (grub_multiboot): Set boot device.
38646
38647 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38648
2b89344e 386492008-03-02 Bean <bean123ch@gmail.com>
38650
38651 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38652 symlink_buffer.
38653
87a95d1f 386542008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38655
38656 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38657 texinfo.tex.
38658
38659 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38660 modified.
38661
38662 * docs/fdl.texi: New file.
f19dbdb7 38663
87a95d1f 38664 * docs/mdate-sh: New file. Copied from gnulib.
38665 * docs/texinfo.tex: Likewise.
38666
38667 * config.guess: Updated from gnulib.
38668 * install-sh: Likewise.
38669
7dc15d8e 386702008-02-28 Robert Millan <rmh@aybabtu.com>
38671
38672 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38673 (aout_mod_SOURCES): New variable.
38674 (aout_mod_CFLAGS): Likewise.
38675 (aout_mod_LDFLAGS): Likewise.
38676
38677 * conf/i386-ieee1275.rmk: Likewise.
38678
b00ab696 386792008-02-28 Robert Millan <rmh@aybabtu.com>
38680
38681 * util/update-grub.in: Reorganise terminal validity check. Accept
38682 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38683 Based on suggestion by Franklin PIAT.
38684
79ca2d78 386852008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38686
38687 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38688 function.
38689 * util/getroot.c (grub_util_check_block_device): New function that
38690 returns the given argument if it is a block device and returns NULL else.
38691 * util/grub-probe.c (argument_is_device): New variable.
38692 (probe): Promote device_name from a variable to an argument. Receive
38693 device_name from grub_util_check_block_device() if path is NULL and from
38694 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 38695 (options): Introduce new parameter '-d, --device'.
79ca2d78 38696 (main): Add description of the new parameter to the help screen.
38697 Rename path variable to argument. Set argument_is_device if the '-d'
38698 option is given. Pass argument to probe() depending on
38699 argument_is_device.
38700
0d16e571 387012008-02-24 Bean <bean123ch@gmail.com>
38702
38703 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38704 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38705 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38706 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38707 (GRUB_ISO9660_VOLDESC_END): Likewise.
38708 (grub_iso9660_primary_voldesc): New member escape.
38709 (grub_iso9660_data): New member joliet.
38710 (grub_iso9660_convert_string): New function.
38711 (grub_iso9660_mount): Detect joliet extension.
38712 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38713 (grub_iso9660_iso9660_label): Likewise.
38714
38715 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38716 (grub_setup_SOURCES): Add fs/udf.c.
38717 (grub_fstest_SOURCES): Likewise.
38718 (udf_mod_SOURCES): New variable.
38719 (udf_mod_CFLAGS): Likewise.
38720 (udf_mod_LDFLAGS): Likewise.
38721
38722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38723 (grub_emu_SOURCES): Likewise.
38724
38725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38726
38727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38728
38729 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38730
38731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38732
38733 * fs/udf.c: New file.
38734
8a594a17 387352008-02-24 Robert Millan <rmh@aybabtu.com>
38736
38737 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38738 (normal/lexer.c_DEPENDENCIES): New variables.
38739 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38740 (normal/lexer.c_DEPENDENCIES): Likewise.
38741 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38742 (normal/lexer.c_DEPENDENCIES): Likewise.
38743 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38744 (normal/lexer.c_DEPENDENCIES): Likewise.
38745 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38746 (normal/lexer.c_DEPENDENCIES): Likewise.
38747 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38748 (normal/lexer.c_DEPENDENCIES): Likewise.
38749
2dc33c03 387502008-02-23 Robert Millan <rmh@aybabtu.com>
38751
38752 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38753 since they were intended to be in hex. This didn't break previously
38754 because of a bug in gpt_partition_map_iterate() (see below).
38755
38756 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38757 when checking the validity of GPT header.
38758 Remove `partno', since it always provides the same information as `i'.
38759
f6f4cfb0 387602008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38761
38762 * include/grub/efi/time.h: Fix a wrong comment.
38763
79ff665f 387642008-02-19 Pavel Roskin <proski@gnu.org>
38765
38766 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38767 message.
38768
d38e24c2 387692008-02-19 Bean <bean123ch@gmail.com>
38770
38771 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38772 (aout_mod_SOURCES): New variable.
38773 (aout_mod_CFLAGS): Likewise.
38774 (aout_mod_LDFLAGS): Likewise.
38775 (_bsd_mod_SOURCES): New variable.
38776 (_bsd_mod_CFLAGS): Likewise.
38777 (_bsd_mod_LDFLAGS): Likewise.
38778 (bsd_mod_SOURCES): New variable.
38779 (bsd_mod_CFLAGS): Likewise.
38780 (bsd_mod_LDFLAGS): Likewise.
38781
38782 * include/grub/aout.h: New file.
38783
38784 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38785
38786 * include/grub/i386/bsd.h: New file.
38787
38788 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38789 to make it public.
38790
38791 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38792 function is called, so that it's possible to change it inside the hook.
38793 (grub_elf64_load): Likewise.
38794 (grub_elf_file): Don't close the file if elf header is not found.
38795 (grub_elf_close): Close the file if grub_elf_file fails (The new
38796 grub_elf_file won't close it).
38797 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38798 (grub_elf64_size): Likewise.
38799
38800 * kern/i386/loader.S (grub_unix_real_boot): New function.
38801
38802 * loader/aout.c: New file.
38803
38804 * loader/i386/bsd.c: New file.
38805
38806 * loader/i386/bsd_normal.c: New file.
38807
38808 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38809
38810 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 38811 can test other formats.
d38e24c2 38812
b93bdb0f 388132008-02-19 Robert Millan <rmh@aybabtu.com>
38814
38815 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38816 (grub_gpt_partition_type_empty): Redefine with macro from
38817 `<grub/gpt_partition.h>'.
38818 (gpt_partition_map_iterate): Adjust partition type comparison.
38819
38820 Export `entry' as partmap-specific `part.data' struct.
38821 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38822
38823 * include/grub/gpt_partition.h (grub_gpt_header)
38824 (grub_gpt_partentry): ... to here (new file).
38825
38826 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38827
38828 (grub_gpt_partition_type_bios_boot): New const variable, defined
38829 with macro from `<grub/gpt_partition.h>'.
38830
38831 (setup): Replace `first_start' with `embed_region', which keeps
38832 track of the embed region (and is partmap-agnostic).
38833
38834 Replace find_first_partition_start() with find_usable_region(),
38835 which finds a usable region for embedding using partmap-specific
38836 knowledge (supports PC/MSDOS and GPT).
38837
38838 Fix all assumptions that the embed region start at sector 1, using
38839 `embed_region.start' from now on. Similarly, use `embed_region.end'
38840 rather than `first_start' to calculate available size.
38841
38842 In grub_util_info() message, replace "into after the MBR" with an
38843 indication of the specific sector our embed region starts at.
38844
66cb40f6 388452008-02-19 Robert Millan <rmh@aybabtu.com>
38846
38847 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38848 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38849 `commands/reboot.c'.
38850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38851 (halt_mod_SOURCES): Likewise.
38852 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38853 (halt_mod_SOURCES): Likewise.
38854
b7202015 388552008-02-17 Christian Franke <franke@computer.org>
38856
38857 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38858
32b0fc49 388592008-02-17 Robert Millan <rmh@aybabtu.com>
38860
38861 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38862 set `first_start' to 0 for non-PC/MSDOS partition maps.
38863
aca63502 388642008-02-16 Robert Millan <rmh@aybabtu.com>
38865
38866 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38867 do not assume partition map is PC/MSDOS before performing checks that
38868 are specific to that layout.
38869
0de8be86 388702008-02-13 Robert Millan <rmh@aybabtu.com>
38871
38872 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38873 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38874 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38875
c3db8364 388762008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38877
38878 * configure.ac: Only a cosmetic change on the handling of
38879 -fno-stack-protector.
38880
f714229e 388812008-02-12 Alexandre Boeglin <alex@boeglin.org>
38882
c3db8364 38883 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38884 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38885 reboot.c.
f714229e 38886 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38887 (halt_mod_SOURCES): New variable.
38888 (halt_mod_CFLAGS): Likewise.
38889 (halt_mod_LDFLAGS): Likewise.
38890 (reboot_mod_SOURCES): Likewise.
38891 (reboot_mod_CFLAGS): Likewise.
38892 (reboot_mod_LDFLAGS): Likewise.
38893
c3db8364 38894 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
38895 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
38896 reboot.c.
f714229e 38897 (halt_mod_SOURCES): Likewise.
38898 (reboot_mod_SOURCES): Likewise.
38899
c3db8364 38900 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
38901 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 38902 (reboot_mod_SOURCES): Likewise.
38903
38904 * commands/i386/pc/reboot.c: merge this file ...
38905
38906 * commands/ieee1275/reboot.c: ... and this file ...
38907
38908 * commands/reboot.c: ... to this file.
c3db8364 38909 Add some precompiler directive to include the correct header for
38910 each machine.
f714229e 38911
38912 * commands/ieee1275/halt.c: move this file ...
38913
38914 * commands/halt.c: ... to here.
c3db8364 38915 Add some precompiler directive to include the correct header for
38916 each machine.
f714229e 38917
38918 * include/grub/efi/efi.h (grub_reboot): New function declaration.
38919 (grub_halt): Likewise.
38920
38921 * kern/efi/efi.c (grub_reboot): New function.
38922 (grub_halt): Likewise.
38923
c74493e0 389242008-02-12 Robert Millan <rmh@aybabtu.com>
38925
38926 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
38927 /dev (like it is done for /dev/mapper). This doesn't provide support
38928 for EVMS, but at least it is now easy to identify the problem when it
38929 arises.
38930
d0db4b04 389312008-02-11 Robert Millan <rmh@aybabtu.com>
38932
38933 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
38934 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
38935 comparing it with -1, not 0.
38936
bf748642 389372008-02-10 Robert Millan <rmh@aybabtu.com>
38938
38939 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
38940 `disk/lvm.c'.
38941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38942 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
38943
38944 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
38945 `disk/lvm.c' to the end of the list.
38946 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38947 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38948
b5db202a 389492008-02-10 Robert Millan <rmh@aybabtu.com>
38950
38951 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
38952 grub_print_error() instead. This will let user know why we're entering
38953 rescue mode.
38954 Based on suggestions from Sam Morris.
38955
83abee31 389562008-02-10 Alexandre Boeglin <alex@boeglin.org>
38957
38958 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
38959 on remaining N args, instead of "--" arg N times.
38960
78d5a08b 389612008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
38962
38963 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
38964 (fill_with_default_glyph): Changed to use unknown_glyph for fill
38965 pattern for unknown glyphs.
38966
68807e5f 389672008-02-09 Robert Millan <rmh@aybabtu.com>
38968
38969 * configure.ac: Probe for `help2man'.
38970 * Makefile.in (builddir): New variable.
38971 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
38972 or otherwise add a few flags/options to it.
38973 (install-local): For every executable utility or script that is
38974 installed, invoke $(HELP2MAN) to install a manpage based on --help
38975 output.
38976
38977 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
38978 that it doesn't prevent --help from working in build tree.
38979
38980 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
38981 with `bug-grub@gnu.org'.
38982 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
38983 * util/update-grub.in (usage): New function.
38984 Implement proper argument check, with support for --help and --version
38985 (as well as existing -y).
38986
389872008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 38988
38989 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
38990 avoid overwriting previous output.
38991 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38992
c1962162 389932008-02-09 Robert Millan <rmh@aybabtu.com>
38994
38995 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38996 drawing the menu.
38997
3dac2e3f 389982008-02-09 Robert Millan <rmh@aybabtu.com>
38999
39000 * commands/sleep.c: New file.
39001 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39002 (sleep_mod_SOURCES): New variable.
39003 (sleep_mod_CFLAGS): Likewise.
39004 (sleep_mod_LDFLAGS): Likewise.
39005
7a634e08 390062008-02-09 Robert Millan <rmh@aybabtu.com>
39007
39008 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39009 situations in which we can deduce the RAID size and the superblock
39010 doesn't match it.
39011
b92f0c18 390122008-02-09 Robert Millan <rmh@aybabtu.com>
39013
39014 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39015 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39016 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39017
39018 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39019 and return a grub_diskmemberlist_t composed of physical array members.
39020 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39021
39022 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39023 prototype.
39024 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39025 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39026 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39027
39028 * util/grub-probe.c (probe): Move partmap probing code from here ...
39029 (probe_partmap): ... to here.
39030 (probe): Use probe_partmap() once for the disk we're probing, and
39031 additionally, when such disk contains a memberlist() struct member,
39032 once for each disk that is contained in the structure returned by
39033 memberlist().
39034
91a4bf68 390352008-02-09 Robert Millan <rmh@aybabtu.com>
39036
39037 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39038 environment variable to 'all' in order to obtain debug output from
39039 non-util/ code.
39040 * util/i386/pc/grub-setup.c (main): Likewise.
39041
a96f9caa 390422008-02-08 Robert Millan <rmh@aybabtu.com>
39043
39044 * disk/raid.c (grub_raid_scan_device): Check for
39045 `array->device[sb.this_disk.number]' rather than for
39046 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39047 guaranteed to be accessible.
a96f9caa 39048
b37a9222 390492008-02-08 Robert Millan <rmh@aybabtu.com>
39050
39051 * disk/raid.c: Update copyright.
39052 * fs/cpio.c: Likewise.
39053 * include/grub/raid.h: Likewise.
39054 * loader/i386/pc/multiboot.c: Likewise.
39055 * util/hostfs.c: Likewise.
39056
5626aee1 390572008-02-08 Robert Millan <rmh@aybabtu.com>
39058
39059 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39060 to a grub_disk_t array.
39061 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39062 `device[x]'.
39063 (grub_raid_scan_device): Replace `device[x].name' accesses with
39064 `device[x]->name'. Simplify initialization of `array->device[x]'.
39065
554f0187 390662008-02-08 Robert Millan <rmh@aybabtu.com>
39067
39068 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39069 grub_dprintf() calls.
39070 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39071 error message.
39072
1ec8425d 390732008-02-07 Christian Franke <franke@computer.org>
39074
39075 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39076 instead of fseek and ftell to support large files.
39077 (grub_hostfs_read): Likewise.
39078
f2156fda 390792008-02-07 Robert Millan <rmh@aybabtu.com>
39080
39081 Patch from Jeroen Dekkers.
39082 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39083 failure, since successfully reading all array members might not be
f2156fda 39084 required.
39085
9216e0e7 390862008-02-06 Robert Millan <rmh@aybabtu.com>
39087
39088 * util/grub-probe.c (probe): Simplify partmap probing (with the
39089 assumption that the first word up to the underscore equals to
39090 the module name).
39091
b0dfd29a 390922008-02-06 Christian Franke <franke@computer.org>
39093
39094 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39095 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39096 last block of a cpio or tar stream.
39097 Check for "TRAILER!!!" instead of any empty data
39098 block to detect last block of a cpio stream.
39099 (grub_cpio_dir): Fix constness of variable np.
39100 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39101 cpio or tar trailer is detected. This fixes a crash
39102 on open of a non existing file.
39103
c32865bf 391042008-02-05 Bean <bean123ch@gmail.com>
39105
39106 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39107 address of entry.
39108 (grub_multiboot_load_elf64): Likewise.
39109 (grub_multiboot): Initialize mbi structure.
39110
39111 * util/grub-fstest.c: Don't include unused header file script.h.
39112
fe6b695a 39113 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39114 of file.
39115 (grub_fstest_SOURCES): Likewise.
39116
409480b7 391172008-02-05 Robert Millan <rmh@aybabtu.com>
39118
39119 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39120 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39121 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39122 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39123
39124 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39125 (translation_table): Replace hardcoded values with macros
39126 provided by `<grub/term.h>'.
39127
39128 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39129 (keyboard_map): Correct/add a few values, with macros provided
39130 by `<grub/term.h>'.
39131 (keyboard_map_shift): Zero values that don't differ from their
39132 `keyboard_map' equivalents.
39133 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39134 Discard the second scan code that is always sent by Caps lock.
39135 Only use `keyboard_map_shift' when it provides a non-zero value,
39136 otherwise fallback to `keyboard_map'.
39137
99fadbaa 391382008-02-04 Bean <bean123ch@gmail.com>
39139
39140 * Makefile.in (enable_grub_fstest): New variable.
39141
39142 * conf/common.rmk (grub_fstest_init.lst): New rule.
39143 (grub_fstest_init.h): Likewise.
39144 (grub_fstest_init.c): Likewise.
39145 (util/grub-fstest.c_DEPENDENCIES): New variable.
39146 (grub_fstest_SOURCES): Likewise.
39147
39148 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39149
39150 * util/grub-fstest.c: New file.
39151
bf567c50 391522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39153
39154 Make grub-setup handle a separate root device.
f19dbdb7 39155
bf567c50 39156 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39157 so that the root device can be compared with the destination
39158 device.
39159 When embedding the core image, if the root and destination devices
39160 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39161 0xFF.
39162 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 39163
9be6b98b 391642008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39165
39166 Add support for having a grub directory in a different drive. This
39167 is still only the data handling part.
f19dbdb7 39168
9be6b98b 39169 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39170 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39171 (grub_root_drive): New variable.
39172
39173 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39174 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39175 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39176 as it was.
39177
39178 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39179
39180 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39181 macro.
39182 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39183
39184 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
39185 is bogus, because PXE booting does not specify any drive
39186 correctly.
39187
39188 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
39189 am not sure if this is really correct.
39190
39191 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
39192 is always identical to the boot drive when booting from a CD.
39193
39194 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
39195 longer.
39196 (root_drive): New variable.
39197 (real_start): Unconditionally set %dh to ROOT_DRIVE.
39198 (setup_sectors): Push %dx right after popping it, because %dh will
39199 be modified later.
39200 (copy_buffer): Restore %dx.
39201
e0ca0677 392022008-02-03 Robert Millan <rmh@aybabtu.com>
39203
39204 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
39205 use `cdboot.img' for cdrom images.
39206
3b3f6629 392072008-02-03 Robert Millan <rmh@aybabtu.com>
39208
39209 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
39210 only setup gfxterm when `font' command has succeeded.
39211
d42b3672 392122008-02-03 Robert Millan <rmh@aybabtu.com>
39213
39214 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
39215 (grub_rescue_cmd_multiboot_loader)
39216 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
39217
fa370ea6 392182008-02-03 Pavel Roskin <proski@gnu.org>
39219
e0c5dacb 39220 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 39221 %edx and %esi from stack only after grub_gate_a20() is called.
39222 grub_gate_a20() clobbers %edx.
39223
f2a76e1d 392242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39225
39226 * configure.ac (AC_INIT): Bumped to 1.96.
39227
39228 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
39229 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
39230 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
39231 video/readers/png.c.
39232
90fd32d1 392332008-02-03 Bean <bean123ch@gmail.com>
9be665dd 39234
39235 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
39236 (cdboot_img_SOURCES): New variable.
39237 (cdboot_img_ASFLAGS): New variable.
39238 (cdboot_img_LDFLAGS): New variable.
39239
39240 * boot/i386/pc/cdboot.S: New file.
39241
39242 * disk/i386/pc/biosdisk.c (cd_start): New variable.
39243 (cd_count): Likewise.
39244 (grub_biosdisk_get_drive): Add support for cd device.
39245 (grub_biosdisk_call_hook): Likewise.
39246 (grub_biosdisk_iterate): Likewise.
39247 (grub_biosdisk_open): Likewise.
39248 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
39249 (grub_biosdisk_rw): Support reading from cd device.
39250 (GRUB_MOD_INIT): Iterate cd devices.
39251
39252 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
39253 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
39254 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
39255
39256 * kern/i386/pc/init.c (make_install_device): Check for cd device.
39257
4020aa53 392582008-02-02 Robert Millan <rmh@aybabtu.com>
39259
39260 * commands/read.c: New file.
39261 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
39262 (read_mod_SOURCES): New variable.
39263 (read_mod_CFLAGS): Likewise.
39264 (read_mod_LDFLAGS): Likewise.
39265
e03a1132 392662008-02-02 Robert Millan <rmh@aybabtu.com>
39267
39268 * normal/main.c (grub_normal_execute): Check for `menu->size' when
39269 determining whether menu has to be displayed.
39270
58c69220 392712008-02-02 Marco Gerards <marco@gnu.org>
39272
39273 * bus/pci.c: New file.
39274
39275 * include/grub/pci.h: Likewise.
39276
39277 * include/grub/i386/pc/pci.h: Likewise.
39278
39279 * commands/lspci.c: Likewise.
39280
39281 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
39282 `lspci.mod'.
39283 (pci_mod_SOURCES): New variable.
39284 (pci_mod_CFLAGS): Likewise.
39285 (pci_mod_LDFLAGS): Likewise.
39286 (lspci_mod_SOURCES): Likewise.
39287 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 39288 (lspci_mod_LDFLAGS): Likewise.
58c69220 39289
c004e1b4 392902008-02-02 Bean <bean123ch@gmail.com>
39291
39292 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
39293 (grub_ufs_get_file_block): Fix indirect block calculation problem.
39294
39295 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
39296 (grub_xfs_btree_node): New structure.
39297 (grub_xfs_btree_root): New structure.
39298 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
39299 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
39300 (GRUB_XFS_EXTENT_BLOCK): Likewise.
39301 (GRUB_XFS_EXTENT_SIZE): Likewise.
39302 (grub_xfs_read_block): Support btree format type.
39303 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
39304 Use directory block as basic unit.
39305
39306 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
39307
39308 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
39309 __attribute__ ((__regparm__ (1))).
39310
f95562bf 393112008-02-01 Robert Millan <rmh@aybabtu.com>
39312
39313 Correct a mistake in previous commit.
39314
39315 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
39316 top.
39317 (normal/command.c_DEPENDENCIES): New variable.
39318
7d31f41f 393192008-02-01 Robert Millan <rmh@aybabtu.com>
39320
39321 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
39322 top.
39323 (normal/command.c_DEPENDENCIES): New variable.
39324 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
39325 * conf/i386-ieee1275.rmk: Likewise.
39326 * conf/i386-linuxbios.rmk: Likewise.
39327 * conf/i386-pc.rmk: Likewise.
39328 * conf/sparc64-ieee1275.rmk: Likewise.
39329 * conf/powerpc-ieee1275.rmk: Likewise.
39330 (grub_emu_SOURCES): Add `fs/fshelp.c'.
39331
39332 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
39333
60b6be74 393342008-02-01 Robert Millan <rmh@aybabtu.com>
39335
39336 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
39337 call at beginning of function.
39338
078522ab 393392008-01-31 Pavel Roskin <proski@gnu.org>
39340
39341 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 39342 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39343 (grub_mkrescue_SOURCES): Likewise.
078522ab 39344 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39345
ccaa8a5f 393462008-01-30 Robert Millan <rmh@aybabtu.com>
39347
39348 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39349 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39350 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39351 (grub_probe_SOURCES): ... to here.
39352
39353 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39354 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39355 * conf/i386-ieee1275.rmk: Likewise.
39356 * conf/i386-linuxbios.rmk: Likewise.
39357 * conf/powerpc-ieee1275.rmk: Likewise.
39358
ae5a9cd7 393592008-01-30 Tristan Gingold <gingold@free.fr>
39360
39361 * kern/rescue.c: Silently accept empty lines.
39362
70bc2ef2 393632008-01-29 Bean <bean123ch@gmail.com>
39364
39365 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39366 (real_code_2): Code cleanup and change comment style.
39367 (move_memory): Avoid using 32-bit address mode.
39368
6a4d50ea 393692008-01-29 Bean <bean123ch@gmail.com>
39370
39371 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39372 (png_mod_SOURCES): New variable.
39373 (png_mod_CFLAGS): Likewise.
39374 (png_mod_LDFLAGS): Likewise.
39375
39376 * video/readers/png.c: New file.
39377
11cc30ac 393782008-01-28 Robert Millan <rmh@aybabtu.com>
39379
39380 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39381 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39382 `ifndef GRUB_MOD_GAP' hack.
39383 * util/elf/grub-mkimage.c (add_segments): Likewise.
39384
3abc589f 393852008-01-27 Robert Millan <rmh@aybabtu.com>
39386
39387 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39388 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 39389 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 39390
e1907778 393912008-01-27 Robert Millan <rmh@aybabtu.com>
39392
39393 Get grub-emu to build again (including parallel builds).
39394
39395 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39396 Split into ...
39397 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39398 (normal/execute.c_DEPENDENCIES): ... this, ...
39399 (grub-emu_DEPENDENCIES): ... and this.
39400
39401 * conf/i386-efi.rmk: Likewise.
39402 * conf/i386-linuxbios.rmk: Likewise.
39403 * conf/i386-ieee1275.rmk: Likewise.
39404 * conf/powerpc-ieee1275.rmk: Likewise.
39405 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39406
2216b101 394072008-01-27 Robert Millan <rmh@aybabtu.com>
39408
39409 * NEWS: Add a few items.
39410
f75172d9 394112008-01-27 Robert Millan <rmh@aybabtu.com>
39412
39413 Fix parallel builds with grub-emu. Based on earlier commit for
39414 grub-probe and grub-setup.
39415
39416 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39417 (util/grub-emu.c_DEPENDENCIES): ... this.
39418 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39419 (util/grub-emu.c_DEPENDENCIES): ... this.
39420 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39421 (util/grub-emu.c_DEPENDENCIES): ... this.
39422 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39423 (util/grub-emu.c_DEPENDENCIES): ... this.
39424 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39425 (util/grub-emu.c_DEPENDENCIES): ... this.
39426
3f51de77 394272008-01-27 Pavel Roskin <proski@gnu.org>
39428
39429 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39430 to create a gap between _end and the modules added to the image
39431 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39432 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39433 * util/elf/grub-mkimage.c (add_segments): Likewise.
39434
2033f53e 394352008-01-26 Pavel Roskin <proski@gnu.org>
39436
39437 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39438 just return an error.
39439
22da1f6f 394402008-01-26 Bean <bean123ch@gmail.com>
39441
39442 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39443 (grub_reiserfs_get_item): Save offset of the next item.
39444 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39445
2a9525e6 394462008-01-25 Robert Millan <rmh@aybabtu.com>
39447
39448 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39449 make all filesystem sources appear together (possibly fixing omissions
39450 while at it).
39451 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39452 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39453 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39455
39456 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39457 add `kern/file.c'.
39458 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39459 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39460 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39461 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39462
39463 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39464 (probe): Add a sanity check to make sure of our ability to read
39465 requested files when probing for filesystem type.
39466
39467 * genmk.rb: Update copyright year (2007).
39468
39469 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39470 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39471 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39472 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39473 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39474 : Remove function prototypes.
39475
b95f71b5 394762008-01-25 Robert Millan <rmh@aybabtu.com>
39477
39478 Revert my previous commits (based on wrong assumption of how grub_errno
39479 works).
39480
fe6b695a 39481 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 39482 * kern/file.c (grub_file_open): Likewise.
39483
d08bbb49 394842008-01-24 Pavel Roskin <proski@gnu.org>
39485
39486 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39487 that hang if GRUB tries to setup colors.
39488 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39489 colors for firmwares that don't support it.
39490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39491 Recognize Open Hack'Ware, set flags to work around its
39492 limitations.
39493
605e36ed 394942008-01-24 Robert Millan <rmh@aybabtu.com>
39495
39496 * kern/file.c (grub_file_open): Do not account previous failures of
39497 unrelated functions when grub_errno is checked for.
39498 Reported by Oleg Strikov.
39499
bac332a1 395002008-01-24 Bean <bean123ch@gmail.com>
39501
39502 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39503 (grub_ufs_sblock): New member volume name.
39504 (grub_ufs_find_file): Fix string copy bug.
39505 (grub_ufs_label): Implement this function properly.
39506
39507 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39508 (grub_hfs_iterate_records): Use the correct file number for extents
39509 and catalog file. Fix problem in next index calculation.
39510 (grub_hfs_find_node): Replace recursive function call with loop.
39511 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39512
15c80c09 395132008-01-23 Robert Millan <rmh@aybabtu.com>
39514
39515 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39516 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39517 (grub_multiboot2_real_boot): New function prototype.
39518
39519 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39520 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39521
39522 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39523 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39524
305338fd 395252008-01-23 Robert Millan <rmh@aybabtu.com>
39526
39527 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39528 #ifdef'ed out grub_printf().
39529
3ea52685 395302008-01-23 Robert Millan <rmh@aybabtu.com>
39531
39532 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39533 grub_dprintf calls, since they make "debug=all" mode unusable.
39534 (grub_console_checkkey): Likewise.
39535
5882ae4b 395362008-01-23 Robert Millan <rmh@aybabtu.com>
39537
39538 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39539 `term/i386/pc/at_keyboard.c'.
39540 (pkglib_MODULES): Add `serial.mod'.
39541 (serial_mod_SOURCES): New variable.
39542 (serial_mod_CFLAGS): Likewise.
39543 (serial_mod_LDFLAGS): Likewise.
39544
39545 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39546 `<grub/powerpc/ieee1275/console.h>'.
39547 (grub_keyboard_controller_init): New function prototype.
39548 (grub_console_checkkey): Likewise.
39549 (grub_console_getkey): Likewise.
39550
39551 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39552 keyboard on i386.
39553
39554 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39555 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39556
06ab5303 395572008-01-23 Robert Millan <rmh@aybabtu.com>
39558
39559 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39560 present, "(memdisk)/boot/grub" becomes the default prefix.
39561
39562 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39563 a memdisk tarball with all the modules. Add --overlay=DIR option that
39564 allows users to overlay additional files into the image.
39565
dbb475a4 395662008-01-23 Robert Millan <rmh@aybabtu.com>
39567
39568 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39569 and `machine/memory.h'.
39570 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39571 (_multiboot_mod_SOURCES): New variable.
39572 (_multiboot_mod_CFLAGS): Likewise.
39573 (_multiboot_mod_LDFLAGS): Likewise.
39574 (multiboot_mod_SOURCES): Likewise.
39575 (multiboot_mod_CFLAGS): Likewise.
39576 (multiboot_mod_LDFLAGS): Likewise.
39577
39578 * include/grub/i386/ieee1275/loader.h: New file.
39579
39580 * include/grub/i386/ieee1275/machine.h: Likewise.
39581
39582 * include/grub/i386/ieee1275/memory.h: Likewise.
39583
39584 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39585 variable declaration.
39586 (grub_os_area_size): Likewise.
39587
39588 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39589 (grub_lower_mem, grub_upper_mem): New variables.
39590 (grub_stop_floppy): New function (just to make
39591 grub_multiboot2_real_boot() happy).
39592
39593 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39594 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39595 (grub_stop): New function.
39596 Include `"../realmode.S"' and `"../loader.S"'.
39597
39598 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39599 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39600
39601 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39602 rely on grub_multiboot2_real_boot() for final boot.
39603
25638629 396042008-01-22 Robert Millan <rmh@aybabtu.com>
39605
39606 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39607 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39608 device that doesn't look like an SD card.
39609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39610 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39611 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39612 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39613 found.
39614
9dad816d 396152008-01-22 Robert Millan <rmh@aybabtu.com>
39616
39617 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39618 avoid claiming over our own code.
39619
34842f2d 396202008-01-22 Bean <bean123ch@gmail.com>
39621
39622 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39623 (jpeg_mod_SOURCES): New variable.
39624 (jpeg_mod_CFLAGS): Likewise.
39625 (jpeg_mod_LDFLAGS): Likewise.
39626
39627 * video/readers/jpeg.c : New file.
39628
44023a28 396292008-01-22 Bean <bean123ch@gmail.com>
39630
39631 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39632 there are no more items.
39633
bc2d8ac6 396342008-01-21 Robert Millan <rmh@aybabtu.com>
39635
39636 * kern/mm.c (grub_mm_init_region): Improve debug message.
39637
261bd4bc 396382008-01-21 Robert Millan <rmh@aybabtu.com>
39639
39640 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39641 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39642 address.
39643 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39644 a C macro.
39645 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39646 Indicates start of upper memory.
39647 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39648 (generate_image): Abort when image size is big enough to corrupt
39649 upper memory.
39650
39651 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39652 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39653 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39654 instead of hardcoding 0xA0000.
39655 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39656 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39657 instead of hardcoding 0xA0000.
39658
f970b55e 396592008-01-21 Robert Millan <rmh@aybabtu.com>
39660
39661 * disk/memdisk.c (memdisk_size): New variable.
39662 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39663 `memdisk_size'.
39664 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39665 image to dynamic memory.
39666 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39667 `memdisk_size'. Free memdisk block.
39668
1a8b0526 396692008-01-21 Robert Millan <rmh@aybabtu.com>
39670
39671 Fix detection of very small filesystems (like tar).
39672
39673 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39674 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39675 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39676 a problem with this disk).
39677
6e9b4aab 396782008-01-21 Robert Millan <rmh@aybabtu.com>
39679
39680 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39681 on grub_biosdisk_rw_standard() error.
39682
0d8837b2 396832008-01-21 Robert Millan <rmh@aybabtu.com>
39684
39685 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39686 recent changes.
39687 * kern/elf.c: Likewise.
39688 * kern/ieee1275/ieee1275.c: Likewise.
39689 * kern/powerpc/ieee1275/openfw.c: Likewise.
39690 * term/ieee1275/ofconsole.c: Likewise.
39691
ffd36e34 396922008-01-21 Robert Millan <rmh@aybabtu.com>
39693
39694 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39695
3f0093d0 39696 * include/grub/kernel.h (grub_arch_memdisk_addr)
39697 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 39698
3f0093d0 39699 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39700 (grub_arch_memdisk_size): ... to here.
ffd36e34 39701
6c391b21 397022008-01-21 Robert Millan <rmh@aybabtu.com>
39703
39704 Mostly based on bugfix from Bean.
39705
39706 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39707 attribute with hook() parameter.
39708 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39709 declaration.
39710 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39711 attribute with hook() parameter.
39712 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39713 declaration.
39714
55a581dc 397152008-01-21 Robert Millan <rmh@aybabtu.com>
39716
39717 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39718 (pkglib_MODULES): Add `memdisk.mod'.
39719 (memdisk_mod_SOURCES): New variable.
39720 (memdisk_mod_CFLAGS): Likewise.
39721 (memdisk_mod_LDFLAGS): Likewise.
39722
39723 * disk/memdisk.c: New file.
39724
39725 * include/grub/disk.h (grub_disk_dev_id): Add
39726 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39727
39728 * include/grub/i386/pc/kernel.h
39729 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39730 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39731 (grub_kernel_image_size): New variable declaration.
39732 (grub_total_module_size): Likewise.
39733 (grub_memdisk_image_size): Likewise.
39734
39735 * include/grub/i386/pc/memory.h
39736 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39737
39738 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39739 (grub_arch_memdisk_addr): New variable declaration.
39740 (grub_arch_memdisk_size): Likewise.
39741
39742 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39743 (grub_arch_memdisk_size): Likewise.
39744
39745 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39746 (codestart): Replace hardcoded `0x100000' with
39747 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39748
39749 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39750 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39751 not NULL, append the contents of the file it refers to, at the end of
39752 the compressed kernel image. Initialize `grub_memdisk_image_size'
39753 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39754 (options): Add "memdisk"|'m' option.
39755 (main): Parse --memdisk|-m option, and pass user-provided path as
39756 parameter to generate_image().
39757
3d7f54c9 397582008-01-20 Robert Millan <rmh@aybabtu.com>
39759
39760 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39761 grub_dprintf() calls from here ...
39762 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39763
0bf74728 397642008-01-20 Robert Millan <rmh@aybabtu.com>
39765
39766 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39767
39768 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39769 declaration.
39770 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39771 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39772 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 39773 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 39774 property).
39775 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39776 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39777
33bf70a7 397782008-01-19 Robert Millan <rmh@aybabtu.com>
39779
fe6b695a 39780 Get rid of confusing function (superseded by
33bf70a7 39781 `grub_ieee1275_get_integer_property')
39782 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39783 prototype.
39784 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39785 function.
39786 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39787 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 39788 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 39789
e2da7d26 397902008-01-19 Robert Millan <rmh@aybabtu.com>
39791
39792 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39793 command after "shut-down", since implementations differ on which
39794 the command for halt is.
39795
59f1fd8d 397962008-01-19 Robert Millan <rmh@aybabtu.com>
39797
39798 * include/grub/i386/linuxbios/console.h: Add header protection.
39799 (grub_keyboard_controller_init): New function prototype.
39800 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39801 (KEYBOARD_COMMAND_READ): Likewise.
39802 (KEYBOARD_COMMAND_WRITE): Likewise.
39803 (KEYBOARD_SCANCODE_SET1): Likewise.
39804 (grub_keyboard_controller_write): New function.
39805 (grub_keyboard_controller_read): Likewise.
39806 (grub_keyboard_controller_init): Likewise.
39807
39808 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39809 (grub_console_init): On coreboot/LinuxBIOS, call
39810 grub_keyboard_controller_init().
39811
5f5a7c15 398122008-01-19 Robert Millan <rmh@aybabtu.com>
39813
39814 PowerPC changes provided by Pavel Roskin.
39815
39816 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39817 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39818 don't rely on cmain() doing it.
39819 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39820 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39821
1210e168 398222008-01-16 Robert Millan <rmh@aybabtu.com>
39823
39824 * include/grub/i386/linuxbios/memory.h
39825 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39826 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39827 receive `table_header' as argument. Instead, probe for it in the
39828 known memory ranges where it can be present.
39829 (grub_available_iterate): Do not pass a fixed `table_header' address
39830 to grub_linuxbios_table_iterate().
39831
3d04eab8 398322008-01-15 Robert Millan <rmh@aybabtu.com>
39833
39834 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39835 * conf/i386-ieee1275.rmk: New file.
39836 * include/grub/i386/ieee1275/console.h: Likewise.
39837 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39838 * include/grub/i386/ieee1275/kernel.h: Likewise.
39839 * include/grub/i386/ieee1275/time.h: Likewise.
39840 * kern/i386/ieee1275/init.c: Likewise.
39841 * kern/i386/ieee1275/startup.S: Likewise.
39842
d1bc1b73 398432008-01-15 Robert Millan <rmh@aybabtu.com>
39844
39845 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39846 when pointers are 32-bit (but still do set it to one when they are
39847 64-bit).
39848
66a65807 398492008-01-15 Robert Millan <rmh@aybabtu.com>
39850
39851 * include/grub/ieee1275/ieee1275.h
39852 (grub_ieee1275_get_integer_property): New function prototype.
39853
39854 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39855 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 39856 grub_ieee1275_get_property() to handle endianness.
66a65807 39857
39858 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39859 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 39860 where appropriate.
66a65807 39861 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39862 (grub_map): Likewise.
39863 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39864
a83ccafd 398652008-01-15 Bean <bean123ch@gmail.com>
39866
39867 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39868 (grub_script_execute_cmdline): Reset grub_errno.
39869
39870 * normal/main.c (read_config_file): Reset grub_errno.
39871
39872 * normal/parse.y (script_init): New.
39873 (script): Move function and menuentry here.
39874 (delimiter): New.
39875 (command): Add delimiter at the end of command.
39876 (commands): Adjust to match the new command.
39877 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 39878 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 39879 (if): Use the new commands.
39880
39881 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39882
df6ecfc6 398832008-01-15 Robert Millan <rmh@aybabtu.com>
39884
39885 * normal/menu.c (run_menu): Move timeout message from here ...
39886 (print_timeout): ... to here.
39887 (run_menu): Use print_timeout() once during initial draw to print
39888 the whole message, and again in every clock tick to update only
39889 the number of seconds.
39890
87ae25eb 398912008-01-15 Robert Millan <rmh@aybabtu.com>
39892
39893 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
39894 actual size of `available' from grub_ieee1275_get_property(), and
39895 restrict parsing to that bound.
39896
47bf09a4 398972008-01-15 Christian Franke <franke@computer.org>
39898
39899 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
39900 (argp_program_version): Remove variable.
39901 (argp_program_bug_address): Likewise.
39902 (options): Convert from struct argp_option to struct option.
39903 (struct arguments): Remove.
39904 (parse_opt): Remove.
39905 (usage): New function.
39906 (main): Replace struct args members by simple variables.
39907 Replace argp_parse() by getopt_long().
39908 Add switch to evaluate options.
39909 Add missing "(...)" around root_dev in prefix string.
39910
c86f1469 399112008-01-14 Robert Millan <rmh@aybabtu.com>
39912
39913 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
39914 for grub_ieee1275_exit(), in order to improve portability.
39915
e622c559 399162008-01-14 Robert Millan <rmh@aybabtu.com>
39917
39918 * util/grub.d/10_linux.in (prefix): Define.
39919 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
39920
44cb1ec8 399212008-01-13 Pavel Roskin <proski@gnu.org>
39922
39923 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
39924 grub_errno if no errors have been detected.
39925
1eb8c802 399262008-01-12 Robert Millan <rmh@aybabtu.com>
39927
39928 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
39929 (grub_util_get_dev_abstraction): New function prototype.
39930
39931 * util/getroot.c: Include `<grub/util/getroot.h>'
39932 (grub_util_get_grub_dev): Move detection of abstraction type to ...
39933 (grub_util_get_dev_abstraction): ... here (new function).
39934
39935 * util/grub-probe.c: Convert PRINT_* to an enum. Add
39936 `PRINT_ABSTRACTION'.
39937 (probe): Probe for abstraction type when requested.
39938 (main): Understand `--target=abstraction'.
39939
39940 * util/i386/efi/grub-install.in: Add abstraction module to core
39941 image when it is found to be necessary.
39942 * util/i386/pc/grub-install.in: Likewise.
39943 * util/powerpc/ieee1275/grub-install.in: Likewise.
39944
39945 * util/update-grub_lib.in (font_path): Return system path without
39946 converting to GRUB path.
39947 * util/update-grub.in: Convert system path returned by font_path()
39948 to a GRUB path. Use `grub-probe -t abstraction' to determine what
39949 abstraction module is needed for loading fonts (if any). Export
39950 that as `GRUB_PRELOAD_MODULES'.
39951 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
39952 insmod commands).
39953
52bd3de9 399542008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
39955
39956 Remove some unused code from reiserfs.
f19dbdb7 39957
52bd3de9 39958 * fs/reiserfs.c (struct grub_reiserfs_key)
39959 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
39960 (struct grub_reiserfs_node_body): Removed.
39961 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39962 Likewise.
39963 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39964 Likewise.
39965 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39966 Likewise.
39967 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39968 Likewise.
39969 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39970 Likewise.
39971 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
39972 Likewise.
39973 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39974 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39975 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39976
2f80039d 399772008-01-10 Robert Millan <rmh@aybabtu.com>
39978
39979 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
39980 Determines if a file is garbage left by packaging systems, etc.
39981 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
39982 for processing /etc/grub.d scripts.
39983 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
39984 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
39985 as a condition for processing Linux images.
39986
87888032 399872008-01-10 Pavel Roskin <proski@gnu.org>
39988
39989 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
39990 to compile reiserfs.c on PowerPC.
39991
7e54fced 399922008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 39993
39994 * kern/device.c (grub_device_iterate): Do not abort device iteration
39995 when one of the devices cannot be opened.
39996 * kern/disk.c (grub_disk_open): Do not account previous failures of
39997 unrelated functions when grub_errno is checked for.
39998
5aa541e6 399992008-01-08 Robert Millan <rmh@aybabtu.com>
40000
40001 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40002 `! grub_linux_is_bzimage', change order of address comparison to make
40003 it more intuitive, and improve "too big zImage" error message.
40004
7076340d 400052008-01-08 Robert Millan <rmh@aybabtu.com>
40006
40007 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40008 `$(update-grub_DATA)'.
40009 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40010 targets.
40011
9ca70333 400122008-01-07 Robert Millan <rmh@aybabtu.com>
40013
40014 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40015 which instruction is modified by grub-setup during installation
40016 (since it wasn't obvious by only looking at this file).
40017
38ccf575 400182008-01-07 Robert Millan <rmh@aybabtu.com>
40019
40020 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40021 listing actual TODO items.
40022
f5db4291 400232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40024
868967cf 40025 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40026 correctly.
40027 (grub_reiserfs_get_key_offset): Likewise.
40028 (grub_reiserfs_set_key_offset): Likewise.
40029 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40030 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40031
40032 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40033 better to remove the bitfield version completely.
f19dbdb7 40034
868967cf 400352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40036
f5db4291 40037 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40038 allocated from the heap, due to the fshelp implementation.
40039 (grub_reiserfs_dir): Free NODE, due to the same reason.
40040
492e6d9d 400412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40042
40043 Mostly from Vincent Pelletier:
f19dbdb7 40044
492e6d9d 40045 * fs/reiserfs.c: New file.
f19dbdb7 40046
492e6d9d 40047 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40048 (reiserfs_mod_SOURCES): New variable.
40049 (reiserfs_mod_CFLAGS): Likewise.
40050 (reiserfs_mod_LDFLAGS): Likewise.
40051
40052 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40053 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40054 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40055 normal/color.c.
40056
9ce3e7c1 400572008-01-06 Robert Millan <rmh@aybabtu.com>
40058
40059 * normal/color.c: Remove `<grub/env.h>'.
40060
f3b58148 400612008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40062
40063 * include/grub/normal.h: Include <grub/env.h>.
40064
7ac3bcfa 400652008-01-05 Robert Millan <rmh@aybabtu.com>
40066
40067 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40068 usage example with `(hd0,1)'.
fb358190 40069 Reported by Samuel Thibault.
7ac3bcfa 40070
c8ee99d7 400712008-01-05 Robert Millan <rmh@aybabtu.com>
40072
40073 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40074 (grub_linux_boot_zimage): Rename to ...
40075 (grub_linux_boot): ... this.
40076 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40077 (grub_linux_boot_zimage): Conditionalize zImage copy.
40078
40079 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40080 (grub_linux_boot_bzimage): Remove prototype.
40081 (grub_linux_boot_zimage): Rename to ...
40082 (grub_linux_boot): ... this.
40083
40084 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40085 (grub_linux_boot): Remove function.
40086
0ece25b1 400872008-01-05 Robert Millan <rmh@aybabtu.com>
40088
40089 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40090 (grub_env_write_color_highlight): Likewise.
40091 (grub_wait_after_message): Likewise.
40092
40093 * normal/color.c: New file.
40094
40095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40096 (normal_mod_DEPENDENCIES): Likewise.
40097
40098 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40099 (normal_mod_DEPENDENCIES): Likewise.
40100
40101 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40102 (normal_mod_DEPENDENCIES): Likewise.
40103
40104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40105 (normal_mod_DEPENDENCIES): Likewise.
40106
40107 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40108 for waiting after a message is printed.
40109 * normal/main.c (read_config_file): Likewise.
40110 (grub_normal_init): Register grub_env_write_color_normal() and
40111 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40112 `color_highlight' variables as global.
40113
40114 * normal/menu.c (grub_wait_after_message): New function.
40115 (grub_color_menu_normal): New variable. Replaces ...
40116 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40117 (grub_color_menu_highlight): New variable. Replaces ...
40118 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40119 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40120 `GRUB_TERM_COLOR_STANDARD'.
40121 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40122 `normal_code' and `highlight_code' to `old_color_normal' and
40123 `old_color_highlight', respectively.
40124 (grub_menu_init_page): Update colors when drawing the menu, based on
40125 `menu_color_normal' and `menu_color_highlight' variables.
40126 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40127 a message is printed.
40128
182dd4e5 401292008-01-05 Robert Millan <rmh@aybabtu.com>
40130
40131 * kern/env.c (grub_env_context_open): Propagate hooks for global
40132 variables to new context.
40133
40134 * kern/main.c (grub_set_root_dev): Export `root' variable.
40135
ddf8f6ad 401362008-01-05 Robert Millan <rmh@aybabtu.com>
40137
40138 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40139 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40140 them.
40141
d8b43d9b 401422008-01-05 Robert Millan <rmh@aybabtu.com>
40143
40144 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40145
2bff2de3 401462008-01-04 Christian Franke <franke@computer.org>
40147
40148 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40149 of eisa_mmap.
40150
97eab917 401512008-01-03 Pavel Roskin <proski@gnu.org>
40152
40153 * kern/i386/linuxbios/init.c: Put "void" to all function
40154 declarations with no arguments.
40155 * kern/powerpc/ieee1275/init.c: Likewise.
40156 * term/i386/pc/at_keyboard.c: Likewise.
40157 * term/i386/pc/vga_text.c: Likewise.
40158 * util/grub-mkdevicemap.c: Likewise.
40159
b9416d00 401602008-01-02 Robert Millan <rmh@aybabtu.com>
40161
40162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40163 message when loaded image is out of bounds.
40164 (grub_multiboot_load_elf64): Likewise.
40165
92695df9 401662008-01-02 Pavel Roskin <proski@gnu.org>
40167
40168 * util/grub.d/10_linux.in: Try version without ".old" when
40169 looking for initrd. It's better to use initrd from the newer
40170 kernel of the same version than no initrd at all.
40171
d98d9cad 401722008-01-01 Robert Millan <rmh@aybabtu.com>
40173
40174 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40175
dbfdce36 401762008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40177
f19dbdb7 40178 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40179 grub_video_get_active_render_target.
40180 (grub_video_adapter): Added unmap_color and get_active_render_target.
40181
f19dbdb7 40182 * video/video.c: Added grub_video_unmap_color and
dbfdce36 40183 grub_video_get_active_render_target.
40184 (grub_video_get_info): Changed method to accept NULL pointer as an
40185 argument to allow detection of active video adapter.
40186
40187 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
40188 grub_video_vbe_unmap_color_int.
40189 Added grub_video_vbe_unmap_color and
40190 grub_video_vbe_get_active_render_target.
40191 (grub_video_vbe_adapter): Added unmap_color and
40192 get_active_render_target.
40193
f19dbdb7 40194 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 40195 with grub_video_vbe_unmap_color_int.
40196
40197 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
40198 (DEFAULT_NORMAL_COLOR): Likewise.
40199 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
40200 (DEFAULT_FG_COLOR): Removed.
40201 (DEFAULT_BG_COLOR): Likewise.
40202 (DEFAULT_CURSOR_COLOR): Changed value.
40203 (grub_virtual_screen): Added standard_color_setting,
40204 normal_color_setting, highlight_color_setting and term_color.
40205 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
40206 (bitmap_width): Added.
40207 (bitmap_height): Likewise.
40208 (bitmap): Likewise.
40209 (set_term_color): Likewise.
40210 (grub_virtual_screen_setup): Changed to use new terminal coloring
40211 settings.
40212 (grub_gfxterm_init): Added init for bitmap.
40213 (grub_gfxterm_fini): Added destroy for bitmap.
40214 (redraw_screen_rect): Updated to use background bitmap and new
40215 terminal coloring.
40216 (scroll_up): Added optimization for case when there is no bitmap.
40217 (grub_gfxterm_cls): Fixed to use correct background color.
40218 (grub_virtual_screen_setcolorstate): Changed to use new terminal
40219 coloring.
40220 (grub_virtual_screen_setcolor): Likewise.
40221 (grub_virtual_screen_getcolor): Added.
40222 (grub_gfxterm_background_image_cmd): Likewise.
40223 (grub_video_term): Added setcolor and getcolor.
40224 (MOD_INIT): Added registration of background_image command.
40225 (MOD_TERM): Added unregistration for background_image command.
40226
c3c20931 402272007-12-30 Pavel Roskin <proski@gnu.org>
40228
40229 * loader/multiboot_loader.c: Fix multiboot command
40230 unregistration. Fix all typos in the word "multiboot".
40231
df266716 402322007-12-29 Pavel Roskin <proski@gnu.org>
94239199 40233
40234 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40235 support for initrd names used in Fedora.
40236
fc6e896c 402372007-12-26 Bean <bean123ch@gmail.com>
40238
40239 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
40240 (cpio_mod_SOURCES): New variable.
40241 (cpio_mod_CFLAGS): Likewise.
40242 (cpio_mod_LDFLAGS): Likewise.
40243
40244 * fs/cpio.c: New file.
40245
40246 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
40247
40248 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40249
40250 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40251
40252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40253
533110ad 402542007-12-25 Robert Millan <rmh@aybabtu.com>
40255
40256 * include/grub/term.h (struct grub_term): Add `getcolor' function.
40257 (grub_getcolor): New function.
40258
40259 * kern/term.c (grub_getcolor): New function.
40260 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
40261 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
40262 (print_entry): Set normal and highlight colors to
40263 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
40264 respectively, before printing and restore them to old
40265 values afterwards.
40266 (grub_menu_init_page): Likewise. Fill an additional colored space
40267 that would otherwise be left blank.
40268
40269 * term/efi/console.c (grub_console_getcolor): New function.
40270 (struct grub_console_term.getcolor): New variable.
40271 * term/i386/pc/console.c (grub_console_getcolor): New function.
40272 (struct grub_console_term.getcolor): New variable.
40273 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
40274 (struct grub_console_term.getcolor): New variable.
40275
40276 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
40277 (struct grub_console_term.setcolor): Remove variable.
40278 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
40279 (struct grub_console_term.setcolor): Remove variable.
40280 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
40281 (struct grub_console_term.setcolor): Remove variable.
40282 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
40283 (struct grub_console_term.setcolor): Remove variable.
40284
4931827f 402852007-12-25 Robert Millan <rmh@aybabtu.com>
40286
40287 * configure.ac: Search for possible unifont.hex locations, and
40288 define UNIFONT_HEX if found.
40289
40290 * Makefile.in (UNIFONT_HEX): Define variable.
40291 (DATA): Rename to ...
40292 (PKGLIB): ... this. Update all users.
40293 (PKGDATA): New variable.
40294 (pkgdata_IMAGES): Rename to ...
40295 (pkglib_IMAGES): ... this. Update all users.
40296 (pkgdata_MODULES): Rename to ...
40297 (pkglib_MODULES): ... this. Update all users.
40298 (pkgdata_PROGRAMS): Rename to ...
40299 (pkglib_PROGRAMS): ... this. Update all users.
40300 (pkgdata_DATA): Rename to ...
40301 (pkglib_DATA): ... this. Update all users.
40302 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
40303 (unicode.pff, ascii.pff): New rules.
40304 (all-local): Add `$(PKGDATA)' dependency.
40305 (install-local): Process `$(PKGDATA)'.
40306
40307 * util/update-grub_lib.in (font_path): Search for *.pff files in
40308 a few more locations, including `${pkgdata}'.
40309
57e57e31 403102007-12-23 Robert Millan <rmh@aybabtu.com>
40311
40312 Patch from Bean <bean123ch@gmail.com>:
40313 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
40314 `size'.
40315
4bc72aa9 403162007-12-21 Bean <bean123ch@gmail.com>
40317
40318 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
40319 (ntfscomp_mod_SOURCES): New variable.
40320 (ntfscomp_mod_CFLAGS): Likewise.
40321 (ntfscomp_mod_LDFLAGS): Likewise.
40322
40323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
40324 (grub_probe_SOURCES): Likewise.
40325 (grub_emu_SOURCES): Likewise.
40326
40327 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40328 (grub_emu_SOURCES): Likewise.
40329
40330 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40331 (grub_emu_SOURCES): Likewise.
40332
40333 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40334 (grub_emu_SOURCES): Likewise.
40335
40336 * fs/ntfs.c (grub_ntfscomp_func): New variable.
40337 (read_run_list): Renamed to grub_ntfs_read_run_list.
40338 (decomp_nextvcn): Moved to ntfscomp.c.
40339 (decomp_getch): Likewise.
40340 (decomp_get16): Likewise.
40341 (decomp_block): Likewise.
40342 (read_block): Likewise.
40343 (read_data): Partially moved to ntfscomp.c.
40344 (fixup): Change unsigned to grub_uint16_t.
40345 (read_mft): Change unsigned long to grub_uint32_t.
40346 (read_attr): Likewise.
40347 (read_data): Likewise.
40348 (read_run_data): Likewise.
40349 (read_run_list): Likewise.
40350 (read_mft): Likewise.
40351
40352 * fs/ntfscomp.c: New file.
40353
40354 * include/grub/ntfs.h: New file.
40355
af680a87 403562007-12-16 Robert Millan <rmh@aybabtu.com>
40357
40358 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40359 IDE disk check, since Linux is known to support 20 IDE disks.
40360 Reported by Colin Watson.
40361
84be7599 403622007-12-15 Bean <bean123ch@gmail.com>
40363
40364 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40365 (lnxboot_img_SOURCES): New variable.
40366 (lnxboot_img_ASFLAGS): Likewise.
40367 (lnxboot_img_LDFLAGS): Likewise.
40368
40369 * boot/i386/pc/lnxboot.S: New file.
40370
6af9db01 403712007-11-24 Pavel Roskin <proski@gnu.org>
40372
40373 * configure.ac: Test if '--build-id=none' is supported by the
40374 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40375 objcopy to generate incorrect binary files (binutils
40376 2.17.50.0.18-1 as shipped by Fedora 8).
40377 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40378 linking, so that build ID doesn't break the test.
40379
7361cfe6 403802007-11-24 Pavel Roskin <proski@gnu.org>
40381
40382 * include/grub/i386/time.h: use "void" in the argument list
40383 of grub_cpu_idle().
40384 * include/grub/powerpc/time.h: Likewise.
40385 * include/grub/sparc64/time.h: Likewise.
40386
1593e10c 403872007-11-18 Christian Franke <franke@computer.org>
40388
40389 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40390 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40391 This fixes the problem that function keys did not work in grub-emu.
40392
3b8db1a8 403932007-11-18 Christian Franke <franke@computer.org>
40394
40395 * disk/host.c (grub_host_open): Remove attribute unused from
40396 name parameter. Add check for "host". This fixes the problem
40397 that grub-emu does not find partitions.
40398
2e29408d 403992007-11-18 Christian Franke <franke@computer.org>
40400
40401 * util/hostfs.c (is_dir): New function.
40402 (grub_hostfs_dir): Handle missing dirent.d_type case.
40403 (grub_hostfs_read): Add missing fseek().
40404 (grub_hostfs_label): Clear label pointer. This fixes a crash
40405 of grub-emu on "ls (host)".
40406
398cd047 404072007-11-18 Christian Franke <franke@computer.org>
40408
40409 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40410 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40411 to 64 bit boundary by default.
40412
c405c391 404132007-11-18 Bean <bean123ch@gmail.com>
40414
40415 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40416 (hexdump_mod_SOURCES): New variable.
40417 (hexdump_mod_CFLAGS): Likewise.
40418 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 40419
c405c391 40420 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40421
40422 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40423
40424 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40425
40426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40427
40428 * include/grub/hexdump.h: New file.
40429
40430 * commands/hexdump.c: New file.
40431
5cced7fd 404322007-11-10 Robert Millan <rmh@aybabtu.com>
40433
40434 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40435 in grub_outb() calls.
40436 (beep_on): Likewise.
40437
8b714eb0 404382007-11-10 Christian Franke <franke@computer.org>
40439
40440 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40441 (grub_menu_run): Likewise.
40442
ce0f1839 404432007-11-10 Robert Millan <rmh@aybabtu.com>
40444
40445 * include/grub/i386/efi/machine.h: New file.
40446 * include/grub/i386/linuxbios/machine.h: Likewise.
40447 * include/grub/i386/pc/machine.h: Likewise.
40448 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40449 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40450
40451 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40452 (serial_hw_io_addr): New variable.
40453 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40454 instead of `(unsigned short *) 0x400'.
40455
270c237d 404562007-11-10 Bean <bean123ch@gmail.com>
40457
40458 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40459
a87783bf 404602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40461
40462 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40463 (vga_mod_SOURCES): Added.
40464 (vga_mod_CFLAGS): Likewise.
40465 (vga_mod_LDFLAGS): Likewise.
40466
40467 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40468 grub_outb() calls.
40469 (set_map_mask): Likewise.
40470 (set_read_map): Likewise.
40471 (set_read_address): Likewise.
40472 (vga_font): Removed variable.
40473 (get_vga_glyph): Removed function.
40474 (invalidate_char): Likewise.
40475 (write_char): Changed to use grub_font_get_glyph() for font
40476 information.
40477 (grub_vga_putchar): Likewise.
40478 (grub_vga_getcharwidth): Likewise.
40479
6433b448 404802007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40481
40482 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40483 flags.
40484 (pxeboot_img_LDFLAGS): Likewise.
40485 (diskboot_img_LDFLAGS): Likewise.
40486 (kernel_img_LDFLAGS): Likewise.
40487
49178511 404882007-11-06 Robert Millan <rmh@aybabtu.com>
40489
40490 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40491 in grub_outb() calls.
40492 (serial_hw_init): Likewise.
40493
53b052de 404942007-11-05 Robert Millan <rmh@aybabtu.com>
40495
40496 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40497 spaces. Skip non-regular files.
40498
5ab33bba 404992007-11-05 Robert Millan <rmh@aybabtu.com>
40500
40501 * kern/disk.c (grub_disk_firmware_fini)
40502 (grub_disk_firmware_is_tainted): New variables.
40503
40504 * include/grub/disk.h (grub_disk_firmware_fini)
40505 (grub_disk_firmware_is_tainted): Likewise.
40506
40507 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40508 (grub_disk_biosdisk_fini): ... to here.
40509 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40510 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40511 is set. Register grub_disk_biosdisk_fini() in
40512 `grub_disk_firmware_fini'.
40513
40514 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40515 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40516 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40517 to finish existing firmware disk interface.
40518
40519 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40520 (ata_mod_SOURCES): New variable.
40521 (ata_mod_CFLAGS): Likewise.
40522 (ata_mod_LDFLAGS): Likewise.
40523
0149ab7c 405242007-11-05 Robert Millan <rmh@aybabtu.com>
40525
40526 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40527 (grub_ata_wait): Reimplement using grub_millisleep().
40528
40529 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40530 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40531
be7ac41e 405322007-11-03 Marco Gerards <marco@gnu.org>
40533
40534 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40535 (CRTC_ADDR_PORT): New macro.
40536 (CRTC_DATA_PORT): Likewise.
40537 (CRTC_CURSOR): Likewise.
40538 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40539 (CRTC_CURSOR_ADDR_LOW): Likewise.
40540 (update_cursor): New function.
40541 (grub_console_real_putchar): Call `update_cursor'.
40542 (grub_console_gotoxy): Likewise.
40543 (grub_console_cls): Set the default color when clearing the
40544 screen.
40545 (grub_console_setcursor): Implemented.
40546
bb06ab2e 405472007-11-03 Marco Gerards <marco@gnu.org>
40548
40549 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40550 become activate.
40551 (grub_ata_pio_write): Likewise.
40552
40553 (grub_atapi_identify): Wait after issuing an ATA command.
40554 (grub_atapi_packet): Likewise.
40555 (grub_ata_identify): Likewise.
40556 (grub_ata_readwrite): Likewise.
40557
cf8f780b 405582007-11-03 Marco Gerards <marco@gnu.org>
40559
40560 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40561 (grub_ata_pio_write): Likewise.
40562 (grub_ata_readwrite): Use `grub_error', instead of
40563 returning `grub_errno'.
40564
ed649e54 405652007-11-03 Marco Gerards <marco@gnu.org>
40566
40567 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40568 grub_ata_pio_write once for every single sector, instead of for
40569 multiple sectors.
40570
ca25d8f0 405712007-10-31 Robert Millan <rmh@aybabtu.com>
40572
40573 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40574
40575 * conf/i386-linuxbios.rmk: New file.
40576
40577 * kern/i386/pc/hardware.c: Likewise.
40578 * term/i386/pc/at_keyboard.c: Likewise.
40579 * term/i386/pc/vga_text.c: Likewise.
40580
40581 * include/grub/i386/linuxbios/boot.h: Likewise.
40582 * include/grub/i386/linuxbios/console.h: Likewise.
40583 * include/grub/i386/linuxbios/init.h: Likewise.
40584 * include/grub/i386/linuxbios/kernel.h: Likewise.
40585 * include/grub/i386/linuxbios/loader.h: Likewise.
40586 * include/grub/i386/linuxbios/memory.h: Likewise.
40587 * include/grub/i386/linuxbios/serial.h: Likewise.
40588 * include/grub/i386/linuxbios/time.h: Likewise.
40589
40590 * kern/i386/linuxbios/init.c: Likewise.
40591 * kern/i386/linuxbios/startup.S: Likewise.
40592 * kern/i386/linuxbios/table.c: Likewise.
40593
e911ecc1 405942007-10-31 Marco Gerards <marco@gnu.org>
40595
40596 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40597 (ata_mod_SOURCES): New variable.
40598 (ata_mod_CFLAGS): Likewise.
40599 (ata_mod_LDFLAGS): Likewise.
40600
40601 * disk/ata.c: New file.
40602
40603 * include/grub/disk.h (grub_disk_dev_id): Add
40604 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 40605
7f66d0e0 406062007-10-31 Robert Millan <rmh@aybabtu.com>
40607
40608 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40609 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40610
40611 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40612 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40613
40614 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40615 `<grub/types.h>'.
40616
40617 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40618
5cd7dd46 406192007-10-27 Robert Millan <rmh@aybabtu.com>
40620
3236ca65 40621 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 40622
2ebfc90f 406232007-10-22 Robert Millan <rmh@aybabtu.com>
40624
40625 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40626 `"../realmode.S"'.
40627 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40628
73fcb0f3 406292007-10-22 Robert Millan <rmh@aybabtu.com>
40630
40631 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40632 (pkgdata_MODULES): Add `biosdisk.mod'.
40633 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40634 variables.
40635
40636 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40637 (grub_biosdisk_init): Replace with ...
40638 (GRUB_MOD_INIT(biosdisk)): ... this.
40639 (grub_biosdisk_fini): Replace with ...
40640 (GRUB_MOD_FINI(biosdisk)): ... this.
40641
40642 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40643 (grub_machine_init): Remove call to grub_biosdisk_init().
40644 (grub_machine_fini): Remove call to grub_machine_fini().
40645
40646 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40647
3381d274 406482007-10-22 Robert Millan <rmh@aybabtu.com>
40649
40650 * include/grub/time.h: New file.
40651 * include/grub/i386/time.h: Likewise.
40652 * include/grub/powerpc/time.h: Likewise.
40653 * include/grub/sparc64/time.h: Likewise.
40654
40655 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40656 instances to ...
40657 (KERNEL_MACHINE_TIME_HEADER): ... this.
40658 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40659 instances to ...
40660 (KERNEL_MACHINE_TIME_HEADER): ... this.
40661 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40662 instances to ...
40663 (KERNEL_MACHINE_TIME_HEADER): ... this.
40664
40665 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40666 (grub_millisleep): New function.
40667 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40668 (grub_millisleep): New function.
40669 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40670 Remove `grub/machine/time.h' include.
40671 (grub_millisleep): New function.
40672 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40673 Remove `grub/machine/time.h' include.
40674 (grub_millisleep): New function.
40675
40676 * include/grub/misc.h (grub_div_roundup): New function.
40677
40678 * kern/misc.c: Include `<grub/time.h>'.
40679 (grub_millisleep_generic): New function.
40680
40681 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40682 Add `time.h'.
40683 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40684 Add `time.h'.
40685 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40686 `machine/time.h'. Add `time.h'.
40687 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40688
a39a0312 406892007-10-21 Robert Millan <rmh@aybabtu.com>
40690
40691 * include/grub/misc.h (grub_max): New function.
40692
2aad70e2 406932007-10-21 Robert Millan <rmh@aybabtu.com>
40694
40695 * util/misc.c (grub_util_info): Call fflush() before returning.
40696
54b71c4b 406972007-10-20 Robert Millan <rmh@aybabtu.com>
40698
40699 * genmk.rb (Image): Copy `extra_flags' from here ...
40700 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40701
40702 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40703 to `argc' and `args' arguments.
40704
a979f513 407052007-10-17 Robert Millan <rmh@aybabtu.com>
40706
40707 * kern/i386/loader.S: New file.
40708
40709 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40710 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40711 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40712 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40713 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40714 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40715 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40716 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40717 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40718 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40719 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40720 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40721 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40722 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40723
40724 * kern/i386/realmode.S: New file.
40725
40726 * kern/i386/pc/startup.S (protstack): Moved from here ...
40727 * kern/i386/realmode.S (protstack)... to here.
40728 * kern/i386/pc/startup.S (gdt): Moved from here ...
40729 * kern/i386/realmode.S (gdt)... to here.
40730 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40731 * kern/i386/realmode.S (prot_to_real)... to here.
40732
40733 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40734 `kern/i386/realmode.S'.
40735
825fc8fd 407362007-10-17 Robert Millan <rmh@aybabtu.com>
40737
40738 * include/grub/i386/loader.h: New file.
40739
40740 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40741 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40742 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40743 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40744 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40745 * include/grub/i386/loader.h (grub_linux_prot_size)
40746 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40747 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40748 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40749 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40750
40751 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40752
e179b2f4 407532007-10-15 Robert Millan <rmh@aybabtu.com>
40754
40755 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40756 filesystem when dev->disk is unset.
40757 Do probe for filesystem even when dev->disk->has_partitions is set.
40758 In case a filesystem is found, always report it.
40759 In case it isn't, if dev->disk->has_partitions is set, report that
40760 a partition table was found instead of reporting that no filesystem
40761 could be identified.
40762
5db82af6 407632007-10-12 Robert Millan <rmh@aybabtu.com>
40764
40765 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40766 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40767
68f6ac74 40768 * include/grub/types.h (grub_host_to_target16): New macro.
40769 (grub_host_to_target32): Likewise.
40770 (grub_host_to_target64): Likewise.
40771 (grub_target_to_host16): Likewise.
40772 (grub_target_to_host32): Likewise.
40773 (grub_target_to_host64): Likewise.
5db82af6 40774
40775 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40776 Renamed from to ...
40777 (GRUB_MOD_ALIGN): ...this. Update all users.
40778
68f6ac74 40779 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40780 grub_host_to_target32.
40781 Replace grub_be_to_cpu32 with grub_target_to_host32.
40782 (load_modules): Likewise.
40783 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40784 Replace grub_be_to_cpu32 with grub_target_to_host32.
40785 Replace grub_cpu_to_be16 with grub_host_to_target16.
40786 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 40787
3cf497cc 407882007-10-12 Robert Millan <rmh@aybabtu.com>
40789
40790 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40791 * util/elf/grub-mkimage.c: ... here.
40792
40793 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40794 `util/powerpc/ieee1275/grub-mkimage.c'.
40795
c8cc3692 407962007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 40797
c8cc3692 40798 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40799 and make it easier to figure out.
40800 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40801 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40802 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40803 leave us with less than HEAP_MIN_SIZE total heap.
40804 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 40805
5c58b791 408062007-10-03 Robert Millan <rmh@aybabtu.com>
40807
40808 * include/grub/i386/io.h: New file.
40809 * commands/i386/pc/play.c (inb): Removed.
40810 (outb): Removed.
40811 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40812 with grub_outb().
afcd2ef8 40813 * term/i386/pc/serial.c (inb): Removed.
40814 (outb): Removed.
40815 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40816 with grub_outb().
40817 * term/i386/pc/vga.c (inb): Removed.
40818 (outb): Removed.
40819 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40820 with grub_outb().
5c58b791 40821
1a477ed6 408222007-10-02 Robert Millan <rmh@aybabtu.com>
40823
40824 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40826 Reported by Marcin Kurek.
40827
6b5d80fa 408282007-09-07 Robert Millan <rmh@aybabtu.com>
40829
40830 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40831 SmartFirmware version updates (as released by Sven Luther), and avoid
40832 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40833 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40834 known broken.
40835
5618afbf 408362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40837
40838 From Hitoshi Ozeki:
40839 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40840 when merging two regions.
40841
6139dcd9 408422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40843
508e39ee 40844 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40845 * normal/completion.c (grub_normal_do_completion): Likewise.
40846 Reported by Hitoshi Ozeki.
40847
408482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40849
6139dcd9 40850 Do not use devices at boot in chainloading.
f19dbdb7 40851
6139dcd9 40852 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40853 (boot_part_addr): Likewise.
40854 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40855 with BOOT_DRIVE and BOOT_PART_ADDR.
40856 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40857 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40858
38da6516 408592007-08-29 Robert Millan <rmh@aybabtu.com>
40860
40861 Patch from Simon Peter <dn.tlp@gmx.net>:
40862 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40863 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40864 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40865 util/i386/pc/grub-setup.c_DEPENDENCIES.
40866 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40867 util/grub-probe.c_DEPENDENCIES.
40868 * conf/powerpc-ieee1275.rmk: Likewise.
40869
29d0928c 408702007-08-28 Robert Millan <rmh@aybabtu.com>
40871
40872 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40873 to tell grub-mkdevicemap how to name devices.
40874 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40875 feature).
40876
40877 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40878 util/i386/get_disk_name.c.
40879 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40880 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40881 util/ieee1275/get_disk_name.c.
40882
40883 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40884
40885 * DISTLIST: Add util/i386/get_disk_name.c and
40886 util/ieee1275/get_disk_name.c.
40887
40888 * util/grub-mkdevicemap.c: Replace device naming logic with
40889 grub_util_get_disk_name() calls.
40890
5a0d3cca 408912007-08-20 Robert Millan <rmh@aybabtu.com>
40892
40893 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
40894 (so that it works for both plural and singular quantities).
40895
8b72db2f 408962007-08-05 Robert Millan <rmh@aybabtu.com>
40897
40898 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
40899 so that [xz] isn't taken into account when determining order.
40900
352466bf 409012007-08-02 Marco Gerards <marco@gnu.org>
40902
40903 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
40904 `include/multiboot2.h', `include/grub/elfload.h',
40905 `include/multiboot.h', `include/grub/multiboot.h',
40906 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
40907 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
40908 `kern/elf.c', `loader/multiboot_loader.c',
40909 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
40910 `loader/i386/pc/multiboot2.c',
40911 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
40912 `util/i386/pc/grub-mkrescue.in'. Remove
40913 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
40914 `include/grub/i386/pc/util/biosdisk.h' and
40915 `include/grub/powerpc/ieee1275/multiboot.h'.
40916
8f096014 409172007-08-02 Bean <bean123ch@gmail.com>
40918
40919 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
40920 (ntfs_mod_SOURCES): New variable.
40921 (ntfs_mod_CFLAGS): Likewise.
40922 (ntfs_mod_LDFLAGS): Likewise.
40923
40924 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
40925 (grub_probe_SOURCES): Likewise.
40926 (grub_emu_SOURCES): Likewise.
40927
40928 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40929 (grub_emu_SOURCES): Likewise.
40930
40931 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40932 (grub_emu_SOURCES): Likewise.
f19dbdb7 40933
8f096014 40934 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
40935
40936 * fs/ntfs.c: New file.
40937
9959f7db 409382007-08-02 Bean <bean123ch@gmail.com>
40939
40940 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
40941
40942 * file.h (grub_file): Likewise.
40943
40944 * fshelp.h (grub_fshelp_read_file): Likewise.
40945
40946 * util/i386/pc/grub-setup.c (setup): Likewise.
40947 (save_first_sector): Likewise.
40948 (save_blocklists): Likewise.
f19dbdb7 40949
9959f7db 40950 * fs/affs.c (grub_affs_read_file): Likewise.
40951
40952 * fs/ext2.c (grub_ext2_read_file): Likewise.
40953
40954 * fs/fat.c (grub_fat_read_data): Likewise.
40955
40956 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
40957
40958 * fs/hfs.c (grub_hfs_read_file): Likewise.
40959
40960 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40961
40962 * fs/jfs.c (grub_jfs_read_file): Likewise.
40963
40964 * fs/minix.c (grub_minix_read_file): Likewise.
40965
40966 * fs/sfs.c (grub_sfs_read_file): Likewise.
40967
40968 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 40969
9959f7db 40970 * fs/xfs.c (grub_xfs_read_file): Likewise.
40971
40972 * command/blocklist.c (read_blocklist): Likewise.
40973 (print_blocklist): Likewise.
40974
0a203f83 409752007-08-02 Marco Gerards <marco@gnu.org>
40976
40977 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
40978 `util/hostfs.c'.
40979
40980 * disk/host.c: New file.
40981
40982 * util/hostfs.c: Likewise.
40983
40984 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
40985 return `GRUB_ERR_BAD_FS'.
40986 * fs/sfs.c (grub_sfs_mount): Likewise.
40987 * fs/xfs.c (grub_xfs_mount): Likewise.
40988
40989 * include/grub/disk.h (enum grub_disk_dev_id): Add
40990 `GRUB_DISK_DEVICE_HOST_ID'.
40991
40992 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40993
e5dfe777 409942007-07-24 Jerone Young <jerone@gmail.com>
40995
f19dbdb7 40996 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 40997 modules for compilation.
40998 * conf/powerpc-ieee1275.rmk: Likewise.
40999
41000 * include/multiboot.h: Move multiboot definitions to one file. Rename
41001 many definitions to not get grub specific.
41002 * include/multiboot2.h: Create header with multiboot 2 definitions.
41003 * include/grub/multiboot.h: Header for grub specific function
41004 prototypes and definitions.
41005 * include/grub/multiboot2.h: Likewise.
41006 * include/grub/multiboot_loader.h: Likewise.
41007 * include/grub/i386/pc/multiboot.h: Removed.
41008 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41009
41010 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41011 and 2 to allow for one multiboot and module commands.
41012 * loader/multiboot2.c: Add multiboot2 functionality.
41013 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41014 and definition names.
41015 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41016 2 functions.
41017 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41018 ieee1275 specific multiboot2 code.
41019
41020 * kern/i386/pc/startup.S: Change headers and definition names for
41021 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41022
daf0f0ba 410232007-07-22 Robert Millan <rmh@aybabtu.com>
41024
41025 * geninitheader.sh: Process file specified in first parameter rather
41026 than hardcoding grub_modules_init.lst.
fe6b695a 41027 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41028 than hardcoding grub_modules_init.h.
41029
41030 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41031 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41032 grub_probe_init.[ch] and grub_setup_init.[ch].
41033
41034 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41035 grub_modules_init.h with grub_emu_init.h.
41036 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41037 grub_probe_init.[ch] files.
41038 * conf/i386-efi.rmk: Likewise.
41039 * conf/i386-pc.rmk: Likewise.
41040 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41041 grub_setup_init.[ch] files.
41042
41043 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41044 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41045 to initialize modules rather than a list of hardcoded functions.
41046 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41047 grub_init_all() to initialize modules rather than a list of hardcoded
41048 functions.
41049
54cdc1cc 410502007-07-22 Robert Millan <rmh@aybabtu.com>
41051
41052 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41053 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41054
ad0686cc 410552007-07-22 Robert Millan <rmh@aybabtu.com>
41056
41057 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41058 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41059 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41060 flag when running on SmartFirmware.
41061 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41062 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41063 was set.
41064
41065 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41066 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41067 rather than decreasing it.
41068
41069 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41070 there's not enough space to do it, fail in the same way as when it
41071 can't be done because there are no partitions.
41072
41073 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41074 when nvsetenv failed.
41075
969c02ec 410762007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41077
41078 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41079 because this rule is automatically generated.
41080 (grub-mkrescue): Removed for the same reason as above.
41081
5a79f472 410822007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41083
41084 Migrate to GNU General Public License Version 3.
f19dbdb7 41085
5a79f472 41086 * COPYING: Replaced with the plain text version of GPLv3.
41087
41088 * config.guess: Updated from gnulib.
41089 * config.sub: Likewise.
41090
41091 * geninit.sh: Output a GPLv3 copyright notice.
41092 * geninitheader.sh: Likewise.
41093 * genmodsrc.sh: Likewise.
41094 * gensymlist.sh.in: Likewise.
41095
41096 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41097 * boot/i386/pc/diskboot.S: Likewise.
41098 * boot/i386/pc/pxeboot.S: Likewise.
41099 * commands/blocklist.c: Likewise.
41100 * commands/boot.c: Likewise.
41101 * commands/cat.c: Likewise.
41102 * commands/cmp.c: Likewise.
41103 * commands/configfile.c: Likewise.
41104 * commands/echo.c: Likewise.
41105 * commands/help.c: Likewise.
41106 * commands/ls.c: Likewise.
41107 * commands/search.c: Likewise.
41108 * commands/terminal.c: Likewise.
41109 * commands/test.c: Likewise.
41110 * commands/videotest.c: Likewise.
41111 * commands/i386/cpuid.c: Likewise.
41112 * commands/i386/pc/halt.c: Likewise.
41113 * commands/i386/pc/play.c: Likewise.
41114 * commands/i386/pc/reboot.c: Likewise.
41115 * commands/i386/pc/vbeinfo.c: Likewise.
41116 * commands/i386/pc/vbetest.c: Likewise.
41117 * commands/ieee1275/halt.c: Likewise.
41118 * commands/ieee1275/reboot.c: Likewise.
41119 * commands/ieee1275/suspend.c: Likewise.
41120 * disk/loopback.c: Likewise.
41121 * disk/lvm.c: Likewise.
41122 * disk/raid.c: Likewise.
41123 * disk/efi/efidisk.c: Likewise.
41124 * disk/i386/pc/biosdisk.c: Likewise.
41125 * disk/ieee1275/ofdisk.c: Likewise.
41126 * font/manager.c: Likewise.
41127 * fs/affs.c: Likewise.
41128 * fs/ext2.c: Likewise.
41129 * fs/fat.c: Likewise.
41130 * fs/fshelp.c: Likewise.
41131 * fs/hfs.c: Likewise.
41132 * fs/hfsplus.c: Likewise.
41133 * fs/iso9660.c: Likewise.
41134 * fs/jfs.c: Likewise.
41135 * fs/minix.c: Likewise.
41136 * fs/sfs.c: Likewise.
41137 * fs/ufs.c: Likewise.
41138 * fs/xfs.c: Likewise.
41139 * hello/hello.c: Likewise.
41140 * include/grub/acorn_filecore.h: Likewise.
41141 * include/grub/arg.h: Likewise.
41142 * include/grub/bitmap.h: Likewise.
41143 * include/grub/boot.h: Likewise.
41144 * include/grub/cache.h: Likewise.
41145 * include/grub/device.h: Likewise.
41146 * include/grub/disk.h: Likewise.
41147 * include/grub/dl.h: Likewise.
41148 * include/grub/elfload.h: Likewise.
41149 * include/grub/env.h: Likewise.
41150 * include/grub/err.h: Likewise.
41151 * include/grub/file.h: Likewise.
41152 * include/grub/font.h: Likewise.
41153 * include/grub/fs.h: Likewise.
41154 * include/grub/fshelp.h: Likewise.
41155 * include/grub/gzio.h: Likewise.
41156 * include/grub/hfs.h: Likewise.
41157 * include/grub/kernel.h: Likewise.
41158 * include/grub/loader.h: Likewise.
41159 * include/grub/lvm.h: Likewise.
41160 * include/grub/misc.h: Likewise.
41161 * include/grub/mm.h: Likewise.
41162 * include/grub/net.h: Likewise.
41163 * include/grub/normal.h: Likewise.
41164 * include/grub/parser.h: Likewise.
41165 * include/grub/partition.h: Likewise.
41166 * include/grub/pc_partition.h: Likewise.
41167 * include/grub/raid.h: Likewise.
41168 * include/grub/rescue.h: Likewise.
41169 * include/grub/script.h: Likewise.
41170 * include/grub/setjmp.h: Likewise.
41171 * include/grub/symbol.h: Likewise.
41172 * include/grub/term.h: Likewise.
41173 * include/grub/terminfo.h: Likewise.
41174 * include/grub/tparm.h: Likewise.
41175 * include/grub/types.h: Likewise.
41176 * include/grub/video.h: Likewise.
41177 * include/grub/efi/api.h: Likewise.
41178 * include/grub/efi/chainloader.h: Likewise.
41179 * include/grub/efi/console.h: Likewise.
41180 * include/grub/efi/console_control.h: Likewise.
41181 * include/grub/efi/disk.h: Likewise.
41182 * include/grub/efi/efi.h: Likewise.
41183 * include/grub/efi/pe32.h: Likewise.
41184 * include/grub/efi/time.h: Likewise.
41185 * include/grub/i386/linux.h: Likewise.
41186 * include/grub/i386/setjmp.h: Likewise.
41187 * include/grub/i386/types.h: Likewise.
41188 * include/grub/i386/efi/kernel.h: Likewise.
41189 * include/grub/i386/efi/loader.h: Likewise.
41190 * include/grub/i386/efi/time.h: Likewise.
41191 * include/grub/i386/pc/biosdisk.h: Likewise.
41192 * include/grub/i386/pc/boot.h: Likewise.
41193 * include/grub/i386/pc/chainloader.h: Likewise.
41194 * include/grub/i386/pc/console.h: Likewise.
41195 * include/grub/i386/pc/init.h: Likewise.
41196 * include/grub/i386/pc/kernel.h: Likewise.
41197 * include/grub/i386/pc/loader.h: Likewise.
41198 * include/grub/i386/pc/memory.h: Likewise.
41199 * include/grub/i386/pc/multiboot.h: Likewise.
41200 * include/grub/i386/pc/serial.h: Likewise.
41201 * include/grub/i386/pc/time.h: Likewise.
41202 * include/grub/i386/pc/vbe.h: Likewise.
41203 * include/grub/i386/pc/vbeblit.h: Likewise.
41204 * include/grub/i386/pc/vbefill.h: Likewise.
41205 * include/grub/i386/pc/vbeutil.h: Likewise.
41206 * include/grub/i386/pc/vga.h: Likewise.
41207 * include/grub/ieee1275/ieee1275.h: Likewise.
41208 * include/grub/ieee1275/ofdisk.h: Likewise.
41209 * include/grub/powerpc/libgcc.h: Likewise.
41210 * include/grub/powerpc/setjmp.h: Likewise.
41211 * include/grub/powerpc/types.h: Likewise.
41212 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41213 * include/grub/powerpc/ieee1275/console.h: Likewise.
41214 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
41215 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
41216 * include/grub/powerpc/ieee1275/loader.h: Likewise.
41217 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
41218 * include/grub/powerpc/ieee1275/time.h: Likewise.
41219 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
41220 * include/grub/sparc64/libgcc.h: Likewise.
41221 * include/grub/sparc64/setjmp.h: Likewise.
41222 * include/grub/sparc64/types.h: Likewise.
41223 * include/grub/sparc64/ieee1275/console.h: Likewise.
41224 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41225 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41226 * include/grub/sparc64/ieee1275/time.h: Likewise.
41227 * include/grub/util/biosdisk.h: Likewise.
41228 * include/grub/util/getroot.h: Likewise.
41229 * include/grub/util/lvm.h: Likewise.
41230 * include/grub/util/misc.h: Likewise.
41231 * include/grub/util/raid.h: Likewise.
41232 * include/grub/util/resolve.h: Likewise.
41233 * io/gzio.c: Likewise.
41234 * kern/device.c: Likewise.
41235 * kern/disk.c: Likewise.
41236 * kern/dl.c: Likewise.
41237 * kern/elf.c: Likewise.
41238 * kern/env.c: Likewise.
41239 * kern/err.c: Likewise.
41240 * kern/file.c: Likewise.
41241 * kern/fs.c: Likewise.
41242 * kern/loader.c: Likewise.
41243 * kern/main.c: Likewise.
41244 * kern/misc.c: Likewise.
41245 * kern/mm.c: Likewise.
41246 * kern/parser.c: Likewise.
41247 * kern/partition.c: Likewise.
41248 * kern/rescue.c: Likewise.
41249 * kern/term.c: Likewise.
41250 * kern/efi/efi.c: Likewise.
41251 * kern/efi/init.c: Likewise.
41252 * kern/efi/mm.c: Likewise.
41253 * kern/i386/dl.c: Likewise.
41254 * kern/i386/efi/init.c: Likewise.
41255 * kern/i386/efi/startup.S: Likewise.
41256 * kern/i386/pc/init.c: Likewise.
41257 * kern/i386/pc/lzo1x.S: Likewise.
41258 * kern/i386/pc/startup.S: Likewise.
41259 * kern/ieee1275/ieee1275.c: Likewise.
41260 * kern/powerpc/cache.S: Likewise.
41261 * kern/powerpc/dl.c: Likewise.
41262 * kern/powerpc/ieee1275/cmain.c: Likewise.
41263 * kern/powerpc/ieee1275/crt0.S: Likewise.
41264 * kern/powerpc/ieee1275/init.c: Likewise.
41265 * kern/powerpc/ieee1275/openfw.c: Likewise.
41266 * kern/sparc64/cache.S: Likewise.
41267 * kern/sparc64/dl.c: Likewise.
41268 * kern/sparc64/ieee1275/init.c: Likewise.
41269 * kern/sparc64/ieee1275/openfw.c: Likewise.
41270 * loader/efi/chainloader.c: Likewise.
41271 * loader/efi/chainloader_normal.c: Likewise.
41272 * loader/i386/efi/linux.c: Likewise.
41273 * loader/i386/efi/linux_normal.c: Likewise.
41274 * loader/i386/pc/chainloader.c: Likewise.
41275 * loader/i386/pc/chainloader_normal.c: Likewise.
41276 * loader/i386/pc/linux.c: Likewise.
41277 * loader/i386/pc/linux_normal.c: Likewise.
41278 * loader/i386/pc/multiboot.c: Likewise.
41279 * loader/i386/pc/multiboot_normal.c: Likewise.
41280 * loader/powerpc/ieee1275/linux.c: Likewise.
41281 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41282 * normal/arg.c: Likewise.
41283 * normal/cmdline.c: Likewise.
41284 * normal/command.c: Likewise.
41285 * normal/completion.c: Likewise.
41286 * normal/execute.c: Likewise.
41287 * normal/function.c: Likewise.
41288 * normal/lexer.c: Likewise.
41289 * normal/main.c: Likewise.
41290 * normal/menu.c: Likewise.
41291 * normal/menu_entry.c: Likewise.
41292 * normal/misc.c: Likewise.
41293 * normal/parser.y: Likewise.
41294 * normal/script.c: Likewise.
41295 * normal/i386/setjmp.S: Likewise.
41296 * normal/powerpc/setjmp.S: Likewise.
41297 * normal/sparc64/setjmp.S: Likewise.
41298 * partmap/acorn.c: Likewise.
41299 * partmap/amiga.c: Likewise.
41300 * partmap/apple.c: Likewise.
41301 * partmap/gpt.c: Likewise.
41302 * partmap/pc.c: Likewise.
41303 * partmap/sun.c: Likewise.
41304 * term/gfxterm.c: Likewise.
41305 * term/terminfo.c: Likewise.
41306 * term/efi/console.c: Likewise.
41307 * term/i386/pc/console.c: Likewise.
41308 * term/i386/pc/serial.c: Likewise.
41309 * term/i386/pc/vesafb.c: Likewise.
41310 * term/i386/pc/vga.c: Likewise.
41311 * term/ieee1275/ofconsole.c: Likewise.
41312 * util/biosdisk.c: Likewise.
41313 * util/console.c: Likewise.
41314 * util/genmoddep.c: Likewise.
41315 * util/getroot.c: Likewise.
41316 * util/grub-emu.c: Likewise.
41317 * util/grub-mkdevicemap.c: Likewise.
41318 * util/grub-probe.c: Likewise.
41319 * util/lvm.c: Likewise.
41320 * util/misc.c: Likewise.
41321 * util/raid.c: Likewise.
41322 * util/resolve.c: Likewise.
41323 * util/update-grub.in: Likewise.
41324 * util/update-grub_lib.in: Likewise.
41325 * util/grub.d/00_header.in: Likewise.
41326 * util/grub.d/10_hurd.in: Likewise.
41327 * util/grub.d/10_linux.in: Likewise.
41328 * util/i386/efi/grub-install.in: Likewise.
41329 * util/i386/efi/grub-mkimage.c: Likewise.
41330 * util/i386/pc/grub-install.in: Likewise.
41331 * util/i386/pc/grub-mkimage.c: Likewise.
41332 * util/i386/pc/grub-mkrescue.in: Likewise.
41333 * util/i386/pc/grub-setup.c: Likewise.
41334 * util/i386/pc/misc.c: Likewise.
41335 * util/powerpc/ieee1275/grub-install.in: Likewise.
41336 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
41337 * util/powerpc/ieee1275/misc.c: Likewise.
41338 * video/bitmap.c: Likewise.
41339 * video/video.c: Likewise.
41340 * video/i386/pc/vbe.c: Likewise.
41341 * video/i386/pc/vbeblit.c: Likewise.
41342 * video/i386/pc/vbefill.c: Likewise.
41343 * video/i386/pc/vbeutil.c: Likewise.
41344 * video/readers/tga.c: Likewise.
41345
3572d015 413462007-07-02 Robert Millan <rmh@aybabtu.com>
41347
41348 * conf/i386-efi.rmk: Replace obsolete reference to
41349 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41350 with util/getroot.c.
41351 * conf/powerpc-ieee1275.rmk: Likewise.
41352 * conf/sparc64-ieee1275.rmk: Likewise.
41353
41354 * util/grub-emu.c (main): Fix unchecked pointer handling.
41355
2c2a681b 413562007-07-02 Robert Millan <rmh@aybabtu.com>
41357
41358 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41359 invocation to fail, in order to support partition-less media.
41360
41361 * util/i386/pc/grub-install.in: Likewise.
41362
41363 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41364 which fs or partmap modules are needed (akin to its sister scripts).
41365
41366 Also use grub-probe to get rid of unportable /proc/mounts check.
41367
41368 Print the same informational message that the other scripts do, before
fe6b695a 41369 exiting.
2c2a681b 41370
6193defe 413712007-06-23 Robert Millan <rmh@aybabtu.com>
41372
fe6b695a 41373 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 41374 a font file can be found and, if so, echo the GRUB path to it.
41375
41376 * util/update-grub.in: Handle multiple terminals depending on user
41377 input, platform availability and font file presence. Propagate
41378 variables of our findings to /etc/grub.d/ children.
41379
41380 * util/grub.d/00_header.in: Handle multiple terminals, based on
41381 environment setup by update-grub.
41382
eface1dc 413832007-06-23 Robert Millan <rmh@aybabtu.com>
41384
ba50d28f 41385 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 41386
bf697e28 413872007-06-21 Robert Millan <rmh@aybabtu.com>
41388
41389 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41390 indicate end of data section in kernel image.
41391 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41392 GRUB_KERNEL_MACHINE_DATA_END.
41393
41394 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41395 space for it.
41396 * kern/i386/efi/startup.S: Likewise.
41397
41398 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41399 during image generation. Implement --prefix option to override this
41400 patch.
41401 * util/i386/efi/grub-mkimage.c: Likewise.
41402
41403 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41404 code to make path relative to its root into a separate function.
41405
41406 * util/i386/pc/grub-install.in: Use newly provided
41407 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41408 pass the result to grub-install --prefix.
41409
baa574b4 414102007-06-13 Robert Millan <rmh@aybabtu.com>
41411
41412 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41413 DEFAULT_DEVICE_MAP.
41414 * util/grub-emu.c: Use above definitions from misc.h instead of
41415 defining them.
41416 * util/grub-mkdevicemap.c: Likewise.
41417 * util/i386/pc/grub-setup.c: Likewise.
41418 * util/grub-probe.c: Likewise.
41419 (probe): Abort with grub_util_error() when either
41420 grub_guess_root_device or grub_util_get_grub_dev fails.
41421
0215dcbf 414222007-06-12 Robert Millan <rmh@aybabtu.com>
41423
41424 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41425 "pager" assignment.
41426 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41427 "pcdata".
41428 * util/grub-probe.c (probe): Likewise for "drive_name".
41429
8af2ab7b 414302007-06-11 Robert Millan <rmh@aybabtu.com>
41431
41432 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41433 not just the cdrom one.
41434
59d31694 414352007-06-11 Robert Millan <rmh@aybabtu.com>
41436
41437 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41438 Add --pkglibdir=DIR option to override pkglibdir.
41439 Mention --image-type=TYPE in help output.
41440 Fix --grub-mkimage (it was a no-op).
fe6b695a 41441 Abort gracefully when no parameter is given.
59d31694 41442
7ee367e4 414432007-06-11 Robert Millan <rmh@aybabtu.com>
41444
41445 * util/i386/pc/grub-mkrescue.in: New file.
41446 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41447 * Makefile.in: Handle bin_SCRIPTS.
41448
29b0ed46 414492007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41450
41451 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41452 list of video modes.
41453
c0f90770 414542007-06-06 Robert Millan <rmh@aybabtu.com>
41455
41456 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41457 file doesn't exist, or if it is in a filesystem grub can't read.
41458
41459 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41460 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41461 header comment to fit in 80 columns when the variables are resolved.
41462
41463 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41464 could be identified by update-grub. Remove redundant check for
fe6b695a 41465 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 41466 handles that).
41467
fb36dc26 414682007-06-04 Robert Millan <rmh@aybabtu.com>
41469
41470 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41471
41472 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41473
41474 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41475
0c68c93e 414762007-06-04 Robert Millan <rmh@aybabtu.com>
41477
41478 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41479
41480 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41481 grub_apple_partition_map_fini.
41482
41483 * util/biosdisk.c
41484 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41485 to access >2 TiB disks).
41486
41487 Print disk->total_sectors with %llu instead of %lu, since this
41488 variable is always 64-bit (prevents wrong disk size from being displayed
41489 on either >2 TiB disk or big-endian CPU).
41490
41491 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41492 into a generic case that supports all (sane) partition maps.
41493
41494 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41495 breaks big-endian.
41496
41497 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41498 and grub_apple_partition_map_fini() after that.
41499
0f23eb74 415002007-06-01 Robert Millan <rmh@aybabtu.com>
41501
41502 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41503
41504 * util/grub.d/00_header.in: Only enable gfxterm when
41505 convert_system_path_to_grub_path() succeeds.
41506
42c71976 415072007-05-20 Robert Millan <rmh@aybabtu.com>
41508
41509 * util/update-grub_lib.in: New file.
41510 * DISTLIST: Add update-grub_lib.in.
41511 * conf/common.rmk: Generate update-grub_lib and install it in
41512 $(lib_DATA).
41513 * Makefile.in: Add install routine for $(lib_DATA).
41514
41515 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41516 function provided by update-grub_lib to support arbitrary paths of
41517 unifont.pff.
41518 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41519 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41520
5beb2291 415212007-05-19 Robert Millan <rmh@aybabtu.com>
41522
41523 * commands/i386/cpuid.c: New module.
41524 * DISTLIST: Add it.
41525 * conf/i386-efi.rmk: Enable cpuid.mod.
41526 * conf/i386-pc.rmk: Likewise.
41527
7262eca1 415282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41529
41530 * kern/disk.c (grub_disk_read): Check return value of
41531 grub_realloc().
41532
260ba823 415332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41534
41535 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41536 arrays.
41537 * disk/raid.c (grub_raid_open): Likewise.
41538
1ecb6cf2 415392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41540
41541 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41542 stack instead of on the heap.
41543
41544 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41545 before doing a read on it.
41546
41547 * configure.ac: Only use -fno-stack-protector for the target
41548 environment.
f19dbdb7 41549
21c8cbb1 415502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41551
41552 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41553 __attribute_ ((unused)) to mode_type argument.
41554
41555 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 41556
21c8cbb1 41557 * kern/misc.c (memcmp): Fix prototype.
41558
41559 * include/grub/partition.h [GRUB_UTIL]
41560 (grub_gpt_partition_map_init): Add prototype.
41561 (grub_gpt_partition_map_fini): Likewise.
41562
41563 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41564 at the right place.
41565
41566 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41567 (grub_fat_read_data): Likewise.
41568 (grub_fat_find_dir): Likewise.
41569
41570 * font/manager.c (find_glyph): Make table a const.
41571 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 41572
849d55d3 415732007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41574
41575 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41576 code, first search for device in /dev/mapper, then in /dev.
41577 (grub_util_get_grub_dev): New function.
41578 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41579 prototype.
41580 * util/grub-probe.c (probe): Remove check for RAID, call
41581 grub_util_get_grub_dev() instead of
41582 grub_util_biosdisk_get_grub_dev().
41583 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41584 grub_util_biosdisk_get_grub_dev().
41585 * util/i386/pc/grub-setup.c (main): Likewise.
41586
8fff7c2f 415872007-05-16 Robert Millan <rmh@aybabtu.com>
41588
41589 * DISTLIST: Update for the latest changes.
41590 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41591 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41592 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41593 grub/util/biosdisk.h.
41594 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41595 grub/util/biosdisk.h.
41596
48e12b52 415972007-05-16 Robert Millan <rmh@aybabtu.com>
41598
41599 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41600
46b9d128 416012007-05-16 Robert Millan <rmh@aybabtu.com>
41602
41603 * util/i386/efi/grub-install.in: New.
41604 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41605 newly added grub-install.
41606 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41607 include.
41608 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41609 grub/util/biosdisk.h.
41610 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41611 grub/util/biosdisk.h.
41612
2d1a40a9 416132007-05-16 Robert Millan <rmh@aybabtu.com>
41614
41615 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41616 * include/grub/util/biosdisk.h: ... here.
41617 * util/i386/pc/biosdisk.c: Moved to ...
41618 * util/biosdisk.c: ... here.
41619 * util/i386/pc/getroot.c: Moved to ...
41620 * util/getroot.c: ... here.
41621 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41622 * util/grub-mkdevicemap.c: ... here.
41623 * util/i386/pc/grub-probe.c: Moved to ...
41624 * util/grub-probe.c: ... here.
41625
9e26e3bc 416262007-05-15 Robert Millan <rmh@aybabtu.com>
41627
41628 * util/update-grub.in: Remove duplicated line in grub.cfg header
41629 message.
41630
57f96397 416312007-05-13 Robert Millan <rmh@aybabtu.com>
41632
41633 * util/update-grub.in: Fix a few assumptions about the devices holding
41634 /, /boot and /boot/grub being the same.
41635 * util/grub.d/00_header.in: Likewise.
41636 * util/grub.d/10_hurd.in: Likewise.
41637 * util/grub.d/10_linux.in: Likewise.
41638
41639 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41640 patterns. Use that to define the `.old' suffix as older than `'.
41641
41642 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41643
41644 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41645 the grub.cfg header message.
41646
2e610d62 416472007-05-11 Robert Millan <rmh@aybabtu.com>
41648
41649 * util/update-grub.in: Create device.map if it doesn't already exist,
41650 before attempting to run grub-probe.
41651 Check for grub-probe and grub-mkdevicemap with the same code
41652 grub-install is using.
41653 Remove test mode.
41654
3f6a10ef 416552007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41656
41657 * Makefile.in: Add the datarootdir autoconf variable.
41658
02e7b75e 416592007-05-09 Robert Millan <rmh@aybabtu.com>
41660
41661 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 41662 fail gracefully if dev->disk->partition == NULL.
02e7b75e 41663
75f396cc 416642007-05-07 Robert Millan <rmh@aybabtu.com>
41665
41666 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41667 determine partition map module.
41668 * util/i386/pc/grub-install.in: Use this feature to decide which
41669 partition module to load, instead of hardcoding pc and gpt.
41670
da65cb36 416712007-05-07 Robert Millan <rmh@aybabtu.com>
41672
41673 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41674 source directory differs from build directory.
41675
b57d6a91 416762007-05-05 Robert Millan <rmh@aybabtu.com>
41677
41678 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41679 initialisation.
41680
509d00f1 416812007-05-05 Robert Millan <rmh@aybabtu.com>
41682
41683 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41684
c48f23ef 416852007-05-05 Robert Millan <rmh@aybabtu.com>
41686
41687 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41688 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41689
20b97658 416902007-05-05 Robert Millan <rmh@aybabtu.com>
41691
41692 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41693 (grub_probe_SOURCES): Likewise.
41694 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41695 GPT and initialize dos_part and bsd_part accordingly.
41696 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41697 install_bsd_part.
41698 (main): Activate gpt module for use during partition identification,
41699 and deactivate it afterwards.
41700 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41701 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41702 partition identification, and deactivate it afterwards.
41703
99123174 417042007-05-05 Robert Millan <rmh@aybabtu.com>
41705
41706 * term/i386/pc/console.c (grub_console_fini): Call
41707 grub_term_set_current() before grub_term_unregister().
41708
ebd97f6e 417092007-05-04 Robert Millan <rmh@aybabtu.com>
41710
41711 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41712 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41713 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41714 and update-grub_DATA.
41715 * conf/common.rmk: Build and install update-grub components.
41716 * conf/common.mk: Regenerate.
41717 * util/update-grub.in: New. Core of update-grub.
41718 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41719 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41720 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41721 * util/grub.d/README: New. Document grub.d directory layout.
41722
b06a264d 417232007-05-01 Robert Millan <rmh@aybabtu.com>
41724
41725 * util/grub-emu.c: Move initialization functions
41726 grub_util_biosdisk_init() and grub_init_all() before
41727 grub_util_biosdisk_get_grub_dev(), which relies on them.
41728
41f0050e 417292007-04-19 Robert Millan <rmh@aybabtu.com>
41730
41731 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41732 it is used later.
41733
04582bb3 417342007-04-18 Jerone Young <jerone@gmail.com>
41735
f19dbdb7 41736 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 41737 stanza.
41738
08db4632 417392007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 41740
08db4632 41741 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41742 continue on and look for device node with real device name.
41743
801b76be 417442007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 41745
fe6b695a 41746 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 41747 ability.
41748 * Makefile.in: Add autoconf package transformation code.
41749 * util/i386/pc/grub-install.in: Likewise.
41750 * util/powerpc/ieee1275/grub-install.in: Likewise.
41751
6795c4e1 417522007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41753
41754 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41755 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41756 (EXT2_REVISION): Likewise.
41757 (EXT2_INODE_SIZE): Likewise.
41758 (struct grub_ext2_block_group): Added a missing member
41759 "used_dirs".
41760 (grub_ext2_read_inode): Divide by the inode size in a superblock
41761 instead of 128 to obtain INODES_PER_BLOCK.
41762 Use the macro EXT2_INODE_SIZE instead of directly using
41763 SBLOCK->INODE_SIZE.
41764
d70af616 417652007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41766
41767 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41768 superblock instead of the structure size to compute an
41769 offset. This fixes the problem that GRUB could not read a
41770 filesystem when inode size is different from 128-byte.
41771
3b801603 417722007-03-05 Marco Gerards <marco@gnu.org>
41773
41774 * normal/main.c (read_config_file): When "menu" is not set, create
41775 an initial context.
41776
4785bfe4 417772007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41778
41779 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41780 (HEAP_LIMIT): New macro.
41781 (grub_claim_heap): Claim memory up to `heaplimit'.
41782
a0cbb023 417832007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41784
41785 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41786 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41787 (_start): Likewise.
41788 (grub_arch_modules_addr): Return address after `_end'.
41789 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41790 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41791 (add_segments): Calculate `_end' from phdr size and location.
41792 (ALIGN_UP): Moved to ...
41793 * include/grub/misc.h: here.
41794 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41795 New macro.
41796 (GRUB_IEEE1275_MODULE_BASE): Removed.
41797
fd7d8eba 417982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41799
41800 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41801 loop boundary.
41802
9b09e6fc 418032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41804
41805 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41806 All users updated.
41807 (grub_elf64_load_hook_t): Likewise.
41808 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41809 debug output.
41810
3ce27299 418112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41812
41813 * kern/mm.c: Update copyright.
41814 (grub_mm_debug): Correct syntax error.
41815 (grub_mm_dump_free): New function.
41816 (grub_debug_free): Call `grub_free'.
41817 * include/grub/mm.h: Update copyright.
41818 (grub_mm_dump_free): Add declaration.
41819
077d5fee 418202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41821
41822 * include/grub/ieee1275/ieee1275.h: Update copyright.
41823 * kern/powerpc/ieee1275/init.c: Likewise.
41824 * kern/powerpc/ieee1275/openfw.c: Likewise.
41825
41826 * loader/powerpc/ieee1275/linux.c: Likewise.
41827 * include/grub/elfload.h: Likewise.
41828 * kern/elf.c: Likewise.
41829 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41830 callers.
41831 (grub_elf64_load): Likewise.
41832 (grub_elf32_load_segment): Move to a nested function.
41833 (grub_elf64_load_segment): Likewise.
41834
dc946850 418352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41836
41837 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41838 prototype.
41839 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41840 (grub_heap_len): Likewise.
41841 (HEAP_SIZE): New macro.
41842 (grub_claim_heap): New function.
41843 (grub_machine_init): Don't claim heap directly. Call
41844 `grub_claim_heap'.
41845 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41846 (grub_available_iterate): New function.
41847
baa2a121 418482007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41849
41850 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41851 * configure.ac: Use it for testing the HOST and TARGET compilers.
41852
4fe9862e 418532006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41854
41855 * Makefile.in (enable_grub_emu): New variable.
41856 * configure.ac (--enable-grub-emu): New option.
41857 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41858 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41859 * conf/i386-pc.rmk: Likewise.
41860 * conf/powerpc-ieee1275.rmk: Likewise.
41861 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41862
a8aa5762 418632006-12-12 Marco Gerards <marco@gnu.org>
41864
41865 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41866
41867 * kern/env.c (grub_env_unset): Don't free the member `value' when
41868 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41869 pointer.
41870
41871 * normal/main.c (current_menu): Removed.
41872 (free_menu): Unset the `menu' environment variable.
41873 (grub_normal_menu_addentry): Make use of the environment variable
41874 `menu', instead of using the global `current_menu'. Allocate
41875 memory for the sourcecode of this entry.
41876 (read_config_file): New argument `nested', changed all callers.
41877 Only in the case of a new context, initialize a new menu. Set the
41878 `menu' environment variable.
41879 (grub_normal_execute): Don't set and unset the environment
41880 variable `menu' here anymore. Only free the menu when leaving the
41881 context.
41882
41883 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41884 leak.
41885
957b3a3e 418862006-12-11 Marco Gerards <marco@gnu.org>
41887
41888 * normal/menu_entry.c (run): Fix off by one bug so the last line
41889 is executed. Move the loader check to outside the loop.
41890
ef875714 418912006-12-08 Hollis Blanchard <hollis@penguinppc.org>
41892
41893 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
41894
4e739985 418952006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
41896
41897 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
41898 the number of sectors. Reported by Andrey Shuvikov
41899 <mr_hyro@yahoo.com>.
f19dbdb7 41900
790707f2 419012006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
41902
41903 * kern/disk.c (grub_disk_read): When there is a read error, always
41904 try to read only the necessary data.
f19dbdb7 41905
790707f2 41906 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
41907 disk/raid.c.
41908 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
41909 prototype.
41910 [GRUB_UTIL] (grub_raid_fini): Likewise.
41911 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 41912 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 41913 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
41914 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
41915 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
41916 and grub_raid_fini().
f19dbdb7 41917
03e58196 419182006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41919
41920 * include/grub/types.h (__unused): Rename to UNUSED.
41921 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
41922 (grub_elf64_size): Likewise.
f19dbdb7 41923
ae4f23bf 419242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41925
41926 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
41927 grub_error_push and grub_error_pop in the error-handling path.
41928 (grub_elf32_load_segment): Only call grub_file_read with non-zero
41929 length.
41930
2166cc83 419312006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41932
41933 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
41934 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41936 (kernel_elf_SOURCES): Likewise.
41937 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
41938 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
41939 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41940 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41941 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
41942 (elf_mod_SOURCES): New variable.
41943 (elf_mod_CFLAGS): Likewise.
41944 (elf_mod_LDFLAGS): Likewise.
41945 * include/grub/types.h (__unused): New macro.
41946 * include/grub/elfload.h: New file.
41947 * kern/elf.c: Likewise.
41948 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
41949 (ELF32_LOADMASK): New macro.
41950 (ELF64_LOADMASK): Likewise.
41951 (vmlinux): Removed.
41952 (grub_linux_load32): New function.
41953 (grub_linux_load64): Likewise.
41954 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
41955 Use grub_elf_t instead of grub_file_t.
41956
a09d5aa5 419572006-11-02 Hollis Blanchard <hollis@penguinppc.org>
41958
41959 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
41960 `catch_result' to struct set_color_args.
41961
d976fc51 419622006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41963
41964 * normal/menu.c: Include grub/script.h.
41965 * normal/menu_entry.c: Likewise.
41966 * include/grub/normal.h: Do not include grub/script.h.
41967
67507549 419682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41969
41970 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
41971
69203a99 419722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41973
41974 * kern/disk.c (grub_disk_open): Print debug messages when opening a
41975 disk.
41976 (grub_disk_close): Print debug messages when closing a disk.
41977 (grub_disk_read): Print debug messages when disk read fails.
41978 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
41979 filesystem type.
41980 * kern/partition.c: Include misc.h.
41981 (grub_partition_iterate): Print debug messages when detecting
41982 partition type.
41983
e2b8278c 419842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41985
41986 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
41987 is negative.
41988 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
41989
97b2f2ff 419902006-10-26 Hollis Blanchard <hollis@penguinppc.org>
41991
41992 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41993 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41994
6555d655 419952006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41996
41997 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41998 instead of sizeof(lv). Patch by Michael Guntsche.
41999
4d42b77f 420002006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42001
42002 * disk/lvm.c: Rename VGS to VG_LIST.
42003 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42004 (grub_lvm_open): Likewise.
42005 Thanks to Michael Guntsche for finding this bug.
42006
5d74d927 420072006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42008
42009 * configure.ac (AC_INIT): Bumped to 1.95.
42010
a1bb27e4 420112006-10-14 Robert Millan <rmh@aybabtu.com>
42012
42013 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42014 with "/dev/.static/dev/md".
42015
e0994b8b 420162006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42017
42018 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42019 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42020 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42021 DRIVE_NAME are always freed.
42022
42023 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42024 DOS_PART, as a DOS partition is counted from one instead of zero
42025 now. Reported by Robert Millan.
42026
ddd5cee9 420272006-10-14 Robert Millan <rmh@aybabtu.com>
42028
42029 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42030 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42031 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42032 string returned by grub_guess_root_device.
42033 * util/i386/pc/grub-setup.c: Likewise.
42034 * util/i386/pc/grub-probefs.c: Likewise.
42035
42036 * util/i386/pc/grub-probefs.c: Rename to ...
42037 * util/i386/pc/grub-probe.c: ... this.
42038 * DISTLIST: Remove grub-probefs, add grub-probe.
42039 * conf/i386-efi.rmk: Likewise.
42040 * conf/i386-pc.rmk: Likewise.
42041 * util/i386/pc/grub-install.in: Likewise.
42042
42043 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42044 choose which information we want to print.
42045
2b002173 420462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42047
42048 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42049 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42050 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42051 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42052 video/readers/tga.c and video/i386/pc/vbeutil.c.
42053
420542006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42055
42056 Added support for RAID and LVM.
f19dbdb7 42057
2b002173 42058 * disk/lvm.c: New file.
42059 * disk/raid.c: Likewise.
42060 * include/grub/lvm.h: Likewise.
f19dbdb7 42061 * include/grub/raid.h: Likewise.
2b002173 42062 * include/grub/util/lvm.h: Likewise.
42063 * include/grub/util/raid.h: Likewise.
42064 * util/lvm.c: Likewise.
42065 * util/raid.c: Likewise.
42066
42067 * include/grub/disk.h (grub_disk_dev_id): Add
42068 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42069 (grub_disk_get_size): New prototype.
42070 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42071 returns a partition.
42072 (grub_disk_get_size): New function.
f19dbdb7 42073
2b002173 42074 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42075 verbatim if grub_install_dos_part is -2.
42076
42077 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42078 and LVM devices.
42079
42080 * util/i386/pc/grub-setup.c (setup): New argument
42081 MUST_EMBED. Force embedding of GRUB when the argument is
42082 true. Close FILE before returning.
42083 (main): Add support for RAID and LVM.
f19dbdb7 42084
2b002173 42085 * conf/common.rmk: Add RAID and LVM modules.
42086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42087 util/lvm.c.
42088 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42089
42090 * kern/misc.c (grub_strstr): New function.
42091 * include/grub/misc.h (grub_strstr): New prototype.
42092
050548d0 420932006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42094
42095 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42096
da849d2d 420972006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42098
42099 * kern/misc.c (grub_strtoull): Guess the base only if not
42100 specified.
42101
97b2f2ff 421022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42103
42104 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42105 PowerMac support.
42106
97b2f2ff 421072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 42108
42109 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42110
42111 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42112 Remove `flags' argument. All callers changed.
42113 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42114 (IEEE1275_IHANDLE_INVALID): New variable.
42115 (IEEE1275_CELL_INVALID): New variable.
42116 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42117 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42118 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42119 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42120 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42121 codes from Open Firmware. All callers updated.
42122 (grub_ieee1275_next_property): Directly return Open Firmware return
42123 code.
42124 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42125 Standardize error checking from `grub_ieee1275_get_property'.
42126 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42127 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42128
97b2f2ff 421292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 42130
42131 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42132 `instance_to_package_args' to `instance_to_path_args'.
42133
42134 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42135 `grub_ieee1275_chosen'.
42136
42137 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42138 `grub_ieee1275_interpret'.
42139
97b2f2ff 421402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42141
42142 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42143
97b2f2ff 421442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 42145
42146 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42147 (__cmpdi): Likewise.
42148
42149 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42150 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42151 `grub_ssize_t'.
42152
02bb8acc 42153 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 42154
42155 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42156 to type `grub_ssize_t'.
42157 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42158
7f9a8531 421592006-09-22 Marco Gerards <marco@gnu.org>
42160
42161 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42162 newlines.
42163
b5ef1102 421642006-09-22 Marco Gerards <marco@gnu.org>
42165
42166 * commands/echo.c: New file.
42167
42168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42169
42170 * conf/common.rmk (echo_mod_SOURCES): New variable.
42171 (echo_mod_CFLAGS): Likewise.
42172 (echo_mod_LDFLAGS): Likewise.
42173
2cff3677 421742006-09-22 Marco Gerards <marco@gnu.org>
42175
42176 * normal/main.c (get_line): Malloc memory instead of using
42177 preallocated memory. Removed the arguments `cmdline' and
42178 `max_len'. Updated all callers.
42179
6ba4688b 421802006-09-22 Marco Gerards <marco@gnu.org>
42181
42182 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42183 (normal_mod_DEPENDENCIES): Likewise.
42184
42185 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
42186 (normal_mod_DEPENDENCIES): Likewise.
42187
42188 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
42189
e02ac02c 421902006-09-22 Johan Rydberg <jrydberg@gnu.org>
42191
42192 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
42193 programs.
42194 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
42195 (normal_mod_DEPENDENCIES): Likewise.
42196 * conf/i386-pc.mk: Regenerate.
42197 * conf/i386-efi.mk: Likewise
42198 * conf/common.mk: Likewise.
42199 * conf/powerpc-ieee1275.mk: Likewise.
42200 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42201
8d252e44 422022006-09-22 Robert Millan <rmh@aybabtu.com>
42203
42204 Sync with i386 version.
42205 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
42206 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
42207
209bf7ac 422082006-09-21 Robert Millan <rmh@aybabtu.com>
42209
42210 Import from GRUB Legacy (lib/device.c):
42211 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
42212 (init_device_map) [__linux__]: Add support for I2O devices.
42213
6b146090 422142006-09-14 Marco Gerards <marco@gnu.org>
42215
42216 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42217 `-melf_i386'.
42218
e38600a8 422192006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 42220
42221 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42222 /boot/grub/*.lst.
78fa1790 42223
2952da5d 42224 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 42225
2952da5d 42226 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42227 before adding it to device.map.
42228
01b82a64 422292006-08-15 Johan Rydberg <jrydberg@gnu.org>
42230
fe6b695a 42231 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 42232 compiles a file; using the -MD option.
42233 * conf/common.mk: Regenerate.
42234 * conf/i386-pc.mk: Likewise.
42235 * conf/i386-efi.mk: Likewise.
42236 * conf/powerpc-ieee1275.mk: Likewise.
42237 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42238
1064790d 422392006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
42240
42241 Move the prototypes of grub_setjmp and grub_longjmp to
42242 cpu/setjmp.h, so that each architecture may specify different
42243 attributes.
f19dbdb7 42244
1064790d 42245 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
42246 (grub_longjmp): Likewise.
42247 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
42248 (grub_longjmp): Likewise.
42249 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
42250 (grub_longjmp): Likewise.
42251
42252 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
42253 [!GRUB_UTIL] (grub_longjmp): Removed.
42254
29dda3ed 422552006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
42256
42257 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
42258 "color!" method does not return any value.
42259
ad2a06ed 422602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42261
42262 * include/grub/bitmap.h: New file.
42263
42264 * include/grub/i386/pc/vbeutil.h: Likewise.
42265
42266 * video/bitmap.c: Likewise.
42267
42268 * video/readers/tga.c: Likewise.
42269
42270 * video/i386/pc/vbeutil.c: Likewise.
42271
42272 * commands/videotest.c: Code cleanup and updated to reflect to new
42273 video API.
42274
42275 * term/gfxterm.c: Likewise.
42276
42277 * video/video.c: Likewise.
42278
42279 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
42280 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
42281 (bitmap_mod_SOURCES): New entry.
42282 (bitmap_mod_CFLAGS): Likewise.
42283 (bitmap_mod_LDFLAGS): Likewise.
42284 (tga_mod_SOURCES): Likewise.
42285 (tga_mod_CFLAGS): Likewise.
42286 (tga_mod_LDFLAGS): Likewise.
42287
42288 * include/grub/video.h (grub_video_blit_operators): New enum type.
42289 (grub_video_render_target): Changed as forward declaration and moved
42290 actual definition to be video driver specific.
42291 (grub_video_adapter.blit_bitmap): Added blitting operator.
42292 (grub_video_adapter.blit_render_target): Likewise.
42293 (grub_video_blit_bitmap): Likewise.
42294 (grub_video_blit_render_target): Likewise.
42295
42296 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
42297 driver specific render target definition.
42298 (grub_video_vbe_map_rgba): Added driver internal helper.
42299 (grub_video_vbe_unmap_color): Updated to use
42300 grub_video_i386_vbeblit_info.
42301 (grub_video_vbe_get_video_ptr): Likewise.
42302
42303 * include/grub/i386/pc/vbeblit.h
42304 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
42305 grub_video_i386_vbeblit_info.
42306 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42307 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42308 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42309 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42310 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42311 (grub_video_i386_vbeblit_index_index): Likewise.
42312 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
42313 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42314 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42315 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
42316 operator.
42317 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
42318 operator.
42319
42320 * video/i386/pc/vbeblit.c: Updated to reflect changes on
42321 include/grub/i386/pc/vbeblit.h.
42322
42323 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
42324 Updated to use grub_video_i386_vbeblit_info.
42325 (grub_video_i386_vbefill_R8G8B8): Likewise.
42326 (grub_video_i386_vbefill_index): Likewise.
42327 (grub_video_i386_vbefill): Added generic filler.
42328
42329 * video/i386/pc/vbefill.c: Updated to reflect changes on
42330 include/grub/i386/pc/vbefill.h.
42331
42332 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
42333 grub_video_i386_vbeblit_info.
42334 (grub_video_vbe_unmap_color): Likewise.
42335 (grub_video_vbe_blit_glyph): Likewise.
42336 (grub_video_vbe_scroll): Likewise.
42337 (grub_video_vbe_draw_pixel): Removed function.
42338 (grub_video_vbe_get_pixel): Likewise.
42339 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
42340 updated code to use it.
42341 (common_blitter): Added common blitter for render target and bitmap.
42342 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
42343 (grub_video_vbe_blit_render_target): Likewise.
42344
bc8c036d 423452006-07-30 Johan Rydberg <jrydberg@gnu.org>
42346
42347 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
42348 is in text mode if there is no console control protocol instance
42349 available.
42350
684a8eff 423512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42352
42353 * include/grub/video.h: Code cleanup.
42354
42355 * include/grub/i386/pc/vbe.h: Likewise.
42356
42357 * video/i386/pc/vbe.c: Likewise.
42358
42359 * video/i386/pc/vbeblit.c: Likewise.
42360
42361 * video/i386/pc/vbefill.c: Likewise.
42362
42363 * video/video.c: Likewise. Also added more comments.
42364
5915059b 423652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42366
42367 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42368 (struct grub_biosdisk_dap): Likewise.
42369
42370 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42371 linkage settings for all functions.
42372
90ce5d56 423732006-07-12 Marco Gerards <marco@gnu.org>
42374
42375 * configure.ac (--enable-mm-debug): Fix typo.
42376
42377 * genkernsyms.sh.in: Use proper quoting for `CC'.
42378
43e7f879 423792006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42380
42381 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42382 (normal_mod_ASFLAGS): Remove "-m32".
42383
4889bdec 423842006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42385
42386 * util/misc.c: Include config.h.
42387 [!HAVE_MEMALIGN]: Do not include malloc.h.
42388 (grub_memalign): Use posix_memalign, if present. Then, use
42389 memalign, if present. Otherwise, emit an error.
42390
42391 * util/grub-emu.c: Do not include malloc.h.
42392
42393 * include/grub/util/misc.h: Include unistd.h. This is required for
42394 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42395 D. Eades III <hde@foobar-qux.org>.
42396
42397 * configure.ac (AC_GNU_SOURCE): Added.
42398 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42399 type.
42400
fd39d4da 424012006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42402
42403 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42404 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42405
b786f3b5 424062006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42407
42408 * include/grub/types.h (grub_host_addr_t): Rename to
42409 grub_target_addr_t.
42410 (grub_host_off_t): Rename to grub_target_off_t.
42411 (grub_host_size_t): Rename to grub_target_size_t.
42412 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42413 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42414
42415 * include/grub/kernel.h (struct grub_module_header): Change type
42416 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42417 (grub_module_info): Likewise.
f19dbdb7 42418
051988bb 424192006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42420
42421 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42422 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42423 Velazquez <jesus.velazquez@gmail.com>.
42424
deae281b 424252006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42426
42427 Count partitions from 1 instead of 0 in the string representation
42428 of partitions. Still use 0-based internally.
f19dbdb7 42429
deae281b 42430 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42431 (sun_partition_map_iterate): Use grub_partition_t instead of
42432 struct grub_partition *. Cast DESC->START_CYLINDER to
42433 grub_uint64_t after converting the endian.
42434 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42435 (sun_partition_map_get_name): Add 1 to P->INDEX.
42436
42437 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42438 PCDATA->DOS_PART.
42439 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42440
42441 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42442 zero instead of one.
42443 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42444 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42445
42446 * partmap/apple.c (apple_partition_map_iterate): Change the type
42447 of POS to unsigned.
42448 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42449 (apple_partition_map_get_name): Add 1 into P->INDEX.
42450
42451 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42452 of POS to unsigned.
42453 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42454 calculate the offset of a partition.
42455 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42456 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42457
42458 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42459 SECTOR to grub_disk_addr_t.
42460 (acorn_partition_map_iterate): Likewise.
42461 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42462 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42463 top.
42464 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42465
42466 * kern/i386/pc/init.c (make_install_device): Add 1 into
42467 GRUB_INSTALL_DOS_PART.
42468
42469 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42470 conditional.
42471
524a1e6a 424722006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42473
42474 Clean up the code to support 64-bit addressing in disks and
42475 files. This change is not enough for filesystems yet.
f19dbdb7 42476
524a1e6a 42477 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42478 type of "start" to grub_uint64_t.
42479 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42480 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42481 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42482 convert addresses.
42483
42484 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42485 to grub_disk_addr_t.
42486
42487 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42488 string.
42489
42490 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42491
42492 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42493 to char *.
42494
42495 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42496
42497 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42498
42499 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42500
42501 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42502 to grub_off_t, to detect an error from grub_file_seek.
42503 (grub_multiboot_load_elf32): Likewise.
42504
42505 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42506 maximum unsigned long value when an overflow is detected.
42507 (grub_strtoull): New function.
42508 (grub_divmod64): Likewise.
42509 (grub_lltoa): use grub_divmod64.
42510
42511 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42512 grub_disk_addr_t.
42513 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42514 the pointer to next character. Use grub_strtoull instead of
42515 grub_strtoul.
42516 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42517 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42518 respectively.
42519
fe6b695a 42520 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 42521 return value is signed.
42522 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42523 test if OFFSET is less than zero, as OFFSET is unsigned now.
42524
42525 * kern/disk.c (struct grub_disk_cache): Change the type of
42526 "sector" to grub_disk_addr_t.
42527 (grub_disk_cache_get_index): Change the type of SECTOR to
42528 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42529 unsigned after shifting.
42530 (grub_disk_cache_invalidate): Change the type of SECTOR to
42531 grub_disk_addr_t.
42532 (grub_disk_cache_unlock): Likewise.
42533 (grub_disk_cache_store): Likewise.
42534 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42535 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42536 grub_disk_addr_t and grub_uint64_t, respectively.
42537 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42538 body, as the value of OFFSET is tweaked by
42539 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42540 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42541 respectively.
42542 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42543 body, as the value of OFFSET is tweaked by
42544 grub_disk_check_range. Change the types of LEN and N to
42545 grub_size_t.
42546
42547 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42548 and "saved_offset" to grub_off_t.
42549 (test_header): Cast BUF to char *.
42550 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42551 to char *.
42552 (grub_gzio_read): Change the types of OFFSET and SIZE to
42553 grub_off_t and grub_size_t, respectively.
42554
42555 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42556 Removed.
42557 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42558 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42559 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42560 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42561 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42562
42563 * include/grub/types.h (grub_off_t): Unconditionally set to
42564 grub_uint64_t.
42565 (grub_disk_addr_t): Changed to grub_uint64_t.
42566
42567 * include/grub/partition.h (struct grub_partition): Change the
42568 types of "start", "len" and "offset" to grub_disk_addr_t,
42569 grub_uint64_t and grub_disk_addr_t, respectively.
42570 (grub_partition_get_start): Return grub_disk_addr_t.
42571 (grub_partition_get_len): Return grub_uint64_t.
42572
42573 * include/grub/misc.h (grub_strtoull): New prototype.
42574 (grub_divmod64): Likewise.
42575
42576 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42577 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42578 grub_off_t, respectively.
42579 All callers and references changed.
42580
42581 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42582 grub_size_t in "read".
42583 All callers and references changed.
42584
42585 * include/grub/file.h (struct grub_file): Change the types of
42586 "offset" and "size" to grub_off_t and grub_off_t,
42587 respectively. Change the type of SECTOR to grub_disk_addr_t in
42588 "read_hook".
42589 (grub_file_read): Change the type of LEN to grub_size_t.
42590 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42591 grub_off_t.
42592 (grub_file_size): Return grub_off_t.
42593 (grub_file_tell): Likewise.
42594 All callers and references changed.
42595
42596 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42597 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42598 "write".
42599 (struct grub_disk): Change the type of "total_sectors" to
42600 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 42601 "read_hook".
524a1e6a 42602 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42603 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42604 (grub_disk_write): Likewise.
42605 All callers and references changed.
42606
42607 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42608 char * for grub_strncmp to silence gcc.
42609 (grub_iso9660_mount): Likewise.
42610 (grub_iso9660_mount): Likewise.
42611 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42612 return statement.
42613 (grub_iso9660_iterate_dir): Likewise.
42614 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42615
42616 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42617 LEN to grub_disk_addr_t and grub_size_t, respectively.
42618
42619 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42620
42621 * fs/jfs.c (grub_jfs_read_file): Likewise.
42622
42623 * fs/minix.c (grub_jfs_read_file): Likewise.
42624
42625 * fs/sfs.c (grub_jfs_read_file): Likewise.
42626
42627 * fs/ufs.c (grub_jfs_read_file): Likewise.
42628
42629 * fs/xfs.c (grub_jfs_read_file): Likewise.
42630
42631 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42632 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42633 respectively.
42634
42635 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42636 BLKNR to -1 instead of returning GRUB_ERRNO.
42637 (grub_ext2_read_file): Change the types of SECTOR and
42638 LEN to grub_disk_addr_t and grub_size_t, respectively.
42639
42640 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42641 LEN to grub_disk_addr_t and grub_size_t, respectively.
42642
42643 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42644 grub_file_read.
42645
42646 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42647 string. Do not cast SECTOR explicitly.
42648
42649 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42650 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42651 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42652 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42653 over 2TB and LBA mode is not supported, raise an error.
42654 (get_safe_sectors): New function.
42655 (grub_biosdisk_read): Use get_safe_sectors.
42656 (grub_biosdisk_write): Likewise.
42657
42658 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42659 (grub_efidisk_write): Likewise.
42660
42661 * disk/loopback.c (delete_loopback): Cosmetic changes.
42662 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42663 correctly.
42664 (grub_loopback_open): Likewise.
42665 (grub_loopback_read): Likewise. Also, change the type of POS to
42666 grub_off_t, and fix the usage of grub_memset.
42667
42668 * commands/i386/pc/play.c: Include grub/machine/time.h.
42669
42670 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42671 print FILE->SIZE.
42672
42673 * commands/configfile.c: Include grub/env.h.
42674
42675 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42676 GRUB_ERRNO directly instead. Change the type of POS to
42677 grub_off_t. Follow the coding standard.
42678
42679 * commands/blocklist.c: Include grub/partition.h.
42680 (grub_cmd_blocklist): Return an error if the underlying device is
42681 not a disk. Take the starting sector of a partition into account,
42682 if a partition is used.
42683
42684 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42685 a length field.
42686 (lba_mode): Support 64-bit addresses.
42687 (chs_mode): Likewise.
42688 (copy_buffer): Adapted to the new offsets of a length field and a
42689 segment field.
42690 (blocklist_default_start): Allocate 64-bit space.
42691
42692 * boot/i386/pc/boot.S (force_lba): Removed.
42693 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 42694 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 42695 space.
42696 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42697 is useless.
42698 (lba_mode): Refactored to support a 64-bit address. More size
42699 optimization.
42700 (setup_sectors): Likewise.
42701
53af98ad 427022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42703
42704 * DISTLIST: Added include/grub/i386/linux.h. Removed
42705 include/grub/i386/pc/linux.h
42706
42707 * configure.ac (AC_INIT): Bumped to 1.94.
42708
42709 * config.guess: Updated from gnulib.
42710 * config.sub: Likewise.
42711 * install-sh: Likewise.
42712 * mkinstalldirs: Likewise.
42713
b4c1940a 427142006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42715
42716 * conf/common.rmk (grub_modules_init.lst): Depended on
42717 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42718 MODSRCFILES.
42719
42720 * genmk.rb (PModule::rule): Reverted the previous change.
42721
cfca1cfd 427222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42723
42724 * conf/common.rmk (grub_modules_init.lst): Depends on
42725 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42726 that the target does not exist before producing.
42727 (grub_modules_init.h): Remove the target before generating.
42728 (grub_emu_init.c): Likewise.
42729
42730 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42731
aa6d7826 427322006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42733
42734 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42735 for the target-specific tests. Make sure that we also have the
42736 up-to-date target variables for those tests.
42737
26c607b9 427382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42739
42740 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42741 (PModule::rule): Likewise.
42742
0162321a 427432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42744
42745 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42746 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42747 target-specific flags should be prefixed.
42748 (PModule::rule): Likewise.
42749
6c826348 427502006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42751
42752 * configure.ac (CMP): Check if cmp is available explicitly.
42753
b977bf01 427542006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42755
42756 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42757 (target_cpu): New variable.
42758 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 42759
b977bf01 42760 * util/i386/pc/grub-install.in (host_cpu): Removed.
42761 (target_cpu): New variable.
42762 (pkglibdir): Use target_cpu instead of host_cpu.
42763
42764 * util/genmoddep.c: Removed.
f19dbdb7 42765
b977bf01 42766 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42767 instead of GRUB_HOST_SIZEOF_VOID_P.
42768 * kern/dl.c: Likewise.
42769
42770 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42771 ...
42772 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42773 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42774 (GRUB_TARGET_SIZEOF_LONG): ... this.
42775 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42776 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42777 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42778 to ...
42779 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42780 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42781 (GRUB_TARGET_SIZEOF_LONG): ... this.
42782 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42783 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42784 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42785 to ...
42786 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42787 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42788 (GRUB_TARGET_SIZEOF_LONG): ... this.
42789 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42790 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42791
42792 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42793 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42794 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42795 instead of GRUB_HOST_SIZEOF_LONG.
42796 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42797 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42798 GRUB_CPU_WORDS_BIGENDIAN.
42799 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42800 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42801 grub_host_ssize_t.
42802
42803 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42804 (genmoddep_SOURCES): Likewise.
42805 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42806 (genmoddep_SOURCES): Likewise.
42807 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42808 (genmoddep_SOURCES): Likewise.
42809 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42810 Likewise.
42811 (genmoddep_SOURCES): Likewise.
42812
42813 * genmoddep.awk: New file.
42814
42815 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42816 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42817 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42818 (PModule::rule): Likewise.
42819 (Program::rule): Likewise.
42820 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42821 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42822 respectively.
42823
42824 * configure.ac: Rewritten intensively to use host and target
42825 instead of build and host, respectively.
42826
42827 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42828 (host_cpu): Removed.
42829 (target_cpu): New variable.
42830 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42831 (BUILD_CC): Removed.
42832 (BUILD_CFLAGS): Likewise.
42833 (BUILD_CPPFLAGS): Likewise.
42834 (TARGET_CC): New variable.
42835 (TARGET_CFLAGS): Likewise.
42836 (TARGET_CPPFLAGS): Likewise.
42837 (TARGET_LDFLAGS): Likewise.
42838 (AWK): Likewise.
42839 (include): Use target_cpu instead of host_cpu.
42840 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 42841
b977bf01 42842 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42843
f09771a1 428442006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42845
42846 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42847 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42848 field 'false' to 'exec_on_false'.
42849 (grub_script_create_cmdif): Renamed argument names to reflect above
42850 changes.
42851
42852 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42853
42854 * normal/script.c (grub_script_create_cmdif): Likewise.
42855
118f4fb3 428562006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42857
42858 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42859 top.
42860 (grub_hfsplus_btree_recptr): Likewise.
42861 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42862 FILEBLOCK both to pass a block number and store next block
42863 number.
42864 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42865 overflow file correctly. Specify errors appropriately, because
42866 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42867 grub_hfsplus_btree_recptr to get the pointer to a found key.
42868 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42869 is found.
42870
42871 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42872 linux.mod.
42873 (_linux_mod_SOURCES): New variable.
42874 (_linux_mod_CFLAGS): Likewise.
42875 (_linux_mod_LDFLAGS): Likewise.
42876 (linux_mod_SOURCES): Likewise.
42877 (linux_mod_CFLAGS): Likewise.
42878 (linux_mod_LDFLAGS): Likewise.
42879
42880 * DISTLIST: Added loader/i386/efi/linux.c,
42881 loader/i386/efi/linux_normal.c and
42882 include/grub/i386/efi/loader.h.
42883
42884 * loader/i386/efi/linux.c: New file.
42885 * loader/i386/efi/linux_normal.c: Likewise.
42886 * include/grub/i386/efi/loader.h: Likewise.
42887
89a7d726 428882006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
42889
42890 * commands/blocklist.c: New file.
42891
42892 * DISTLIST: Added commands/blocklist.c.
42893
42894 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 42895 color for the background, and a darker color for the foreground.
89a7d726 42896 (grub_console_checkkey): Return READ_KEY.
42897 (grub_console_cls): Set the background to
42898 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
42899
42900 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
42901
42902 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
42903 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
42904
42905 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
42906 prototype.
42907
42908 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
42909 BG. The spec is wrong again.
42910
42911 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
42912 prototype.
42913 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
42914
42915 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42916 commands/blocklist.c.
42917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 42918
89a7d726 42919 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
42920 (blocklist_mod_SOURCES): New variable.
42921 (blocklist_mod_CFLAGS): Likewise.
42922 (blocklist_mod_LDFLAGS): Likewise.
42923
75c8f258 429242006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
42925
42926 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
42927 duplication.
42928 (lba_mode): Use %eax more intensively to reduce the code size.
42929
da2eb181 429302006-05-20 Marco Gerards <marco@gnu.org>
42931
42932 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
42933
42934 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
42935 for `menuentry'.
42936 (script): Accept leading newlines.
42937 (newlines): New rule to describe 0 or more newlines.
42938 (commands): Accept `command' with trailing newline. Fixed the
42939 order in which arguments were passed to `grub_script_add_cmd'.
42940 Accept commands separated by newlines.
42941 (function): Changed to accept newlines.
42942 (menuentry) Rewritten.
42943
42944 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
42945 front of the list, instead of to the end.
42946
577b4050 429472006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
42948
42949 * util/i386/pc/grub-install.in (bindir): New variable.
42950 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
42951 Shaver <lbgwjl@gmail.com>.
42952
0d6e1189 429532006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
42954
42955 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
42956 grub/machine/linux.h
42957 * loader/i386/pc/linux.c: Likewise.
42958
42959 * include/grub/i386/pc/linux.h: Moved to ...
42960 * include/grub/i386/linux.h: ... here.
42961
42962 * include/grub/i386/linux.h (struct linux_kernel_params): New
42963 struct.
f19dbdb7 42964
31b86e9f 429652006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
42966
42967 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
42968 checking.
42969 (grub_video_vbe_blit_glyph): Likewise.
42970 (grub_video_vbe_blit_bitmap): Likewise.
42971 (grub_video_vbe_blit_render_target): Likewise.
42972
83b984de 429732006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
42974
42975 * configure.ac (--with-platform): Properly quote the square
42976 brackets.
42977
5f0413bd 429782006-05-08 Marco Gerards <marco@gnu.org>
42979
42980 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
42981 this...
42982 (kernel_elf_HEADERS): ...to this. Updated all users.
42983 (grubof_symlist.c): Renamed from this...
42984 (kernel_elf_symlist.c): ...to this. Updated all users.
42985 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42986 (grubof_SOURCES): Renamed from this...
42987 (kernel_elf_SOURCES): ...to this.
42988 (grubof_HEADERS): Renamed from this...
42989 (kernel_elf_HEADERS): ...to this.
42990 (grubof_CFLAGS): Renamed from this...
42991 (kernel_elf_CFLAGS): ...to this.
42992 (grubof_ASFLAGS): Renamed from this...
42993 (kernel_elf_ASFLAGS): ...to this.
42994 (grubof_LDFLAGS): Renamed from this...
42995 (kernel_elf_LDFLAGS): ...to this.
42996
42997 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42998 this...
42999 (kernel_elf_HEADERS): ...to this. Updated all users.
43000 (grubof_symlist.c): Renamed from this...
43001 (kernel_elf_symlist.c): ...to this. Updated all users.
43002 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43003 (grubof_SOURCES): Renamed from this...
43004 (kernel_elf_SOURCES): ...to this.
43005 (grubof_HEADERS): Renamed from this...
43006 (kernel_elf_HEADERS): ...to this.
43007 (grubof_CFLAGS): Renamed from this...
43008 (kernel_elf_CFLAGS): ...to this.
43009 (grubof_ASFLAGS): Renamed from this...
43010 (kernel_elf_ASFLAGS): ...to this.
43011 (grubof_LDFLAGS): Renamed from this...
43012 (kernel_elf_LDFLAGS): ...to this.
43013
43014 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43015 `kernel.elf' instead of `grubof'.
43016
05568c2e 430172006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43018
43019 Add --with-platform to configure. Use pkglibdir instead of
43020 pkgdatadir. This is reported by Roger Leigh.
43021
43022 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43023 (host_vendor): Likewise.
43024 (host_os): Likewise.
43025 (pkgdatadir): Likewise.
43026 (platform): New variable.
43027 (pkglibdir): Likewise.
43028 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43029
05568c2e 43030 * util/i386/pc/grub-install.in (datadir): Removed.
43031 (host_vendor): Likewise.
43032 (host_os): Likewise.
43033 (pkgdatadir): Likewise.
43034 (platform): New variable.
43035 (pkglibdir): Likewise.
43036 Use PKGLIBDIR instead of PKGDATADIR.
43037
43038 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43039 instead of GRUB_DATADIR.
43040 (main): Likewise.
43041 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43042 (main): Likewise.
43043 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43044 (main): Likewise.
43045
43046 * configure.ac (--with-platform): New option.
43047 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43048
43049 * Makefile.in: Include a makefile based on PLATFORM instead of
43050 HOST_VENDOR.
43051 (pkgdatadir): Not appended by the machine type.
43052 (pkglibdir): Appended by the machine type.
43053 (host_vendor): Removed.
43054 (platform): New variable.
43055 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43056 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43057 (uninstall): Likewise.
43058
4e93851c 430592006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43060
43061 Use the environment context in the menu. Remove the commands
43062 "default" and "timeout", and use variables instead.
f19dbdb7 43063
4e93851c 43064 * normal/menu.c: Include grub/env.h.
43065 (print_entry): Cast TITLE to silence gcc.
43066 (get_timeout): New function.
43067 (set_timeout): Likewise.
43068 (get_entry_number): Likewise.
43069 (run_menu): Use a default entry, a fallback entry and a timeout
43070 in the environment variables "default", "fallback" and
43071 "timeout". Also, tweak the default entry if it is not within the
43072 current menu entries.
43073 (grub_menu_run): Use a fallback entry in the environment variable
43074 "fallback".
43075
43076 * normal/main.c (read_config_file): Do not initialize
43077 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43078 NEWMENU->TIMEOUT.
43079 (grub_normal_execute): Use a data slot to store the menu.
43080
43081 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43082 fallback_entry and timeout.
43083 (struct grub_menu_list): Removed.
43084 (grub_menu_list_t): Likewise.
43085 (struct grub_context): Likewise.
43086 (grub_context_t): Likewise.
43087 (grub_context_get): Likewise.
43088 (grub_context_get_current_menu): Likewise.
43089 (grub_context_push_menu): Likewise.
43090 (grub_context_pop_menu): Likewise.
43091 (grub_default_init): Likewise.
43092 (grub_default_fini): Likewise.
43093 (grub_timeout_init): Likewise.
43094 (grub_timeout_fini): Likewise.
43095
43096 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43097 and timeout.mod.
43098 (normal_mod_SOURCES): Removed normal/context.c.
43099
43100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43101 commands/default.c, commands/timeout.c and normal/context.c.
43102 (normal_mod_SOURCES): Removed normal/context.c.
43103
43104 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43105 commands/timeout.c and normal/context.c.
43106 (normal_mod_SOURCES): Removed normal/context.c.
43107
43108 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43109 commands/default.c, commands/timeout.c and normal/context.c.
43110 (normal_mod_SOURCES): Removed normal/context.c.
43111
43112 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43113 timeout.mod.
43114 (default_mod_SOURCES): Removed.
43115 (default_mod_CFLAGS): Likewise.
43116 (default_mod_LDFLAGS): Likewise.
43117 (timeout_mod_SOURCES): Removed.
43118 (timeout_mod_CFLAGS): Likewise.
43119 (timeout_mod_LDFLAGS): Likewise.
43120
43121 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43122 normal/context.c.
43123
43124 * commands/default.c: Removed.
43125 * commands/timeout.c: Likewise.
43126 * normal/context.c: Likewise.
43127
1eb9cc1d 431282006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43129
43130 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43131
385bd9c1 431322006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43133
43134 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43135 "next" to "prev" for readability.
43136 (struct grub_env_sorted_var): New struct.
43137 (grub_env_context): Renamed to ...
43138 (initial_context): ... this.
43139 (grub_env_var_context): Renamed to ...
43140 (current_context): ... this.
43141 (grub_env_find): Look only at CURRENT_CONTEXT.
43142 (grub_env_context_open): Rewritten to copy exported variables from
43143 previous context.
43144 (grub_env_context_close): Rewritten according to the new
43145 scheme. Also, add an assertion to prevent the initial context from
43146 removed.
43147 (grub_env_insert): Removed the code for the sorted list.
43148 (grub_env_remove): Likewise.
43149 (grub_env_export): Simply mark the variable with
43150 GRUB_ENV_VAR_GLOBAL.
43151 (grub_env_set): A cosmetic change for naming consistency.
43152 (grub_env_get): Likewise.
43153 (grub_env_unset): Likewise.
43154 (grub_env_iterate): Rewritten to sort variables within this
43155 function.
43156 (grub_register_variable_hook): Fixed for naming consistency. Call
43157 grub_env_find again, only if NAME is not found at the first time.
43158 (mangle_data_slot_name): New function.
43159 (grub_env_set_data_slot): Likewise.
43160 (grub_env_get_data_slot): Likewise.
43161 (grub_env_unset_data_slot): Likewise.
43162
43163 * include/grub/env.h (grub_env_var_type): New enum.
43164 (GRUB_ENV_VAR_LOCAL): New constant.
43165 (GRUB_ENV_VAR_GLOBAL): Likewise.
43166 (GRUB_ENV_VAR_DATA): Likewise.
43167 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43168 "type".
43169 (grub_env_set): Replace VAR with NAME for consistency.
43170 (grub_register_variable_hook): Likewise.
43171 (grub_env_export): Specify the name of the argument.
43172 (grub_env_set_data_slot): New prototype.
43173 (grub_env_get_data_slot): Likewise.
43174 (grub_env_unset_data_slot): Likewise.
43175
7f362539 431762006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43177
43178 Extend the loader so that GRUB can accept a loader which comes
43179 back to GRUB when a loaded image exits. Also, this change adds
43180 support for a chainloader on EFI.
f19dbdb7 43181
7f362539 43182 * term/efi/console.c: Include grub/misc.h.
43183 (grub_console_checkkey): Display a scan code on the top for
43184 debugging. This will be removed once the EFI port gets stable.
43185 Correct the scan code mapping.
43186
43187 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
43188 allocate memory from larger regions, in order to reduce the number
43189 of allocated regions. Otherwise, the MacOSX loader panics.
43190 (filter_memory_map): Avoid less than 1MB for compatibility with
43191 other loaders.
43192 (add_memory_regions): Allocate from the tail of a region, if
43193 possible, to avoid allocating a region near to 1MB, for the MacOSX
43194 loader.
43195
43196 * kern/efi/init.c (grub_efi_set_prefix): Specify
43197 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
43198
43199 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
43200 argument IMAGE_HANDLE and specify it to get a loaded image.
43201 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
43202 grub_efi_get_loaded_image.
fe6b695a 43203 (grub_efi_get_filename): Divide the length by the size of
7f362539 43204 grub_efi_char16_t.
43205 (grub_efi_get_device_path): New function.
43206 (grub_efi_print_device_path): Print End Device Path nodes. Divide
43207 the length by the size of grub_efi_char16_t for a file path device
43208 path node.
43209
43210 * kern/loader.c (grub_loader_noreturn): New variable.
43211 (grub_loader_set): Accept a new argument NORETURN. Set
43212 GRUB_LOADER_NORETURN to NORETURN.
43213 All callers changed.
43214 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
43215 grub_machine_fini.
43216
43217 * include/grub/efi/efi.h (grub_efi_get_device_path): New
43218 prototype.
43219 (grub_efi_get_loaded_image): Take an argument to specify an image
43220 handle.
43221
43222 * include/grub/loader.h (grub_loader_set): Added one more argument
43223 NORETURN.
43224
43225 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
43226 instead of grub_efi_open_protocol.
43227 (grub_efidisk_get_device_name): Likewise.
43228 (grub_efidisk_close): Print a newline.
43229 (grub_efidisk_get_device_handle): Fixed to use
43230 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
43231 GRUB_EFI_DEVICE_PATH_TYPE.
43232
43233 * disk/efi/efidisk.c (device_path_guid): Moved to ...
43234 * kern/efi/efi.c (device_path_guid): ... here.
43235
43236 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
43237 chain.mod.
43238 (kernel_mod_HEADERS): Added efi/disk.h.
43239 (_chain_mod_SOURCES): New variable.
43240 (_chain_mod_CFLAGS): Likewise.
43241 (_chain_mod_LDFLAGS): Likewise.
43242 (chain_mod_SOURCES): Likewise.
43243 (chain_mod_CFLAGS): Likewise.
43244 (chain_mod_LDFLAGS): Likewise.
43245
43246 * DISTLIST: Added include/grub/efi/chainloader.h,
43247 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
43248
43249 * include/grub/efi/chainloader.h: New file.
43250 * loader/efi/chainloader.c: Likewise.
43251 * loader/efi/chainloader_normal.c: Likewise.
43252
c0111d6e 432532006-04-30 Marco Gerards <marco@gnu.org>
43254
43255 * commands/configfile.c (grub_cmd_source): New function.
43256 (GRUB_MOD_INIT): Register the commands `source' and `.'.
43257 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
43258
df5341da 432592006-04-30 Marco Gerards <marco@gnu.org>
43260
43261 * normal/execute.c (grub_script_execute_cmd): Change the return
43262 type to `grub_err_t'. Correctly return the error.
43263 (grub_script_execute_cmdline): In case a command line is not a
43264 command or a function, try to interpret it as an assignment.
43265
f85934bd 432662006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43267
43268 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
43269 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
43270 skip a node whose name is obviously invalid as UTF-16,
43271 i.e. contains a NUL character. Stop the iteration when the last
43272 directory entry is found. Instead of using the return value of
43273 grub_hfsplus_btree_iterate_node, store the value in RET and use
43274 it, because the iterator can be stopped by the last directory
43275 entry.
43276
8f8a2cf8 432772006-04-30 Marco Gerards <marco@gnu.org>
43278
43279 * include/grub/env.h (grub_env_export): New prototype. Reported
43280 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
43281
a27e84ce 432822006-04-30 Marco Gerards <marco@gnu.org>
43283
43284 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
43285 size of the extents in a catalog file record.
43286
eaef0553 432872006-04-29 Marco Gerards <marco@gnu.org>
43288
43289 * commands/configfile.c (grub_cmd_configfile): Execute the
43290 configfile within its own context.
43291
43292 * include/grub/env.h (grub_env_context_open): New prototype.
43293 (grub_env_context_close): Likewise.
43294
43295 * kern/env.c (grub_env): Removed.
43296 (grub_env_sorted): Likewise.
43297 (grub_env_context): New variable.
43298 (grub_env_var_context): Likewise.
43299 (grub_env_find): Search both the active context and the global
43300 context.
43301 (grub_env_context_open): New function.
43302 (grub_env_context_close): Likewise.
43303 (grub_env_insert): Likewise.
43304 (grub_env_remove): Likewise.
43305 (grub_env_export): Likewise.
43306 (grub_env_set): Changed to use helper functions to avoid code
43307 duplication.
43308 (grub_env_iterate): Rewritten so both the current context and the
43309 global context are being used.
43310
43311 * normal/command.c (export_command): New function.
43312 (grub_command_init): Register the `export' function.
43313
7b455f4d 433142006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
43315
43316 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
43317 explicitly to suppress gcc's warnings.
43318 * fs/fat.c (grub_fat_find_dir): Likewise.
43319 (grub_fat_label): Likewise.
43320 * fs/xfs.c (grub_xfs_read_inode): Likewise.
43321 (grub_xfs_mount): Likewise.
43322 (grub_xfs_label): Likewise.
43323 * fs/affs.c (grub_affs_mount): Likewise.
43324 (grub_affs_label): Likewise.
43325 (grub_affs_iterate_dir): Likewise.
43326 * fs/sfs.c (grub_sfs_mount): Likewise.
43327 (grub_sfs_iterate_dir): Likewise.
43328 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
43329 * fs/hfs.c (grub_hfs_mount): Likewise.
43330 (grub_hfs_cmp_catkeys): Likewise.
43331 (grub_hfs_find_dir): Likewise.
43332 (grub_hfs_dir): Likewise.
43333 (grub_hfs_label): Likewise.
43334 * fs/jfs.c (grub_jfs_mount): Likewise.
43335 (grub_jfs_opendir): Likewise.
43336 (grub_jfs_getent): Likewise.
43337 (grub_jfs_lookup_symlink): Likewise.
43338 (grub_jfs_label): Likewise.
43339 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
43340 (grub_hfsplus_iterate_dir): Likewise.
43341 (grub_hfsplus_btree_iterate_node): Made static.
43342
43343 * util/grub-emu.c (prefix): New variable.
43344 (grub_machine_set_prefix): New function.
43345 (main): Do not set the environment variable "prefix" here. Only
43346 set PREFIX, which is used later by grub_machine_set_prefix.
43347
43348 * include/grub/video.h: Do not include grub/symbol.h.
43349 (grub_video_register): Not exported. This symbol is not defined in
43350 the kernel.
43351 (grub_video_unregister): Likewise.
43352 (grub_video_iterate): Likewise.
43353 (grub_video_setup): Likewise.
43354 (grub_video_restore): Likewise.
43355 (grub_video_get_info): Likewise.
43356 (grub_video_get_blit_format): Likewise.
43357 (grub_video_set_palette): Likewise.
43358 (grub_video_get_palette): Likewise.
43359 (grub_video_set_viewport): Likewise.
43360 (grub_video_get_viewport): Likewise.
43361 (grub_video_map_color): Likewise.
43362 (grub_video_map_rgb): Likewise.
43363 (grub_video_map_rgba): Likewise.
43364 (grub_video_fill_rect): Likewise.
43365 (grub_video_blit_glyph): Likewise.
43366 (grub_video_blit_bitmap): Likewise.
43367 (grub_video_blit_render_target): Likewise.
43368 (grub_video_scroll): Likewise.
43369 (grub_video_swap_buffers): Likewise.
43370 (grub_video_create_render_target): Likewise.
43371 (grub_video_delete_render_target): Likewise.
43372 (grub_video_set_active_render_target): Likewise.
43373
43374 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43375 Undefined.
43376 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43377
43378 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43379 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43380 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43381 instead of $(srcdir)/genkernsyms.sh.
43382
43383 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43384 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43385 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43386 instead of $(srcdir)/genkernsyms.sh.
43387
43388 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43389 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43390 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43391 instead of $(srcdir)/genkernsyms.sh.
43392
43393 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43394 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43395 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43396 instead of $(srcdir)/genkernsyms.sh.
43397
43398 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43399 genkernsyms.sh.
43400
43401 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43402 genkernsyms.sh.
43403 (gensymlist.sh): New target.
43404 (genkernsyms.sh): Likewise.
43405
43406 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43407 genkernsyms.sh.in and gensymlist.sh.in.
43408
43409 * genkernsyms.sh: Removed.
43410 * gensymlist.sh: Likewise.
f19dbdb7 43411
7b455f4d 43412 * genkernsyms.sh.in: New file.
43413 * gensymlist.sh.in: Likewise.
43414
1885bb27 434152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43416
43417 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43418 clobber "prefix", since we may have already set it manually.
43419
71538dff 434202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43421
43422 * kern/misc.c (abort): New alias for grub_abort.
43423
2965c7cc 434242006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43425
43426 A new machine-specific function "grub_machine_set_prefix" is
43427 defined. This is called after loading modules, so that a prefix
43428 initialization can use modules. Also, this change adds an
43429 intensive debugging feature for the memory manager via the
43430 configure option "--enable-mm-debug".
f19dbdb7 43431
2965c7cc 43432 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43433 PART.LEN.
43434
43435 * kern/sparc64/ieee1275/init.c (abort): Removed.
43436 (grub_stop): Likewise.
43437 (grub_exit): New function.
43438 (grub_set_prefix): Renamed to ...
43439 (grub_machine_set_prefix): ... this.
43440 (grub_machine_init): Do not call grub_set_prefix.
43441
43442 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43443 (grub_machine_set_prefix): ... this.
43444 (grub_machine_init): Do not call grub_set_prefix.
43445
43446 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43447 (grub_machine_init): Do not set the prefix here.
43448
43449 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43450
43451 * kern/efi/init.c: Include grub/mm.h.
43452 (grub_efi_set_prefix): New function.
43453
43454 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43455 (grub_efi_get_filename): New function.
43456 (grub_print_device_path): Renamed to ...
43457 (grub_efi_print_device_path): ... this.
43458
43459 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43460 [MM_DEBUG] (grub_realloc): Likewise.
43461 [MM_DEBUG] (grub_free): Likewise.
43462 [MM_DEBUG] (grub_memalign): Likewise.
43463 [MM_DEBUG] (grub_mm_debug): New variable.
43464 [MM_DEBUG] (grub_debug_malloc): New function.
43465 [MM_DEBUG] (grub_debug_free): New function.
43466 [MM_DEBUG] (grub_debug_realloc): New function.
43467 [MM_DEBUG] (grub_debug_memalign): New function.
43468
43469 * kern/misc.c (grub_abort): Print a newline to distinguish
43470 the message.
43471
43472 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43473 grub_set_root_dev after loading modules. This is necessary when
43474 setting a prefix depends on modules.
43475
43476 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43477 (grub_efi_print_device_path): ... this.
43478 (grub_efi_get_filename): New prototype.
43479 (grub_efi_set_prefix): Likewise.
43480
43481 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43482 and grub/disk.h.
43483 (grub_efidisk_get_device_handle): New prototype.
43484 (grub_efidisk_get_device_name): Likewise.
43485
43486 * include/grub/mm.h: Include config.h.
43487 (MM_DEBUG): Removed.
43488 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43489 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43490 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43491 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43492 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43493 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43494 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43495 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43496 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43497
43498 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43499
43500 * disk/efi/efidisk.c: Include grub/partition.h.
43501 (iterate_child_devices): New function.
43502 (add_device): First, compare only last device path nodes, so that
43503 devices are sorted by the types.
43504 (grub_efidisk_get_device_handle): New function.
43505 (grub_efidisk_get_device_name): Likewise.
43506
43507 * configure.ac (--enable-mm-debug): New option to enable the
43508 memory manager debugging feature. This makes the binary much
43509 bigger, so is disabled by default.
43510
9cacaa17 435112006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43512
43513 Use grub_abort instead of grub_stop, and grub_exit must be
43514 define in each architecture now. Also, this change adds support
43515 for EFI disks.
f19dbdb7 43516
9cacaa17 43517 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43518 (grub_getkey): New function.
43519 (grub_term_get_current): Likewise.
43520
43521 * util/i386/pc/grub-setup.c: Include grub/term.h.
43522 (grub_getkey): New function.
43523 (grub_term_get_current): Likewise.
43524
43525 * util/misc.c (grub_stop): Renamed to ...
43526 (grub_exit): ... this.
43527
43528 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43529 (grub_exit): ... this.
43530 (grub_machine_init): Use grub_abort instead of abort.
43531 (grub_stop): Removed.
43532
43533 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43534 abort.
43535
43536 * kern/i386/pc/startup.S (grub_exit): New function.
43537 (cold_reboot): New label.
43538
43539 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43540 (grub_efi_init): Call grub_efidisk_init.
43541 (grub_efi_fini): Call grub_efidisk_fini.
43542
43543 * kern/efi/efi.c: Include grub/mm.h.
43544 (grub_efi_console_control_guid): Renamed to ...
43545 (console_control_guid): ... this.
43546 (grub_efi_loaded_image_guid): Renamed to ...
43547 (loaded_image_guid): ... this.
43548 (grub_efi_locate_handle): New function.
43549 (grub_efi_open_protocol): Likewise.
43550 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43551 GRUB_EFI_CONSOLE_CONTROL_GUID.
43552 (grub_efi_exit): Removed.
43553 (grub_stop): Likewise.
43554 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43555 (grub_exit): New function.
43556 (grub_print_device_path): Likewise.
43557
43558 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43559 (grub_enter_rescue_mode): Register "exit".
43560
43561 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43562 (grub_abort): New function.
43563
43564 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43565
43566 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43567
43568 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43569
43570 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43571 (grub_print_device_path): New prototype.
43572 (grub_efi_locate_handle): Likewise.
43573 (grub_efi_open_protocol): Likewise.
43574
43575 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43576 * disk/efi/efidisk.c: Likewise.
43577
43578 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43579
43580 * include/grub/efi/console_control.h
43581 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43582
43583 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43584 last 8 bytes as an array.
43585 (GRUB_EFI_DISK_IO_GUID): New macro.
43586 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43587 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43588 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43589 grub_uint8_t.
43590 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43591 (struct grub_efi_device_path): Rename the member "sub_type" to
43592 "subtype".
43593 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43594 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43595 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43596 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43597 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43598 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43599 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43600 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43601 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43602 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43603 (struct grub_efi_pci_device_path): New structure.
43604 (grub_efi_pci_device_path_t): New type.
43605 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43606 (struct grub_efi_pccard_device_path): New structure.
43607 (grub_efi_pccard_device_path_t): New type.
43608 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43609 (struct grub_efi_memory_mapped_device_path): New structure.
43610 (grub_efi_memory_mapped_device_path_t): New type.
43611 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43612 (struct grub_efi_vendor_device_path): New structure.
43613 (grub_efi_vendor_device_path_t): New type.
43614 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43615 (struct grub_efi_controller_device_path): New structure.
43616 (grub_efi_controller_device_path_t): New type.
43617 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43618 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43619 (struct grub_efi_acpi_device_path): New structure.
43620 (grub_efi_acpi_device_path_t): New type.
43621 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43622 (struct grub_efi_expanded_acpi_device_path): New structure.
43623 (grub_efi_expanded_acpi_device_path_t): New type.
43624 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43625 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43626 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43627 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43628 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43629 (struct grub_efi_atapi_device_path): New structure.
43630 (grub_efi_atapi_device_path_t): New type.
43631 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43632 (struct grub_efi_fibre_channel_device_path): New structure.
43633 (grub_efi_fibre_channel_device_path_t): New type.
43634 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43635 (struct grub_efi_1394_device_path): New structure.
43636 (grub_efi_1394_device_path_t): New type.
43637 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43638 (struct grub_efi_usb_device_path): New structure.
43639 (grub_efi_usb_device_path_t): New type.
43640 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43641 (struct grub_efi_usb_class_device_path): New structure.
43642 (grub_efi_usb_class_device_path_t): New type.
43643 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43644 (struct grub_efi_i2o_device_path): New structure.
43645 (grub_efi_i2o_device_path_t): New type.
43646 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43647 (struct grub_efi_mac_address_device_path): New structure.
43648 (grub_efi_mac_address_device_path_t): New type.
43649 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43650 (struct grub_efi_ipv4_device_path): New structure.
43651 (grub_efi_ipv4_device_path_t): New type.
43652 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43653 (struct grub_efi_ipv6_device_path): New structure.
43654 (grub_efi_ipv6_device_path_t): New type.
43655 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43656 (struct grub_efi_infiniband_device_path): New structure.
43657 (grub_efi_infiniband_device_path_t): New type.
43658 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43659 (struct grub_efi_uart_device_path): New structure.
43660 (grub_efi_uart_device_path_t): New type.
43661 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43662 (struct grub_efi_vendor_messaging_device_path): New structure.
43663 (grub_efi_vendor_messaging_device_path_t): New type.
43664 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43665 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43666 (struct grub_efi_hard_drive_device_path): New structure.
43667 (grub_efi_hard_drive_device_path_t): New type.
43668 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43669 (struct grub_efi_cdrom_device_path): New structure.
43670 (grub_efi_cdrom_device_path_t): New type.
43671 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43672 (struct grub_efi_vendor_media_device_path): New structure.
43673 (grub_efi_vendor_media_device_path_t): New type.
43674 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43675 (struct grub_efi_file_path_device_path): New structure.
43676 (grub_efi_file_path_device_path_t): New type.
43677 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43678 (struct grub_efi_protocol_device_path): New structure.
43679 (grub_efi_protocol_device_path_t): New type.
43680 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43681 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43682 (struct grub_efi_bios_device_path): New structure.
43683 (grub_efi_bios_device_path_t): New type.
43684 (struct grub_efi_disk_io): New structure.
43685 (grub_efi_disk_io_t): New type.
43686 (struct grub_efi_block_io_media): New structure.
43687 (grub_efi_block_io_media_t): New type.
43688 (struct grub_efi_block_io): New structure.
43689 (grub_efi_block_io_t): New type.
43690
43691 * include/grub/misc.h (grub_stop): Removed.
43692 (grub_exit): New prototype.
43693 (grub_abort): Likewise.
43694
43695 * include/grub/disk.h (enum grub_disk_dev_id): Added
43696 GRUB_DISK_DEVICE_EFIDISK_ID.
43697
43698 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43699 disk/efi/efidisk.c.
43700 (kernel_syms.lst): Remove the target if an error occurs.
43701
49986a9f 437022006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43703
43704 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43705 as it was simply too buggy.
43706
970d3b8a 437072006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43708
43709 * kern/misc.c (grub_lltoa): New function.
43710 (grub_vsprintf): Added support for the long long suffix,
43711 i.e. "ll".
43712
ff04ec24 437132006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43714
43715 * Makefile.in (LDFLAGS): Add variable.
43716 (LD): Remove variable.
43717 * configure.ac: Add -m32 to LDFLAGS.
43718 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43719 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43720 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43721 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43722 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43723 variables.
43724 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43725 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43726 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43727
37e5e1a4 437282006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43729
43730 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43731 length for unknown glyph.
43732
c352d8dd 437332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43734
2eab1c0d 43735 Add support for pre-loaded modules into the EFI port.
f19dbdb7 43736
2eab1c0d 43737 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43738 completely. Accept one more argument DIR. The caller has changed.
43739
43740 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43741
43742 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43743 (grub_efi_loaded_image_guid): New variable.
43744 (grub_efi_get_loaded_image): New function.
43745 (grub_arch_modules_addr): Likewise.
43746
43747 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43748 prototype.
43749
43750 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43751 (struct grub_efi_loaded_image): New structure.
43752 (grub_efi_loaded_image_t): New type.
43753
437542006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43755
c352d8dd 43756 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43757 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43758 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43759
6d01d6b4 437602006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43761
43762 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43763
976a4ea0 437642006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43765
43766 * DISTLIST: Added include/grub/efi/console.h,
43767 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43768 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43769
43770 * include/grub/efi/console.h: New file.
43771 * include/grub/efi/time.h: Likewise.
43772 * include/grub/i386/efi/kernel.h: Likewise.
43773 * kern/efi/init.c: Likewise.
43774 * kern/efi/mm.c: Likewise.
43775 * term/efi/console.c: Likewise.
f19dbdb7 43776
976a4ea0 43777 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43778 (grub_stop): Removed.
43779 (grub_get_rtc): Likewise.
43780 (grub_machine_init): Simply call grub_efi_init.
43781 (grub_machine_fini): Call grub_efi_fini.
43782
43783 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43784 (grub_efi_output_string): Removed.
43785 (grub_efi_stall): New function.
43786 (grub_stop): Likewise.
43787 (grub_get_rtc): Likewise.
43788
43789 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43790 (grub_efi_stall): New prototype.
43791 (grub_efi_allocate_pages): Likewise.
43792 (grub_efi_free_pages): Likewise.
43793 (grub_efi_get_memory_map): Likewise.
43794 (grub_efi_mm_init): Likewise.
43795 (grub_efi_mm_fini): Likewise.
43796 (grub_efi_init): Likewise.
43797 (grub_efi_fini): Likewise.
43798
43799 * include/grub/i386/efi/time.h: Do not include
43800 grub/symbol.h. Include grub/efi/time.h.
43801 (GRUB_TICKS_PER_SECOND): Removed.
43802 (grub_get_rtc): Likewise.
43803
43804 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43805 Added padding. The EFI spec is buggy.
43806 (GRUB_EFI_BLACK): New macro.
43807 (GRUB_EFI_BLUE): Likewise.
43808 (GRUB_EFI_GREEN): Likewise.
43809 (GRUB_EFI_CYAN): Likewise.
43810 (GRUB_EFI_RED): Likewise.
43811 (GRUB_EFI_MAGENTA): Likewise.
43812 (GRUB_EFI_BROWN): Likewise.
43813 (GRUB_EFI_LIGHTGRAY): Likewise.
43814 (GRUB_EFI_BRIGHT): Likewise.
43815 (GRUB_EFI_DARKGRAY): Likewise.
43816 (GRUB_EFI_LIGHTBLUE): Likewise.
43817 (GRUB_EFI_LIGHTGREEN): Likewise.
43818 (GRUB_EFI_LIGHTCYAN): Likewise.
43819 (GRUB_EFI_LIGHTRED): Likewise.
43820 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43821 (GRUB_EFI_YELLOW): Likewise.
43822 (GRUB_EFI_WHITE): Likewise.
43823 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43824 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43825 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43826 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43827 (GRUB_EFI_BACKGROUND_RED): Likewise.
43828 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43829 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43830 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43831 (GRUB_EFI_TEXT_ATTR): Likewise.
43832
43833 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43834 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43835 (kernel_mod_HEADERS): Added efi/time.h.
43836
83709125 438372006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43838
43839 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43840 include/grub/efi/api.h, include/grub/efi/console_control.h,
43841 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43842 include/grub/i386/efi/time.h, kern/efi/efi.c,
43843 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43844 and util/i386/efi/grub-mkimage.c.
43845
43846 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43847
43848 * genmk.rb (PModule#rule): Do not export symbols if
43849 #{prefix}_EXPORTS is set to "no".
43850
43851 * conf/i386-efi.mk: New file.
43852 * conf/i386-efi.rmk: Likewise.
43853 * include/grub/efi/api.h: Likewise.
43854 * include/grub/efi/console_control.h: Likewise.
43855 * include/grub/efi/efi.h: Likewise.
43856 * include/grub/efi/pe32.h: Likewise.
43857 * include/grub/i386/efi/time.h: Likewise.
43858 * kern/efi/efi.c: Likewise.
43859 * kern/i386/efi/init.c: Likewise.
43860 * kern/i386/efi/startup.S: Likewise.
43861 * util/i386/efi/grub-mkimage.c: Likewise.
43862
438632006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 43864
43865 * include/grub/script.h: Include <grub/parser.h> and
43866 "grub_script.tab.h".
43867 (struct grub_lexer_param): New struct.
43868 (struct grub_parser_param): Likewise.
43869 (grub_script_create_arglist): Pass the state in an argument.
43870 (grub_script_add_arglist): Likewise.
43871 (grub_script_create_cmdline): Likewise.
43872 (grub_script_create_cmdblock): Likewise.
43873 (grub_script_create_cmdif): Likewise.
43874 (grub_script_create_cmdmenu): Likewise.
43875 (grub_script_add_cmd): Likewise.
43876 (grub_script_arg_add): Likewise.
43877 (grub_script_lexer_ref): Likewise.
43878 (grub_script_lexer_deref): Likewise.
43879 (grub_script_lexer_record_start): Likewise.
43880 (grub_script_lexer_record_stop): Likewise.
43881 (grub_script_mem_record): Likewise.
43882 (grub_script_mem_record_stop): Likewise.
43883 (grub_script_malloc): Likewise.
43884 (grub_script_yylex): Likewise.
43885 (grub_script_yyparse): Likewise.
43886 (grub_script_yyerror): Likewise.
43887 (grub_script_yylex): Likewise.
43888 (grub_script_lexer_init): Return the state.
43889
43890 * normal/lexer.c (grub_script_lexer_state): Removed variable.
43891 (grub_script_lexer_done): Likewise.
43892 (grub_script_lexer_getline): Likewise.
43893 (grub_script_lexer_refs): Likewise.
43894 (script): Likewise.
43895 (newscript): Likewise.
43896 (record): Likewise.
43897 (recording): Likewise.
43898 (recordpos): Likewise.
43899 (recordlen): Likewise.
43900 (grub_script_lexer_init): Return the state instead of setting
43901 global variables.
43902 (grub_script_lexer_ref): Use the newly added argument for state
43903 instead of globals.
43904 (grub_script_lexer_deref): Likewise.
43905 (grub_script_lexer_record_start): Likewise.
43906 (grub_script_lexer_record_stop): Likewise.
43907 (recordchar): Likewise.
43908 (nextchar): Likewise.
43909 (grub_script_yylex2): Likewise.
43910 (grub_script_yylex): Likewise.
43911 (grub_script_yyerror): Likewise.
43912
43913 * normal/parser.y (func_mem): Removed variable.
43914 (menu_entry): Likewise.
43915 (err): Likewise.
43916 (%lex-param): New parser option.
43917 (%parse-param): Likewise.
43918 (script): Always return the AST.
43919 (argument): Pass the state around.
43920 (arguments): Likewise.
43921 (grubcmd): Likewise.
43922 (commands): Likewise.
43923 (function): Likewise.
43924 (menuentry): Likewise.
43925 (if_statement): Likewise.
43926 (if): Likewise.
43927
43928 * normal/script.c (grub_script_memused): Removed variable.
43929 (grub_script_parsed): Likewise.
43930 (grub_script_malloc): Added a state argument. Use that instead of
43931 global variables.
43932 (grub_script_mem_record): Likewise.
43933 (grub_script_mem_record_stop): Likewise.
43934 (grub_script_arg_add): Likewise.
43935 (grub_script_add_arglist): Likewise.
43936 (grub_script_create_cmdline): Likewise.
43937 (grub_script_create_cmdif): Likewise.
43938 (grub_script_create_cmdmenu): Likewise.
43939 (grub_script_add_cmd): Likewise.
43940 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 43941
e2a8c904 439422006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 43943
43944 * normal/command.c (grub_command_init): Remove the title command.
43945
43946 * normal/lexer.c (grub_script_yylex): Renamed from this...
43947 (grub_script_yylex2): ... to this.
43948 (grub_script_yylex): New function. Temporary
43949 introduced to filter some tokens.
43950 (grub_script_yyerror): Print a newline.
43951
43952 * normal/main.c (read_config_file): Output information about the
43953 lines that contain errors. Wait for a key after all lines have
43954 been processed. Don't return an empty menu.
43955
43956 * normal/parser.y (func_mem): Don't initialize.
43957 (menu_entry): Likewise.
43958 (err): New variable.
43959 (script): Don't return anything when an error was encountered.
43960 (ws, returns): Removed rules.
43961 (argument): Disabled concatenated variable support.
43962 (arguments): Remove explicit separators.
43963 (grubcmd): Likewise.
43964 (function): Likewise.
43965 (menuentry): Likewise.
43966 (if): Likewise.
43967 (commands): Likewise. Add error handling.
43968
43969 * normal/script.c (grub_script_create_cmdline): If
43970 `grub_script_parsed' is 0, assume the parser encountered an error.
43971
c9a86192 439722006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
43973
43974 * configure.ac: Add support for EFI. Fix the typo
43975 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
43976
70f3b243 439772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43978
43979 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
43980 foreign multibyte characters should be shown correctly.
43981
65f201ad 439822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43983
43984 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
43985 calculation.
43986 (read_config_file): Made it to close file before returning.
43987
b4b93674 439882006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
43989
43990 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
43991 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43992 video/i386/pc/vbefill.c.
43993
43994 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43995 video/i386/pc/vbefill.c.
43996
43997 * include/grub/video.h (grub_video_blit_format): New enum.
43998 (grub_video_mode_info): Added new member blit_format.
43999 (grub_video_get_blit_format): New function prototype.
44000
44001 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44002 function prototype.
44003 (grub_video_vbe_map_rgb): Likewise.
44004 (grub_video_vbe_unmap_color): Likewise.
44005
44006 * include/grub/i386/pc/vbeblit.h: New file.
44007
44008 * include/grub/i386/pc/vbefill.h: New file.
44009
44010 * video/video.c (grub_video_get_blit_format): New function.
44011 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44012 (grub_video_vbe_map_rgb): Likewise.
44013 (grub_video_vbe_unmap_color): Likewise.
44014
44015 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44016 optimized fills.
44017 (grub_video_vbe_blit_render_target): Changed to use more optimized
44018 blits.
44019 (grub_video_vbe_setup): Added detection for optimized settings.
44020 (grub_video_vbe_create_render_target): Likewise.
44021
44022 * video/i386/pc/vbeblit.c: New file.
44023
44024 * video/i386/pc/vbefill.c: New file.
44025
c2379b9c 440262006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44027
44028 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44029 here...
44030
44031 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44032 parsing to support both hex and dec ranges. If filename was missing
44033 show usage information.
44034
bd0d7896 440352006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44036
44037 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44038 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44039
44040 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44041 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44042 (video_mod_SOURCES): Added.
44043 (video_mod_CFLAGS): Likewise.
44044 (video_mod_LDFLAGS): Likewise.
44045 (gfxterm_mod_SOURCES): Likewise.
44046 (gfxterm_mod_CFLAGS): Likewise.
44047 (gfxterm_mod_LDFLAGS): Likewise.
44048 (videotest_mod_SOURCES): Likewise.
44049 (videotest_mod_CFLAGS): Likewise.
44050 (videotest_mod_LDFLAGS): Likewise.
44051 (vesafb_mod_SOURCES): Removed.
44052 (vesafb_mod_CFLAGS): Likewise.
44053 (vesafb_mod_LDFLAGS): Likewise.
44054 (vga_mod_SOURCES): Likewise.
44055 (vga_mod_CFLAGS): Likewise.
44056 (vga_mod_LDFLAGS): Likewise.
44057
44058 * commands/videotest.c: New file.
44059
44060 * font/manager.c (fill_with_default_glyph): Modified to use
44061 grub_font_glyph.
44062 (grub_font_get_glyph): Likewise.
44063 (fontmanager): Renamed from this...
44064 (font_manager): ... to this.
44065
44066 * include/grub/font.h (grub_font_glyph): Added new structure.
44067 (grub_font_get_glyph): Modified to use grub_font_glyph.
44068
44069 * include/grub/misc.h (grub_abs): Added as inline function.
44070
44071 * include/grub/video.h: New file.
44072
44073 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44074 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44075 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44076 (grub_vbe_get_controller_info): Renamed from this...
44077 (grub_vbe_bios_get_controller_info): ... to this.
44078 (grub_vbe_get_mode_info): Renamed from this...
44079 (grub_vbe_bios_get_mode_info): ... to this.
44080 (grub_vbe_set_mode): Renamed from this...
44081 (grub_vbe_bios_set_mode): ... to this.
44082 (grub_vbe_get_mode): Renamed from this...
44083 (grub_vbe_bios_get_mode): ... to this.
44084 (grub_vbe_set_memory_window): Renamed from this...
44085 (grub_vbe_bios_set_memory_window): ... to this.
44086 (grub_vbe_get_memory_window): Renamed from this...
44087 (grub_vbe_bios_get_memory_window): ... to this.
44088 (grub_vbe_set_scanline_length): Renamed from this...
44089 (grub_vbe_set_scanline_length): ... to this.
44090 (grub_vbe_get_scanline_length): Renamed from this...
44091 (grub_vbe_bios_get_scanline_length): ... to this.
44092 (grub_vbe_set_display_start): Renamed from this...
44093 (grub_vbe_bios_set_display_start): ... to this.
44094 (grub_vbe_get_display_start): Renamed from this...
44095 (grub_vbe_bios_get_display_start): ... to this.
44096 (grub_vbe_set_palette_data): Renamed from this...
44097 (grub_vbe_bios_set_palette_data): ... to this.
44098 (grub_vbe_set_pixel_rgb): Removed.
44099 (grub_vbe_set_pixel_index): Likewise.
44100
44101 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44102 from this...
44103 (grub_vbe_bios_get_controller_info): ... to this.
44104 (grub_vbe_get_mode_info): Renamed from this...
44105 (grub_vbe_bios_get_mode_info): ... to this.
44106 (grub_vbe_set_mode): Renamed from this...
44107 (grub_vbe_bios_set_mode): ... to this.
44108 (grub_vbe_get_mode): Renamed from this...
44109 (grub_vbe_bios_get_mode): ... to this.
44110 (grub_vbe_set_memory_window): Renamed from this...
44111 (grub_vbe_bios_set_memory_window): ... to this.
44112 (grub_vbe_get_memory_window): Renamed from this...
44113 (grub_vbe_bios_get_memory_window): ... to this.
44114 (grub_vbe_set_scanline_length): Renamed from this...
44115 (grub_vbe_set_scanline_length): ... to this.
44116 (grub_vbe_get_scanline_length): Renamed from this...
44117 (grub_vbe_bios_get_scanline_length): ... to this.
44118 (grub_vbe_set_display_start): Renamed from this...
44119 (grub_vbe_bios_set_display_start): ... to this.
44120 (grub_vbe_get_display_start): Renamed from this...
44121 (grub_vbe_bios_get_display_start): ... to this.
44122 (grub_vbe_set_palette_data): Renamed from this...
44123 (grub_vbe_bios_set_palette_data): ... to this.
44124 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44125 getting corrupted after calling it. Added more pushes and pops.
44126 (grub_vbe_bios_set_mode): Likewise.
44127 (grub_vbe_bios_get_mode): Likewise.
44128 (grub_vbe_bios_get_memory_window): Likewise.
44129 (grub_vbe_bios_set_scanline_length): Likewise.
44130 (grub_vbe_bios_get_scanline_length): Likewise.
44131 (grub_vbe_bios_get_display_start): Likewise.
44132 (grub_vbe_bios_set_palette_data): Likewise.
44133
44134 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44135 (cl_insert): Likewise.
44136 (cl_delete): Likewise.
44137
44138 * term/gfxterm.c: New file.
44139
44140 * term/i386/pc/vesafb.c: Removed file.
44141
44142 * video/video.c: New file.
44143
44144 * video/i386/pc/vbe.c (real2pm): Added new function.
44145 (grub_video_vbe_draw_pixel): Likewise.
44146 (grub_video_vbe_get_video_ptr): Likewise.
44147 (grub_video_vbe_get_pixel): Likewise
44148 (grub_video_vbe_init): Likewise.
44149 (grub_video_vbe_fini): Likewise.
44150 (grub_video_vbe_setup): Likewise.
44151 (grub_video_vbe_get_info): Likewise.
44152 (grub_video_vbe_set_palette): Likewise.
44153 (grub_video_vbe_get_palette): Likewise.
44154 (grub_video_vbe_set_viewport): Likewise.
44155 (grub_video_vbe_get_viewport): Likewise.
44156 (grub_video_vbe_map_color): Likewise.
44157 (grub_video_vbe_map_rgb): Likewise.
44158 (grub_video_vbe_map_rgba): Likewise.
44159 (grub_video_vbe_unmap_color): Likewise.
44160 (grub_video_vbe_fill_rect): Likewise.
44161 (grub_video_vbe_blit_glyph): Likewise.
44162 (grub_video_vbe_blit_bitmap): Likewise.
44163 (grub_video_vbe_blit_render_target): Likewise.
44164 (grub_video_vbe_scroll): Likewise.
44165 (grub_video_vbe_swap_buffers): Likewise.
44166 (grub_video_vbe_create_render_target): Likewise.
44167 (grub_video_vbe_delete_render_target): Likewise.
44168 (grub_video_vbe_set_active_render_target): Likewise.
44169 (grub_vbe_set_pixel_rgb): Remove function.
44170 (grub_vbe_set_pixel_index): Likewise.
44171 (index_color_mode): Remove static variable.
44172 (active_mode): Likewise.
44173 (framebuffer): Likewise.
44174 (bytes_per_scan_line): Likewise.
44175 (grub_video_vbe_adapter): Added new static variable.
44176 (framebuffer): Likewise.
44177 (render_target): Likewise.
44178 (initial_mode): Likewise.
44179 (mode_in_use): Likewise.
44180 (mode_list): Likewise.
44181
5f97350b 441822006-03-10 Marco Gerards <marco@gnu.org>
44183
44184 * configure.ac (AC_INIT): Bumped to 1.93.
44185
44186 * DISTLIST: Added `include/grub/hfs.h'.
44187
a3c5c6f8 441882006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
44189
44190 * boot/i386/pc/boot.S (general_error): Before looping, try INT
44191 18H, which might help the BIOS falling back to next boot media.
44192
6de53d26 441932006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
44194
44195 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
44196 Poe Chen <poe.poechen@gmail.com>.
44197
77c4a393 441982006-01-17 Marco Gerards <marco@gnu.org>
44199
44200 * include/grub/normal.h: Include <grub/script.h>.
44201 (grub_command_list): Removed struct.
44202 (grub_command_list_t): Removed type.
44203 (grub_menu_entry): Remove members `num' and `command_list'. Add
44204 members `commands' and `sourcecode'.
44205 * include/grub/script.h: Add inclusion guards.
44206 (grub_script_cmd_menuentry): New struct.
44207 (grub_script_execute_menuentry): New prototype.
44208 (grub_script_lexer_record_start): Likewise.
44209 (grub_script_lexer_record_stop): Likewise.
44210 * normal/execute.c (grub_script_execute_menuentry): New function.
44211 * normal/lexer.c (record, recording, recordpos, recordlen): New
44212 variables.
44213 (grub_script_lexer_record_start): New function.
44214 (grub_script_lexer_record_stop): Likewise.
44215 (recordchar): Likewise.
44216 (nextchar): Likewise.
44217 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
44218 2048 as the buffer size. Add the tokens `menuentry' and `@'.
44219 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
44220 (current_menu): New variable.
44221 (free_menu): Mainly rewritten.
44222 (grub_normal_menu_addentry): New function.
44223 (read_config_file): Rewritten.
44224 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 44225 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 44226 the menu entry.
44227 (run): Mainly rewritten.
44228 * normal/parser.y (menu_entry): New variable.
44229 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
44230 (menuentry): New rule.
44231 (command): Add `menuentry'.
44232 (if_statement): Allow additional returns before `fi'.
44233 * normal/script.c (grub_script_create_cmdmenu): New function.
44234
144f1f98 442352006-01-03 Marco Gerards <marco@gnu.org>
44236
44237 * INSTALL: GNU Bison is required.
44238 * configure.ac: Rewritten the test to detect Bison.
44239 * Makefile.in (YACC): New variable. Reported by Xun Sun
44240 <xun.sun.cn@gmail.com>.
44241
af4b2d89 442422006-01-03 Marco Gerards <marco@gnu.org>
44243
44244 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
44245 the HFS+ filesystem to filesystem blocks.
44246 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
44247 GCC warning is silenced.
44248
15643b71 442492006-01-03 Marco Gerards <marco@gnu.org>
44250
44251 * partmap/apple.c (apple_partition_map_iterate): Convert the data
44252 read from disk from big endian to host byte order.
44253
00905879 442542006-01-03 Hollis Blanchard <hollis@penguinppc.org>
44255
44256 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
44257 documentation.
44258 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
44259 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
44260 embedded HFS+ filesystem.
44261 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
44262 (grub_hfs_sblock): Move from here...
44263 * include/grub/hfs.h: To here... New file.
44264 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
44265 documentation.
44266 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
44267 New macros.
44268 (grub_hfsplus_volheader): Change type of member `magic' to
44269 `grub_uint16_t'.
44270 (grub_hfsplus_data): Add new member `embedded_offset'.
44271 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
44272 returned block.
44273 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
44274 Calculate the offset.
44275
8899bc3e 442762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44277
44278 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
44279 Removed.
44280 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
44281
ae8c0277 442822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44283
44284 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
44285 ENV->NAME is NULL after allocating ENV->VALUE.
44286
07084456 442872005-12-25 Marco Gerards <marco@gnu.org>
44288
44289 * kern/env.c (grub_env_set): Rewritten the error handling code.
44290
4750f5f1 442912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44292
44293 * geninit.sh: Made more robust, and more portable.
44294
50214199 442952005-12-25 Marco Gerards <marco@gnu.org>
44296
44297 Add support for Apple HFS+ filesystems.
f19dbdb7 44298
50214199 44299 * fs/hfsplus.c: New file.
44300
44301 * DISTLIST: Added `fs/hfsplus.c'.
44302
44303 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
44304 (hfsplus_mod_SOURCES): New variable.
44305 (hfsplus_mod_CFLAGS): Likewise.
44306 (hfsplus_mod_LDFLAGS): Likewise.
44307 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
44308 (grub_setup_SOURCES): Likewise.
44309 (grub_mkdevicemap_SOURCES): Likewise.
44310 (grub_emu_SOURCES): Likewise.
44311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44312
44313 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
44314
44315 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
44316
befaed6c 443172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44318
44319 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
44320 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
44321 include/grub/parser.h, include/grub/script.h, kern/parser.c,
44322 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
44323 normal/lexer.c, normal/parser.y, normal/script.c, and
44324 partmap/gpt.c.
44325 Removed kern/sparc64/cache.c.
44326
44327 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
44328 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
44329 grub_emu_init.c.
44330
44331 * configure.ac (AC_INIT): Bumped to 1.92.
44332
6a124103 443332005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
44334
44335 * kern/err.c (grub_error_push): Added new function to support error
44336 stacks.
44337 (grub_error_pop): Likewise.
44338 (grub_error_stack_items): New local variable to support error stacks.
44339 (grub_error_stack_pos): Likewise.
44340 (grub_error_stack_assert): Likewise.
44341 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
44342 stack depth.
44343 (grub_print_error): Added support to print errors from error stack.
44344
44345 * include/grub/err.h (grub_error_push): Added function prototype.
44346 (grub_error_pop): Likewise.
44347
be973c1b 443482005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44349
44350 * configure.ac: Accept `powerpc64' as host_cpu.
44351 (amd64): Rename to `biarch32'.
44352
44353 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44354 non-cacheline-aligned addresses.
44355
44356 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44357 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44358 if `size' is non-zero.
44359
b04216ab 443602005-12-03 Marco Gerards <mgerards@xs4all.nl>
44361
44362 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44363 and `cd' to make sure the filename is not prefixed with a
44364 directory name.
44365 (pkgdata_MODULES): Add `gpt.mod'.
44366 (gpt_mod_SOURCES): New variable.
44367 (gpt_mod_CFLAGS): Likewise.
44368 (gpt_mod_LDFLAGS): Likewise.
44369
44370 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44371
44372 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44373 New macro.
44374
44375 * partmap/gpt.c: New file.
44376
44377 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44378 GPT partition map is detected.
44379
41730ed9 443802005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44381
44382 * commands/i386/pc/play.c: New file.
44383 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44384 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44385 macros.
f19dbdb7 44386
95dc3643 443872005-11-27 Marco Gerards <mgerards@xs4all.nl>
44388
44389 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44390 ((unused))' to silence gcc warning.
44391
1569ec51 443922005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44393
44394 * configure.ac: Correct `AC_PROG_YACC' test.
44395
9abde152 443962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44397
44398 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44399 check before installing files.
44400
44b83271 444012005-11-22 Mike Small <smallm@panix.com>
44402
44403 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44404 number regex so multidigit numbers are recognized correctly.
44405
444062005-11-22 Mike Small <smallm@panix.com>
44407
44408 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44409 debugging message before attempting to claim memory.
44410 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44411 multiple addresses in case of failure.
44412
9c12956b 444132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44414
44415 * term/tparm.c (get_space): Remove empty `if' statement.
44416
44417 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44418
44419 * kern/parser.c (check_varstate): Rename `state' to 's'.
44420
aeaf81d9 444212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44422
44423 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44424 variable definitions to the beginning of each function. Sort stack
44425 variables by size.
44426 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44427 `buf' argument to `char *'.
44428
79bbb63f 444292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44430
44431 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44432 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44433 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 44434 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44435 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44436 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44437 configfile.mod, search.mod, gzio.mod and test.mod.
44438 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44439 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44440 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44441 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44442 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44443 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44444 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44445 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44446 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44447 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44448 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44449 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44450 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44451 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44452 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44453 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44454 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44455 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44456 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44457 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44458 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44459 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44460 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44461
44462 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44463 `grep --include'.
44464 (pkgdata_MODULES): Add test.mod.
44465
233b1628 444662005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44467
44468 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44469 appending to variables with "+=".
44470 (PModule): Use full pathname to generate *.lst filenames.
44471
44472 * Makefile.in: Fixed list rules moved from genmk.rb.
44473 (.DELETE_ON_ERROR): New special target.
44474 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44475
44476 * conf/i386-pc.rmk: Include conf/common.mk.
44477 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44478 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 44479 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44480 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44481 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44482 configfile.mod, search.mod, gzio.mod and test.mod.
44483 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44484 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44485 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44486 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44487 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44488 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44489 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44490 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44491 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44492 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44493 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44494 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44495 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44496 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44497 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44498 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44499 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44500 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44501 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44502 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44503 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44504 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44505 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44506 here...
44507 * conf/common.rmk: ... to here. New file.
44508
44509 * conf/common.mk: New file.
44510
16f820c8 445112005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44512
44513 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44514 (grub_script.tab.c): ... here.
44515
44516 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44517 (grub_script.tab.c): ... here.
44518
44519 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44520 (grub_script.tab.c): ... here.
44521
44522 * normal/command.c (grub_command_find): Fixed a memory leak of
44523 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44524
63ba1554 445252005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44526
44527 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44528 "@" which marks the start of a comment on ARM.
44529 (VARIABLE): Likewise.
44530
7f67dc13 445312005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44532
79bbb63f 44533 Add support for Linux/ADFS partition tables.
7f67dc13 44534
44535 * partmap/acorn.c: New file.
44536
44537 * include/grub/acorn_filecore.h: Likewise.
44538
44539 * DISTLIST: Added `partmap/acorn.c' and
44540 `include/grub/acorn_filecore.h'.
f19dbdb7 44541
7f67dc13 44542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44543 `partmap/acorn.c'.
44544 (pkgdata_MODULES): Add `acorn.mod'.
44545 (acorn_mod_SOURCES): New variable.
44546 (acorn_mod_CFLAGS): Likewise.
44547
44548 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44549 `partmap/acorn.c'.
44550 (pkgdata_MODULES): Add `acorn.mod'.
44551 (acorn_mod_SOURCES): New variable.
44552 (acorn_mod_CFLAGS): Likewise.
44553
44554 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44555 (pkgdata_MODULES): Add `acorn.mod'.
44556 (acorn_mod_SOURCES): New variable.
44557 (acorn_mod_CFLAGS): Likewise.
44558 (acorn_mod_LDFLAGS): Likewise.
44559
44560 * include/types.h (grub_disk_addr_t): New typedef.
44561
6d099807 445622005-11-13 Marco Gerards <mgerards@xs4all.nl>
44563
44564 * geninit.sh: New file.
44565
44566 * geninitheader.sh: Likewise.
44567
44568 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44569 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44570 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44571 * commands/configfile.c (grub_configfile_init)
44572 (grub_configfile_fini): Likewise.
44573 * commands/default.c (grub_default_init, grub_default_fini):
44574 Likewise.
44575 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44576 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44577 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44578 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44579 Likewise.
44580 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44581 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44582 Likewise.
44583 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 44584 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 44585 Likewise.
44586 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44587 Likewise.
fe6b695a 44588 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 44589 Likewise.
44590 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44591 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44592 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44593 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44594 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44595 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44596 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44597 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44598 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44599 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44600 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44601 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44602 * partmap/amiga.c (grub_amiga_partition_map_init)
44603 (grub_amiga_partition_map_fini): Likewise.
44604 * partmap/apple.c (grub_apple_partition_map_init)
44605 (grub_apple_partition_map_fini): Likewise.
44606 * partmap/pc.c (grub_pc_partition_map_init)
44607 (grub_pc_partition_map_fini): Likewise.
44608 * partmap/sun.c (grub_sun_partition_map_init,
44609 grub_sun_partition_map_fini): Likewise.
44610 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44611 Likewise.
44612
44613 * util/grub-emu.c: Include <grub_modules_init.h>.
44614 (main): Don't initialize and de-initialize any modules directly,
44615 use `grub_init_all' and `grub_fini_all' instead.
44616
44617 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44618 `grub_vesafb_mod_init'.
44619 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44620 all users.
44621 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44622 `grub_vga_mod_init'. Updated all users.
44623 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 44624
6d099807 44625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44626 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44627 rules.
44628
44629 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44630 Generate a function to initialize the module in utilities.
44631 Updated all callers.
44632 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44633 initialize the module in utilities. Updated all callers.
44634
9046bcf0 446352005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44636
44637 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44638 escape sequence and a literal ^L to clear the screen.
44639
44640 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44641 when returning from Open Firmware.
44642
d13ea639 446432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44644
44645 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44646 (grub_ofconsole_height): Likewise.
44647 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44648 manually insert a '\n'.
44649 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44650 `grub_ofconsole_height'. Return early if these are already set.
44651
a8fcf206 446522005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44653
44654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44655 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44656 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44657 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44658 and `normal/script.c'.
44659 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44660 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44661 (test_mod_SOURCES): New variable.
44662 (test_mod_CFLAGS): Likewise.
44663 (test_mod_LDFLAGS): Likewise.
44664 (pkgdata_MODULES): Add `test.mod'.
44665 (grub_script.tab.c): New rule.
44666 (grub_script.tab.h): Likewise.
44667
b6b32745 446682005-11-07 Marco Gerards <mgerards@xs4all.nl>
44669
44670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44671 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44672 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44673 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44674 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44675 (test_mod_SOURCES): New variable.
44676 (test_mod_CFLAGS): Likewise.
44677 (pkgdata_MODULES): Add `test.mod'.
44678 (grub_script.tab.c): New rule.
44679 (grub_script.tab.h): Likewise.
44680
daac212a 446812005-11-06 Marco Gerards <mgerards@xs4all.nl>
44682
44683 Add initial scripting support.
44684
44685 * commands/test.c: New file.
44686 * include/grub/script.h: Likewise.
44687 * normal/execute.c: Likewise.
44688 * normal/function.c: Likewise.
44689 * normal/lexer.c: Likewise.
44690 * normal/parser.y: Likewise.
44691 * normal/script.c: Likewise.
44692
44693 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 44694
daac212a 44695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44696 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44697 `normal/function.c' and `normal/script.c'.
44698 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44699 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 44700 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44701 variables.
daac212a 44702 (pkgdata_MODULES): Add `test.mod'.
44703 (grub_script.tab.c): New rule.
44704 (grub_script.tab.h): Likewise.
44705
44706 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44707
44708 * include/grub/normal.h (grub_test_init): New prototype.
44709 (grub_test_fini): Likewise.
f19dbdb7 44710
daac212a 44711 * normal/command.c: Include <grub/script.h>.
44712 (grub_command_execute): Rewritten.
f19dbdb7 44713
daac212a 44714 * util/grub-emu.c (main): Call `grub_test_init' and
44715 `grub_test_fini'.
44716
77500b2b 447172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44718
44719 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44720 to 0.
44721 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44722 there are no pending characters.
44723
e45deb9e 447242005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44725
44726 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44727 `grub_strndup' to drop device arguments. Replace unnecessary
44728 `grub_strndup' with `grub_strdup'.
44729
4ce32619 447302005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44731
44732 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44733 `debug' environment variable has been set.
44734
447352005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44736
4ce32619 44737 * Makefile.in (install-local): Use $(DATA).
44738 (uninstall): Likewise.
44739 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44740 (sbin_UTILITIES): ... to here.
44741 (sbin_SCRIPTS): New variable.
44742 (grub_install_SOURCES): New variable.
44743 * util/powerpc/ieee1275/grub-install.in: New file.
44744 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44745 variable.
44746 (add_segments): Call `grub_util_get_path'.
44747
25fe6f03 447482005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44749
44750 From Timothy Baldwin:
44751 * commands/ls.c (grub_ls_list_files): Close FILE with
44752 grub_file_close.
44753 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44754
04ccf3ec 447552005-10-24 Marco Gerards <mgerards@xs4all.nl>
44756
44757 * include/grub/parser.h: New file.
44758
44759 * kern/parser.c: Likewise.
44760
44761 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44762 (grub_setup_SOURCES): Likewise.
44763 (grub_probefs_SOURCES): Likewise.
44764 (grub_emu_SOURCES): Likewise.
44765 (kernel_img_HEADERS): Add `parser.h'.
44766
44767 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44768 (grub_emu_SOURCES): Add `kern/parser.c'.
44769 (grubof_SOURCES): Likewise.
44770
44771 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44772 (grubof_SOURCES): Add `kern/parser.c'.
44773
44774 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44775
44776 * kern/misc.c (grub_split_cmdline): Removed function.
44777
44778 * kern/rescue.c: Include <grub/parser.h>.
44779 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44780 of `grub_split_cmdline'.
44781
44782 * normal/command.c: Include <grub/parser.h>.
44783 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44784 of `grub_split_cmdline'.
44785
44786 * normal/completion.c: Include <grub/parser.h>.
44787 (cmdline_state): New variable.
44788 (iterate_dir): End the filename with a quote depending on the
44789 command line state.
44790 (get_state): new function.
44791 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44792 split the arguments and determine the current argument. When the
44793 argument string is not quoted, escape all spaces.
44794
6d8f4b0e 447952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44796
44797 * normal/sparc64/setjmp.S: New file.
44798
15cf03ed 447992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44800
44801 * include/grub/sparc64/libgcc.h: New file.
44802 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44803 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44804 normal/sparc64/setjmp.c.
44805
03e8661a 448062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44807
44808 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44809 * kern/sparc64/cache.S: New file.
44810 * kern/sparc64/cache.c: Removed.
44811 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44812 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44813 -mtune=ultrasparc.
44814 (COMMON_LDFLAGS): Add -melf64_sparc.
44815 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44816 (grubof_SOURCES): Use cache.S instead of cache.c.
44817 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44818 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44819 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44820 commented though.
44821 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44822 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44823 (linux_mod_CFLAGS): Commented out.
44824 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44825 out because module isn't built.
44826 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44827 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44828 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44829 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44830 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44831 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44832 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44833 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44834 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44835 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44836 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44837 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44838 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44839 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44840
34eeec8a 448412005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44842
44843 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44844 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44845 longer, because HFS should not be used on PC.
44846
708367a3 448472005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44848
44849 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44850 consistently within the loop.
44851
6fa1251a 448522005-10-15 Marco Gerards <mgerards@xs4all.nl>
44853
44854 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44855 directory can not be read.
44856
4801580b 448572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44858
44859 * configure.ac (AC_INIT): Increase the version number to 1.91.
44860
44861 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44862 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44863 term/i386/pc/serial.c.
44864
219ad426 448652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44866
44867 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44868 file size must be permitted.
44869
44870 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44871 between %ah and %al.
44872
688e5699 448732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44874
44875 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44876 grub_uint64_t.
44877 Call the hook with a NUL-terminated filename.
44878 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44879 grub_cpu_to_be32.
44880
44881 * kern/term.c (cursor_state): New variable.
44882 (grub_term_set_current): Reset the cursor state on a new
44883 terminal.
44884 (grub_setcursor): Rewritten to use CURSOR_STATE.
44885 (grub_getcursor): New function.
44886
44887 * include/grub/term.h (grub_getcursor): New prototype.
44888
44889 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
44890 integers on ARM. Reported by Timothy Baldwin
44891 <T.E.Baldwin99@members.leeds.ac.uk>.
44892
bb34586c 448932005-10-11 Marco Gerards <mgerards@xs4all.nl>
44894
44895 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
44896 allocated.
44897 (grub_sfs_dir): Likewise.
44898
9a909877 448992005-10-09 Marco Gerards <mgerards@xs4all.nl>
44900
44901 Add support for the SFS filesystem.
44902
44903 * fs/sfs.c: New file.
44904
44905 * DISTLIST: Added `fs/sfs.c'.
44906
44907 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
44908 (grub_probefs_SOURCES): Likewise.
44909 (grub_emu_SOURCES): Likewise.
44910 (pkgdata_MODULES): Add `sfs.mod'.
44911 (sfs_mod_SOURCES): New variable.
44912 (sfs_mod_CFLAGS): Likewise.
44913 (sfs_mod_LDFLAGS): Likewise.
44914
44915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
44916 (pkgdata_MODULES): Add `sfs.mod'.
44917 (sfs_mod_SOURCES): New variable.
44918 (sfs_mod_CFLAGS): Likewise.
44919
44920 * util/grub-emu.c (main): Call `grub_sfs_init' and
44921 `grub_sfs_fini'.
44922
44923 * include/grub/fs.h (grub_sfs_init): New prototype.
44924 (grub_sfs_fini): Likewise.
44925
57bdbde3 449262005-10-07 Marco Gerards <mgerards@xs4all.nl>
44927
44928 Add support for the AFFS filesystem.
44929
44930 * fs/affs.c: New file.
44931
44932 * DISTLIST: Added `fs/affs.c'.
44933
44934 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
44935 (grub_probefs_SOURCES): Likewise.
44936 (grub_emu_SOURCES): Likewise.
44937 (pkgdata_MODULES): Add `affs.mod'.
44938 (affs_mod_SOURCES): New variable.
44939 (affs_mod_CFLAGS): Likewise.
44940 (affs_mod_LDFLAGS): Likewise.
44941
44942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
44943 (pkgdata_MODULES): Add `affs.mod'.
44944 (affs_mod_SOURCES): New variable.
44945 (affs_mod_CFLAGS): Likewise.
44946
44947 * util/grub-emu.c (main): Call `grub_affs_init' and
44948 `grub_affs_fini'.
44949
44950 * include/grub/fs.h (grub_affs_init): New prototype.
44951 (grub_affs_fini): Likewise.
44952
047b67e0 449532005-10-01 Marco Gerards <mgerards@xs4all.nl>
44954
44955 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
44956
59b8208a 449572005-10-01 Marco Gerards <mgerards@xs4all.nl>
44958
44959 * configure.ac: Accept `x86_64' as host_cpu. In that case add
44960 `-m32' to CFLAGS.
44961
44962 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
44963 linking.
f19dbdb7 44964
59b8208a 44965 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
44966 (COMMON_LDFLAGS): New variable.
44967 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
44968 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
44969 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
44970 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
44971 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
44972 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
44973 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
44974 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
44975 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
44976 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
44977 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44978 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44979 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
44980 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
44981 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
44982 variables.
44983 (normal_mod_ASFLAGS): Add `-m32'.
44984
44985 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
44986 (grub_host_size_t, grub_host_ssize_t): New types.
44987 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 44988 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 44989 `GRUB_HOST_SIZEOF_VOID_P'.
44990
44991 * include/grub/kernel.h (struct grub_module_header): Type of
44992 member offset changed to `grub_host_off_t'. Type of member size
44993 changed to `grub_host_size_t'.
44994 (struct grub_module_info): Type of member offset changed to
44995 `grub_host_off_t'. Type of member size changed to
44996 `grub_host_size_t'.
44997
b4093103 449982005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44999
45000 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45001
b4093103 45002 * kern/i386/pc/startup.S (multiboot_header): New label.
45003 (multiboot_entry): Likewise.
45004 (multiboot_trampoline): Likewise.
45005
45006 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45007 Increased to 0x4A0.
45008
45009 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45010 put parentheses after a question mark.
45011 [!GRUB_UTIL] (my_mod): New variable.
45012
45013 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45014
b2499b29 450152005-09-28 Marco Gerards <mgerards@xs4all.nl>
45016
45017 Adds support for the XFS filesystem. Btrees are not supported
45018 yet.
45019
45020 * fs/xfs.c: New file.
45021
45022 * DISTLIST: Added `fs/xfs.c'.
45023
45024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45025 (grub_probefs_SOURCES): Likewise.
45026 (grub_emu_SOURCES): Likewise.
45027 (pkgdata_MODULES): Add `xfs.mod'.
45028 (xfs_mod_SOURCES): New variable.
45029 (xfs_mod_CFLAGS): Likewise.
45030
45031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45032 (pkgdata_MODULES): Add `xfs.mod'.
45033 (xfs_mod_SOURCES): New variable.
45034 (xfs_mod_CFLAGS): Likewise.
45035
45036 * util/grub-emu.c (main): Call `grub_xfs_init' and
45037 `grub_xfs_fini'.
45038
45039 * include/grub/fs.h (grub_xfs_init): New prototype.
45040 (grub_xfs_fini): Likewise.
45041
f19dbdb7 45042
83d37a62 450432005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45044
45045 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45046 color modes, allow greater than 16 colors to be configured as
45047 a default palette.
45048
47d2d65e 450492005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45050
45051 * normal/completion.c (complete_arguments): Add the qualifier
45052 const into OPTIONS.
45053
45054 From Omniflux <omniflux+lists@omniflux.com>:
45055 * include/grub/terminfo.h: New file.
45056 * include/grub/tparm.h: Likewise.
45057 * include/grub/i386/pc/serial.h: Likewise.
45058 * term/terminfo.c: Likewise.
45059 * term/tparm.c: Likewise.
45060 * term/i386/pc/serial.c: Likewise.
45061 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45062 serial.mod.
45063 (terminfo_mod_SOURCES): New variable.
45064 (terminfo_mod_CFLAGS): Likewise.
45065 (serial_mod_SOURCES): Likewise.
45066 (serial_mod_CFLAGS): Likewise.
45067
48b671ff 450682005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45069
45070 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45071 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45072 and kern/powerpc/ieee1275/cmain.c, respectively.
45073
45074 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45075 * kern/powerpc/ieee1275/crt0.S: ... here.
45076
45077 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45078 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45079
48b671ff 45080 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45081 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45082 instead of boot/powerpc/ieee1275/crt0.S and
45083 boot/powerpc/ieee1275/cmain.c, respectively.
45084
45085 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45086 sectors. It was not used anyway.
45087
09fc77a7 450882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45089
45090 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45091 `unused parameter' warning.
45092
003789c7 450932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45094
45095 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45096 function.
45097 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45098 getcharwidth.
45099
67f44c86 451002005-08-28 Marco Gerards <metgerards@student.han.nl>
45101
45102 * include/grub/normal.h (enum grub_completion_type): Added
45103 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45104
45105 * normal/cmdline.c (print_completion): Handle
45106 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45107 * normal/menu_entry.c (store_completion): Likewise.
45108
45109 * normal/completion.c (complete_arguments): New function.
45110 (grub_normal_do_completion): Call `complete_arguments' when the
45111 current words start with a dash.
45112
0b5abe02 451132005-08-27 Marco Gerards <metgerards@student.han.nl>
45114
45115 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45116 `gzio.mod' instead of `io.mod').
45117
d9864ee1 451182005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45119
45120 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45121 (DISTDIRS): Added io and video.
45122 Rewrite the search routine to make an output consistently.
45123
45124 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45125 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45126 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45127 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45128 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45129 util/powerpc/ieee1275/misc.c.
f19dbdb7 45130
d9864ee1 45131 * include/grub/gzio.h: New file.
45132 * io/gzio.c: Likewise.
f19dbdb7 45133
d9864ee1 45134 * kern/file.c (grub_file_close): Call grub_device_close only if
45135 FILE->DEVICE is not NULL.
45136
45137 * include/grub/mm.h [!NULL] (NULL): New macro.
45138
45139 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45140
45141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45142 (pkgdata_MODULES): Added gzio.mod.
45143 (gzio_mod_SOURCES): New variable.
45144 (gzio_mod_CFLAGS): Likewise.
45145
45146 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45147 (pkgdata_MODULES): Added gzio.mod.
45148 (gzio_mod_SOURCES): New variable.
45149 (gzio_mod_CFLAGS): Likewise.
45150
45151 * commands/cat.c: Include grub/gzio.h.
45152 (grub_cmd_cat): Use grub_gzfile_open instead of
45153 grub_file_open.
f19dbdb7 45154
d9864ee1 45155 * commands/cmp.c: Include grub/gzio.h.
45156 (grub_cmd_cmp): Use grub_gzfile_open instead of
45157 grub_file_open.
45158
45159 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45160 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45161 grub_file_open.
45162 (grub_rescue_cmd_module): Likewise.
45163
fa46f4b5 451642005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45165
45166 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45167 kern/sparc64/ieee1275/init.c because it contains _start.
45168 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45169
e9211b5d 451702005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45171
45172 * configure.ac: Add support for sparc64 host with ieee1275
45173 firmware.
45174 * configure: Generated from configure.ac.
45175 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45176 instead of int.
45177 (grub_ofdisk_read): Likewise.
45178 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45179 pointers as (void *) to remove a warning.
45180 (grub_ofdisk_close): Likewise.
45181 (grub_ofdisk_read): Likewise.
45182 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45183 returns, so make it return void to remove a warning.
45184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
45185 Corresponding prototype change.
45186 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
45187 values, and cast the pointers as (void *) to remove a warning.
45188 (grub_mm_dump): Likewise.
45189 * conf/sparc64-ieee1275.mk: New file.
45190 * conf/sparc64-ieee1275.rmk: Likewise.
45191 * include/grub/sparc64/setjmp.h: Likewise.
45192 * include/grub/sparc64/types.h: Likewise.
45193 * include/grub/sparc64/ieee1275/console.h: Likewise.
45194 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45195 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45196 * include/grub/sparc64/ieee1275/time.h: Likewise.
45197 * kern/sparc64/cache.c: Likewise.
45198 * kern/sparc64/dl.c: Likewise.
45199 * kern/sparc64/ieee1275/init.c: Likewise.
45200 * kern/sparc64/ieee1275/openfw.c: Likewise.
45201
385c6a92 452022005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45203
45204 * util/console.c (grub_ncurses_putchar): If C is greater than
45205 0x7f, set C to a question mark.
45206 (grub_ncurses_getcharwidth): New function.
45207 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
45208 getcharwidth.
45209
45210 * normal/menu.c (print_entry): Made aware of Unicode. First,
45211 convert TITLE to UCS-4, and predict the cursor position by
45212 grub_getcharwidth.
45213
45214 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
45215 const to SRC.
45216 * kern/misc.c (grub_utf16_to_utf8): Likewise.
45217
16ccb8b1 452182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45219
45220 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
45221 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45222 grub_strcat.
45223
45224 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
45225 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45226 grub_strcpy and grub_strlen. Take it into account that a space
45227 character is inserted as a delimiter.
45228
6a85ce79 452292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45230
45231 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 45232 invalid magic in the error.
6a85ce79 45233
45234 * commands/search.c: New file.
f19dbdb7 45235
6a85ce79 45236 * util/grub-emu.c (main): Call grub_search_init and
45237 grub_search_fini.
45238
45239 * kern/rescue.c (grub_rescue_print_disks): Removed.
45240 (grub_rescue_print_devices): New function.
45241 (grub_rescue_cmd_ls): Use grub_device_iterate with
45242 grub_rescue_print_devices instead of grub_disk_dev_iterate with
45243 grub_rescue_print_disks.
45244
45245 * kern/partition.c (grub_partition_iterate): Return the result of
45246 PARTMAP->ITERATE instead of GRUB_ERRNO.
45247
45248 * kern/device.c: Include grub/partition.h.
45249 (grub_device_iterate): New function.
45250
45251 * include/grub/partition.h (grub_partition_iterate): Return int
45252 instead of grub_err_t.
45253
45254 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
45255 prototype.
45256 [GRUB_UTIL] (grub_search_fini): Likewise.
45257
45258 * include/grub/device.h (grub_device_iterate): New prototype.
45259
45260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45261 commands/search.c.
45262 (pkgdata_MODULES): Added search.mod.
45263 (search_mod_SOURCES): New variable.
45264 (search_mod_CFLAGS): Likewise.
45265
45266 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
45267 (pkgdata_MODULES): Added search.mod.
45268 (search_mod_SOURCES): New variable.
45269 (search_mod_CFLAGS): Likewise.
45270
45271 * commands/ls.c (grub_ls_list_disks): Renamed to ...
45272 (grub_ls_list_devices): ... this, and use grub_device_iterate.
45273 All callers changed.
45274
45275 * DISTLIST: Added commands/search.c.
45276
ef095434 452772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45278
45279 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
45280 conversion.
45281 (grub_getcharwidth): New function.
45282
45283 * kern/misc.c (grub_utf8_to_ucs4): New function.
45284
45285 * include/grub/term.h (struct grub_term): Added a new member
45286 "getcharwidth".
45287 (grub_getcharwidth): New prototype.
45288
45289 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
45290
45291 * term/i386/pc/console.c (map_char): New function. Segregated from
45292 grub_console_putchar.
45293 (grub_console_putchar): Use map_char.
45294 (grub_console_getcharwidth): New function.
45295 (grub_console_term): Specified grub_console_getcharwidth as
45296 getcharwidth.
45297
45298 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
45299 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
45300
45301 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
45302 GRUB_ERRNO.
45303 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
45304 on grub_strtoul completely.
45305 (write_char): Declare local variables in the beginning of the
45306 function.
45307 (grub_vesafb_getcharwidth): New function.
45308 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
45309 getcharwidth.
45310
1f0a95e4 453112005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
45312
45313 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
45314 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
45315 commands/i386/pc/vbetest.c.
45316
45317 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
45318 call grub_vbe_get_controller_info again, because the returned
45319 information is volatile.
45320 (grub_vbe_set_video_mode): Mostly rewritten.
45321 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
45322 grub_vbe_status_t correctly.
45323 (grub_vbe_get_video_mode_info): Likewise.
45324 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
45325 several if statements.
45326
45327 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
45328 * commands/i386/pc/vbeinfo.c: ... this.
45329
45330 * commands/i386/pc/vbe_test.c: Renamed to ...
45331 * commands/i386/pc/vbetest.c: ... this.
45332
45333 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
45334 ...
45335 (grub_cmd_vbeinfo): ... this. Save video modes before
45336 iterating. Skip a video mode, if it is not available, not enough
45337 information is given or it is monochrome. Show the memory
45338 model. Leave the interpretation of MODEVAR to grub_strtoul
45339 completely.
45340 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
45341 (GRUB_MOD_FINI): Likewise.
45342
45343 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
45344 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
45345 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
45346 duplicated grub_env_get. Leave the interpretation of MODEVAR to
45347 grub_strtoul completely.
45348 (real2pm): Removed.
45349 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45350 (GRUB_MOD_FINI): Likewise.
45351
45352 * normal/misc.c: Include grub/mm.h.
45353
45354 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45355 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45356 (vbe_list_modes_mod_SOURCES): Removed.
45357 (vbe_list_modes_mod_CFLAGS): Likewise.
45358 (vbe_test_mod_SOURCES): Likewise.
45359 (vbe_test_mod_CFLAGS): Likewise.
45360 (vbeinfo_mod_SOURCES): New variable.
45361 (vbeinfo_mod_CFLAGS): Likewise.
45362 (vbetest_mod_SOURCES): Likewise.
45363 (vbetest_mod_CFLAGS): Likewise.
45364
992ffbbe 453652005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45366
45367 * normal/misc.c: New file.
45368
45369 * DISTLIST: Added normal/misc.c.
f19dbdb7 45370
992ffbbe 45371 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45372 DISK to HOOK. Call HOOK with DISK.
45373 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45374 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45375 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45376
45377 * normal/menu_entry.c (struct screen): Added a new member
45378 "completion_shown".
45379 (completion_buffer): New global variable.
45380 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45381 (store_completion): New function.
45382 (complete): Likewise.
45383 (clear_completions): Likewise.
45384 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45385 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45386 a tab, call complete.
45387
45388 * normal/completion.c (disk_dev): Removed.
45389 (print_simple_completion): Likewise.
45390 (print_partition_completion): Likewise.
45391 (print_func): New global variable.
45392 (add_completion): Do not take the arguments WHAT or PRINT any
45393 longer. Added a new argument TYPE. Instead of printing directly,
45394 call PRINT_FUNC if not NULL.
45395 All callers changed.
45396 (complete_device): Use a local variable DEV instead of
45397 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45398 (grub_normal_do_completion): Take a new argument HOOK. Do not
45399 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45400 empty string, return NULL instead.
45401 All callers changed.
45402
45403 * normal/cmdline.c (print_completion): New function.
45404
45405 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45406 to HOOK.
45407 All callers changed.
45408
45409 * kern/disk.c (grub_print_partinfo): Removed.
45410
45411 * include/grub/partition.h (struct grub_partition_map): Add a new
45412 argument DISK into HOOK of ITERATE.
45413 (grub_partition_iterate): Add a new argument DISK to HOOK.
45414
45415 * include/grub/normal.h (enum grub_completion_type): New enum.
45416 (grub_completion_type_t): New type.
45417 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45418 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45419 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45420 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45421 (grub_normal_do_completion): Added a new argument HOOK.
45422 (grub_normal_print_device_info): New prototype.
45423
45424 * include/grub/disk.h (grub_print_partinfo): Removed.
45425
45426 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45427 (normal_mod_SOURCES): Likewise.
45428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45429 (normal_mod_SOURCES): Likewise.
45430
45431 * commands/ls.c (grub_ls_list_disks): Use
45432 grub_normal_print_device_info instead of grub_print_partinfo. Free
45433 PNAME.
45434 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45435 duplicating the code.
45436
0bd41162 454372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45438
45439 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 45440 follow GCS more precisely.
45441 * commands/i386/pc/vbe_test.c: Likewise.
45442 * include/grub/i386/pc/vbe.h: Likewise.
45443 * term/i386/pc/vesafb.c: Likewise.
45444 * video/i386/pc/vbe.c: Likewise.
0bd41162 45445
6323696a 454462005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45447
45448 * DISTLIST: Added term/i386/pc/vesafb.c
45449 DISTLIST: Added video/i386/pc/vbe.c
45450 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45451 DISTLIST: Added commands/i386/pc/vbe_test.c.
45452 * commands/i386/pc/vbe_list_modes.c: New file.
45453 * commands/i386/pc/vbe_test.c: Likewise.
45454 * term/i386/pc/vesafb.c: Likewise.
45455 * video/i386/pc/vbe.c: Likewise.
45456 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45457 (grub_vbe_probe) Added prototype.
45458 (grub_vbe_set_video_mode) Likewise.
45459 (grub_vbe_get_video_mode) Likewise.
45460 (grub_vbe_get_video_mode_info) Likewise.
45461 (grub_vbe_set_pixel_rgb) Likewise.
45462 (grub_vbe_set_pixel_index) Likewise.
45463 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45464 (pkgdata_MODULES): Added vesafb.mod.
45465 (pkgdata_MODULES): Added vbe_list_modes.mod.
45466 (pkgdata_MODULES): Added vbe_test.mod.
45467 (vbe_mod_SOURCES): Added.
45468 (vbe_mod_CFLAGS): Likewise.
45469 (vesafb_mod_SOURCES): Likewise.
45470 (vesafb_mod_CFLAGS): Likewise.
45471 (vbe_list_modes_mod_SOURCES): Likewise.
45472 (vbe_list_modes_mod_CFLAGS): Likewise.
45473 (vbe_test_mod_SOURCES): Likewise.
45474 (vbe_test_mod_CFLAGS): Likewise.
45475
0a74e62f 454762005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45477
0a74e62f 45478 * normal/command.c (grub_command_execute): If INTERACTIVE is
45479 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45480 CMDLINE. Disable the pager if INTERACTIVE is true.
45481 All callers are changed.
45482
45483 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45484 before reading a config file.
45485 * normal/main.c (read_config_file): Even if a command is not
45486 found, register it if it is within an entry.
45487
45488 * util/grub-emu.c: Include sys/types.h and unistd.h.
45489 (options): Added --hold.
45490 (struct arguments): Added a new member "hold".
45491 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45492 missing.
45493 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45494 cleared by a debugger, if it is not zero.
45495
45496 * include/grub/normal.h (grub_command_execute): Add an argument
45497 INTERACTIVE.
45498
e51f85ae 454992005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45500
45501 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45502
e9c6f39b 455032005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45504
45505 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45506 program with another one, because the old one didn't detect a bug
45507 in gcc-3.4. Always use regparm 2, because the new test is still
45508 not enough for gcc-4.0. Someone must investigate a simple test
45509 case which detects a bug in gcc-4.0.
45510
8de3495c 455112005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45512
45513 * DISTLIST: Added normal/completion.c.
45514
45515 * normal/completion.c: New file.
f19dbdb7 45516
8de3495c 45517 * term/i386/pc/console.c (grub_console_getwh): New function.
45518 (grub_console_term): Assign grub_console_getwh to getwh.
45519
45520 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45521 function is defined in normal/completion.c as
45522 grub_normal_do_completion.
45523 (grub_cmdline_get): Use grub_normal_do_completion instead of
45524 grub_tab_complete.
45525
45526 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45527 returns non-zero, otherwise return 0.
45528 (grub_partition_iterate): First, probe the partition map. Then,
45529 call ITERATE only for this partition map.
45530
45531 * kern/misc.c (grub_strncmp): Rewritten.
45532
45533 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45534 returns non-zero. Otherwise return 0.
45535
45536 * include/grub/partition.h (grub_partition_map_iterate): Return
45537 int instead of void.
45538
45539 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45540
45541 * include/grub/misc.h (grub_strncmp): Change the type of N to
45542 grub_size_t.
45543
45544 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45545 of void.
45546
45547 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 45548 unsigned explicitly before comparing it with I.
8de3495c 45549
45550 * kern/main.c (grub_env_write_root): Add the attribute unused into
45551 VAR.
45552
45553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45554 normal/completion.c.
45555 (normal_mod_SOURCES): Likewise.
45556 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45557 (normal_mod_SOURCES): Likewise.
45558
45559 * normal/command.c (grub_iterate_commands): If ITERATE returns
45560 non-zero, return one immediately.
45561
e85e144b 455622005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45563
45564 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45565 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45566 descriptions.
45567 (grub_vbe_get_controller_info): New function.
45568 (grub_vbe_get_mode_info): Likewise.
45569 (grub_vbe_set_mode): Likewise.
45570 (grub_vbe_get_mode): Likewise.
45571 (grub_vbe_set_memory_window): Likewise.
45572 (grub_vbe_get_memory_window): Likewise.
45573 (grub_vbe_set_scanline_length): Likewise.
45574 (grub_vbe_get_scanline_length): Likewise.
45575 (grub_vbe_set_display_start): Likewise.
45576 (grub_vbe_get_display_start): Likewise.
45577 (grub_vbe_set_palette_data): Likewise.
45578 * include/grub/i386/pc/vbe.h: New file.
45579
c46153d2 455802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45581
45582 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45583 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45584 * DISTLIST: Likewise.
45585 * kern/ieee1275/of.c: Moved to ...
45586 * kern/ieee1275/ieee1275.c: ... here.
45587
0cb90c45 455882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45589
45590 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45591 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45592 Pass 0 as `end' parameter to grub_strtoul().
45593
a19fb360 455942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45595
45596 * include/grub/powerpc/ieee1275/console.h: Do not include
45597 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45598 ifdef.
45599 (grub_console_cur_color): Remove i386-specific prototype.
45600 (grub_console_real_putchar): Likewise.
45601 (grub_console_checkkey): Likewise.
45602 (grub_console_getkey): Likewise.
45603 (grub_console_getxy): Likewise.
45604 (grub_console_gotoxy): Likewise.
45605 (grub_console_cls): Likewise.
45606 (grub_console_setcursor): Likewise.
45607 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45608 Include <grub/machine/console.h>.
45609 * term/ieee1275/ofconsole.c: Likewise.
45610
4ac9bd04 456112005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45612
45613 * Makefile.in (LIBLZO): New variable.
45614
45615 * configure.ac: Check for LZO version 2.
45616
45617 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45618 lzo/lzo1x.h instead of lzo1x.h.
45619
45620 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45621 of -llzo.
45622
45623 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45624 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45625
45626 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45627 copying the data from PARTITION to P.
45628
f4917dfd 456292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45630
45631 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45632 negative, unload the module.
45633
45634 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45635 map is "pc_partition_map" but not "pc".
45636 (usage): Fix the description. The options are --boot-image and
45637 --core-image but not --boot-file or --core-file.
45638 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45639 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45640 DEFAULT_DIRECTORY.
45641
45642 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45643 --core-file. Specify INSTALL_DEVICE as an argument.
45644
45645 * util/console.c: Include config.h.
45646 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45647 [HAVE_NCURSES_H]: Include ncurses.h.
45648 [HAVE_CURSES_H]: Include curses.h.
45649 [!A_NORMAL] (A_NORMAL): Defined as zero.
45650 [!A_STANDOUT] (A_STANDOUT): Likewise.
45651
45652 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45653 -lncurses.
45654 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45655
45656 * configure.ac: Check for curses libraries and headers.
45657
45658 * Makefile.in (LIBCURSES): New variable.
45659
45660 * genmk.rb (Script::rule): Set the executable bits.
45661
45662 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45663 name of the PC partition map is "pc_partition_map" but not "pc".
45664
0e143073 456652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45666
45667 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45668 (modules): Likewise.
45669 (usage): Added descriptions for --modules and --grub-probefs.
45670 Handle --modules and --grub-probefs. Save the arguments in MODULES
45671 and GRUB_PROBEFS, respectively.
45672 Auto-detect a filesystem module against GRUBDIR. If the result is
45673 empty and modules are not specified explicitly, abort the
45674 installation. Add the result to MODULES.
45675
45676 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45677 disk/powerpc/ieee1275/ofdisk.c,
45678 include/grub/powerpc/ieee1275/init.h and
45679 term/powerpc/ieee1275/ofconsole.c.
45680 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45681 term/ieee1275/ofconsole.c.
45682
45683 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45684
45685 * COPYING: Upgraded to the latest version. Only the address of the
45686 FSF office has changed.
f19dbdb7 45687
efd6e6d5 456882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45689
45690 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45691 kern/ieee1275.c with kern/ieee1275/of.c.
45692
45693 * kern/ieee1275.c: Moved to ...
45694 * kern/ieee1275/of.c: ... here.
45695
8ceafda2 456962005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45697
45698 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 45699 readability.
8ceafda2 45700
45701 * config.guess: Updated to the latest version from gnulib.
45702 * config.sub: Likewise.
45703 * install.sh: Likewise.
45704 * mkinstalldirs: Likewise.
45705
45706 * include/grub/console.h: Removed. This file is arch-specific. Do
45707 not put this in include/grub.
45708
45709 * include/grub/i386/pc/console.h: Resurrected.
45710
45711 * util/console.c: Include grub/machine/console.h instead of
45712 grub/console.h.
45713 * util/grub-emu.c: Likewise.
45714
267f6cd9 457152005-08-04 Marco Gerards <metgerards@student.han.nl>
45716
45717 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45718 hardcoded value.
f19dbdb7 45719
267f6cd9 45720 From Vincent Pelletier <subdino2004@yahoo.fr>
45721 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45722 Redefined to use grub_getwh.
45723 (grub_term): New member named getwh.
45724 (grub_getwh): New prototype.
45725 * kern/term.c (grub_getwh): New function.
45726 * term/i386/pc/console.c (grub_console_getwh): New function.
45727 (grub_console_term): New member `getwh'.
45728 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45729 (grub_vga_term): New member `getwh'.
0b5abe02 45730 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 45731 grub_ssize_t.
45732 (grub_ofconsole_getw): New function.
45733 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45734 (grub_ofconsole_term): New field named getwh and new initial
45735 value.
45736
3be7266d 457372005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45738
45739 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45740 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45741 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45742 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45743 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45744 of <grub/machine/ieee1275.h>.
45745 * commands/ieee1275/reboot.c: Likewise.
45746 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45747 * kern/ieee1275.c: ... to here. All users updated. Change all
45748 parameter structs to use new type `grub_ieee1275_cell_t'.
45749 * term/powerpc/ieee1275/ofconsole.c: Move ...
45750 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45751 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45752 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45753 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45754 to return int.
45755 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45756 Remove unused prototypes. All users updated.
45757 * include/grub/powerpc/ieee1275/console.h: Removed.
45758 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45759 `grub_ieee1275_cell_t'.
45760 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45761 Cast comparisons with -1 to the correct type.
45762 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45763 type to match `grub_ieee1275_entry_fn'.
45764
8b5f3938 457652005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45766
45767 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45768
45769 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45770 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45771 partmap/sun.c.
45772 (grub_probefs_SOURCES): New variable.
45773
45774 * util/i386/pc/grub-probefs.c: New file.
45775
45776 * util/i386/pc/grub-setup.c (main): Call
45777 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45778 grub_hfs_init and grub_jfs_init to initialize the system. Call
45779 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45780 grub_pc_partition_map_fini to finish the system.
45781
ea409713 457822005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45783
45784 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45785 function.
45786 (grub_multiboot_load_elf32): Likewise.
45787 (grub_multiboot_is_elf64): Likewise.
45788 (grub_multiboot_load_elf64): Likewise.
45789 (grub_multiboot_load_elf): Likewise.
45790 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45791 an ELF32 or ELF64 file.
45792 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45793
45794 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45795 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45796 NULL before calling FS->LABEL.
45797 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45798 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45799 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45800 before calling FS->LABEL.
45801
141a288b 458022005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45803
45804 * util/i386/pc/grub-install.in (datadir): New variable.
45805 (libdir): Removed.
45806 (pkgdatadir): New variable.
45807 (pkglibdir): Removed.
45808
0d5f8a54 458092005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45810
45811 * DISTLIST: Added util/i386/pc/grub-install.in.
45812
45813 * util/i386/pc/grub-install.in: New file.
45814
45815 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45816 (grub_install_SOURCES): Likewise.
45817
45818 * genmk.rb: Added support for scripts.
45819 (Script): New class.
45820 (scripts): New variable.
45821
45822 * Makefile.in (install-local): Install sbin_SCRIPTS by
45823 INSTALL_SCRIPT.
45824 (uninstall): Remove sbin_SCRIPTS.
45825
45826 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45827 device, try to get a GRUB device by
45828 grub_util_biosdisk_get_grub_dev.
45829 Free DEST_DEV.
45830
45831 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45832 description for --device-map.
45833
5f968e1e 458342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45835
45836 Change the semantics of variable hooks. They now return strings
45837 instead of error values.
f19dbdb7 45838
5f968e1e 45839 * util/i386/pc/grub-setup.c: Include grub/env.h.
45840 (setup): Use grub_device_set_root instead of grub_env_set.
45841
45842 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45843 grub_env_get instead of grub_device_set_root and
45844 grub_device_get_root, respectively.
45845
45846 * kern/main.c (grub_env_write_root): New function.
45847 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45848 grub_env_set instead of grub_device_set_root.
45849
45850 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45851 many variables.
45852 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45853 rather than calling ENV->WRITE_HOOK afterwards.
45854 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45855 passing a pointer of a pointer.
45856 (grub_register_variable_hook): Change the types of "read_hook" and
45857 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45858 respectively.
45859 Allocate the default empty string on the heap, because this string
45860 may be freed later.
45861
45862 * kern/device.c: Include grub/env.h.
45863 (grub_device_set_root): Removed.
45864 (grub_device_get_root): Likewise.
45865 (grub_device_open): Use grub_env_get instead of
45866 grub_device_get_root.
45867
45868 * include/grub/env.h (grub_env_read_hook_t): New type.
45869 (grub_env_write_hook_t): Likewise.
45870 (grub_env_var): Change the types of "read_hook" and "write_hook"
45871 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45872 (grub_register_variable_hook): Likewise.
45873
45874 * include/grub/device.h (grub_device_set_root): Removed.
45875 (grub_device_set_root): Likewise.
45876
45877 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45878 make sure that DIRNAME terminates with '/', so that
45879 grub_fat_find_dir will fail if PATH is not a directory.
45880
45881 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45882 from DIRNAME.
45883 Use the qualifier auto for print_files and print_files_long.
45884 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45885 as a regular file.
45886 Put a newline only if there is no error.
45887 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45888 used.
45889
896f0afd 458902005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45891
45892 * kern/partition.c (grub_partition_probe): Initialize PART to
45893 NULL. Otherwise, when no partition map is registered, this returns
45894 a garbage.
45895
b28b81b2 458962005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
45897
45898 * partmap/apple.c (apple_partition_map_iterate): Check if POS
45899 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
45900 valid.
45901
5f3607e0 459022005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
45903
45904 * commands/ls.c (grub_ls_list_disks): Print the filesystem
45905 information on each device, if it does not have partitions. Print
45906 "Device" instead of "Disk", because this function is not specific
45907 to disk devices.
45908
45909 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
45910 static to ensure that it is put on the memory rather than a
45911 register.
45912
502c87e8 459132005-07-17 Yoshinori Okuji <okuji@enbug.org>
45914
45915 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
45916 (grub_cat_init): Likewise.
45917 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
45918 (options): Likewise.
45919 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
45920 (grub_configfile_init): Likewise.
45921 * font/manager.c (GRUB_MOD_INIT): Likewise.
45922 * commands/help.c (GRUB_MOD_INIT): Likewise.
45923 (grub_help_init): Likewise.
45924 * normal/command.c (grub_command_init): Likewise.
45925 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
45926 * disk/loopback.c (grub_loop_init): Likewise.
45927 (GRUB_MOD_INIT): Likewise.
45928 * commands/ls.c (grub_ls_init): Likewise.
45929 (GRUB_MOD_INIT): Likewise.
45930 (options): Likewise.
45931 * commands/boot.c (grub_boot_init): Likewise.
45932 (GRUB_MOD_INIT): Likewise.
45933 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
45934 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
45935 (GRUB_MOD_INIT): Likewise.
45936 * commands/cmp.c (grub_cmp_init): Likewise.
45937 (GRUB_MOD_INIT): Likewise.
45938
45939 * normal/arg.c: Use <> instead of "" to include header files.
45940 (SHORT_ARG_HELP): New macro.
45941 (SHORT_ARG_USAGE): Likewise.
45942 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
45943 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
45944 descriptions.
45945 (find_short): Check if C is 'h' or 'u' explicitly.
45946 (grub_arg_show_help): Use space characters instead of tabs. Treat
45947 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
45948 are shown with --help and --usage only if they are not used for
45949 the command itself.
45950 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
45951 'h' and 'u'.
45952
45953 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
45954 const into "longarg". Change the type of "shortarg" to int.
45955
f806d18e 459562005-07-17 Yoshinori Okuji <okuji@enbug.org>
45957
45958 * boot/i386/pc/boot.S (boot_drive_check): New label.
45959
45960 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
45961 macro.
45962
45963 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
45964 which do not pass a boot drive correctly. Copied from GRUB Legacy.
45965
e293232b 459662005-07-17 Yoshinori Okuji <okuji@enbug.org>
45967
45968 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
45969 When turning off Gate A20, skip the check and return immediately,
45970 because this is not fatal usually.
45971
ebedfd00 459722005-07-17 Yoshinori Okuji <okuji@enbug.org>
45973
45974 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
45975 be 0x7C00 instead of 0x8000.
45976
45977 * boot/i386/pc/pxeboot.S: Rewritten.
45978
45979 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
45980 EXT_C.
45981 (gate_a20_check_state): Read a byte from 0x108000. Invert the
45982 result.
45983
654fc59f 459842005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
45985
45986 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
45987 robustness. This routine now supports a BIOS call and System
45988 Control Port A to modify the gate A20.
45989
45990 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45991 Increased to 0x440.
45992
09f9923f 459932005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45994
45995 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45996 device path and resulting ihandle.
45997 (grub_ofdisk_close): dprintf the ihandle being closed.
45998 (grub_ofdisk_read): dprintf function parameters.
45999 * kern/mm.c (grub_mm_init_region): Likewise.
46000 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46001 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46002 size, and boot arguments.
46003 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46004 before loading into memory.
46005 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46006 before loading into memory.
46007
7ef504d8 460082005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46009
46010 * kern/mm.c: Added much documentation.
46011 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46012 8, set to 5 instead of 8.
46013
e0f050c2 460142005-07-10 Yoshinori Okuji <okuji@enbug.org>
46015
46016 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46017
46018 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46019 (grub_mkdevicemap_SOURCES): New variable.
46020
46021 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46022 lib/device.c of GRUB Legacy.
46023
7224189a 460242005-07-10 Yoshinori Okuji <okuji@enbug.org>
46025
46026 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46027 instead of PATH is NULL.
46028
68c864eb 460292005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46030
46031 * commands/cmp.c (BUFFER_SIZE): New macro.
46032 (grub_cmd_cmp): Close the right file at the right time. Compare
46033 only data just read. Don't report files of different size as
46034 identical. Dynamically allocate buffers. Move variable
46035 declarations at the beginning of function.
46036
e6f3e614 460372005-07-09 Yoshinori Okuji <okuji@enbug.org>
46038
46039 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46040 reverse.
46041
f8f1559a 460422004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46043
46044 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46045 when backspace is pressed at beginning of line.
46046
39c9d41d 460472005-07-03 Yoshinori Okuji <okuji@enbug.org>
46048
46049 * DISTLIST: Added genfslist.sh.
46050
46051 * normal/main.c (fs_module_list): New variable.
46052 (autoload_fs_module): New function.
46053 (read_fs_list): Likewise.
46054 (grub_normal_execute): Call read_fs_list.
46055
46056 * kern/fs.c (grub_fs_autoload_hook): New variable.
46057 (grub_fs_probe): Added support for auto-loading.
46058
46059 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46060 (grub_fs_module_list_t): New type.
46061
46062 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46063 (grub_fs_autoload_hook): New prototype.
46064
46065 * genfslist.sh: New file.
f19dbdb7 46066
39c9d41d 46067 * genmk.rb: Added a rule to generate a filesystem list.
46068
121c1d83 460692005-06-30 Marco Gerards <metgerards@student.han.nl>
46070
46071 * configure.ac: Fix the test for cross-compiling.
46072
46073 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46074 define GRUB_UTIL anymore.
46075
46076 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46077 so this function works on other systems than just big endian.
46078 (load_modules): Likewise.
46079 (add_segments): Likewise.
46080
e75d76e1 460812005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46082
46083 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46084 contains `l' modifier, get a long from va_arg().
46085
50b5a0a7 460862005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46087
46088 * kern/mm.c (grub_free): If the next free block which is being
46089 merged is the first free block, set the first block to the block
46090 being freed.
46091 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46092
89371b20 460932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46094
46095 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46096 `grub_ieee1275_chosen'.
46097
168d6e58 460982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46099
46100 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46101 (grub_ieee1275_chosen): New variable.
46102 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46103 `chosen'.
46104 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46105 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46106 Rename first argument to `phandle' for consistency.
46107 (grub_ieee1275_get_property_length): Likewise.
46108 (grub_ieee1275_next_property): Likewise. Change type of first argument
46109 to grub_ieee1275_phandle_t.
46110 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46111 Move export next to declaration.
46112 (grub_ieee1275_chosen): New variable.
46113 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46114 Correct cosmetic typo.
46115 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46116 `grub_ieee1275_chosen'.
46117 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46118 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46119 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46120 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46121 `grub_ieee1275_chosen'.
46122
ca5baa3f 461232005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46124
46125 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46126 /chosen/bootargs.
46127 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46128 /chosen/bootargs as "variable=value" pairs.
46129
708b345f 461302005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46131
46132 * include/grub/misc.h (grub_dprintf): New macro.
46133 (grub_real_dprintf): New prototype.
46134 (grub_strword): Likewise.
46135 (grub_iswordseparator): Likewise.
46136 * kern/misc.c (grub_real_dprintf): New function.
46137 (grub_strword): Likewise.
46138 (grub_iswordseparator): Likewise.
46139
f4c5e67c 461402005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46141
46142 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46143 (roundup): Remove macro.
46144 (grub_ieee1275_flags): Make static.
46145 (grub_ieee1275_realmode): Remove.
46146 (grub_ieee1275_test_flag): New function.
46147 (grub_ieee1275_set_flag): Likewise.
46148 (find_options): Rename to `grub_ieee1275_find_options'; update
46149 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46150 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46151 (cmain): New prototype.
46152 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46153 `grub_ieee1275_flags' directly.
46154 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46155 machine/biosdisk.h.
46156 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46157 Don't include grub/machine/init.h.
46158 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46159 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46160 Remove prototype.
46161 (grub_ieee1275_realmode): Likewise.
46162 (grub_ieee1275_flag): New enum.
46163 (grub_ieee1275_test_flag): New prototype.
46164 (grub_ieee1275_set_flag): New prototype.
46165 * include/grub/powerpc/ieee1275/init.h: Remove file.
46166 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46167 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46168 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46169 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46170 comment.
46171 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46172 `grub_ieee1275_test_flag'.
46173 (grub_ieee1275_encode_devname): Likewise.
46174
ed16607e 461752005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46176
46177 * include/grub/powerpc/ieee1275/ieee1275.h
46178 (grub_ieee1275_encode_devname): New prototype.
46179 (grub_ieee1275_get_filename): Likewise.
46180 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46181 function.
46182 (grub_set_prefix): Likewise.
46183 (grub_machine_init): Call grub_set_prefix.
46184 * kern/powerpc/ieee1275/openfw.c: Fix typos.
46185 (grub_parse_type): New enum.
46186 (grub_ieee1275_get_devargs): New function.
46187 (grub_ieee1275_get_devname): Likewise.
46188 (grub_ieee1275_parse_args): Likewise.
46189 (grub_ieee1275_get_filename): Likewise.
46190 (grub_ieee1275_encode_devname): Likewise.
46191
be369920 461922005-03-30 Marco Gerards <metgerards@student.han.nl>
46193
46194 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
46195 `grub_loader_unset'.
46196
a5ce3a4a 461972005-03-26 Hollis Blanchard <hollis@penguinppc.org>
46198
46199 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
46200 instead of grub_ieee1275_interpret.
46201 (grub_halt_init): New function.
46202 (grub_halt_fini): Likewise.
46203 (GRUB_MOD_INIT): Correct message grammar.
46204 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
46205 instead of grub_ieee1275_interpret.
46206 (grub_reboot_init): New function.
46207 (grub_reboot_fini): Likewise.
46208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
46209 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
46210 util/i386/pc/misc.c with commands/ieee1275/halt.c,
46211 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
46212 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
46213 function.
46214 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
46215 Add prototype.
46216 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
46217 prototype.
46218 (grub_halt): Likewise.
46219 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
46220 (cmain): Remove __attribute__((unused)).
46221 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
46222 (grub_heap_len): Likewise.
46223 (grub_machine_fini): New function.
46224 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
46225 (grub_halt): Likewise.
46226 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
46227 function.
46228 * util/powerpc/ieee1275/misc.c: New file.
46229
0058f771 462302005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46231
46232 * DISTLIST: New file.
46233 * gendistlist.sh: Likewise.
f19dbdb7 46234
0058f771 46235 * Makefile.in (COMMON_DISTFILES): Removed.
46236 (BOOT_DISTFILES): Likewise.
46237 (CONF_DISTFILES): Likewise.
46238 (DISK_DISTFILES): Likewise.
46239 (FS_DISTFILES): Likewise.
46240 (INCLUDE_DISTFILES): Likewise.
46241 (KERN_DISTFILES): Likewise.
46242 (LOADER_DISTFILES): Likewise.
46243 (TERM_DISTFILES): Likewise.
46244 (UTIL_DISTFILES): Likewise.
46245 (DISTFILES): Likewise.
46246 (uninstall): Uninstall files in $(pkgdata_DATA).
46247 (DISTLIST): New target.
46248 (distdir): Use the contents of the file DISTLIST to get a list of
46249 distributed files.
46250
46b3b8a5 462512005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46252
46253 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
46254 descriptor. This is ported from GRUB Legacy.
46255
46256 * gencmdlist.sh: Added an extra semicolon to make it work with
46257 old sed versions. Reported by Robert Bihlmeyer
46258 <robbe@orcus.priv.at>.
46259
5822ff87 462602005-03-08 Yoshinori Okuji <okuji@enbug.org>
46261
46262 Automatic loading of commands is supported.
f19dbdb7 46263
5822ff87 46264 * normal/main.c (read_command_list): New function.
46265 (grub_normal_execute): Call read_command_list.
46266
46267 * normal/command.c (grub_register_command): Return zero or CMD.
46268 Allocate CMD->NAME from the heap.
46269 Initialize CMD->MODULE_NAME to zero.
46270 Find the same name as well. If the same command is found and it is
46271 a dummy command, overwrite members. If it is not a dummy command,
46272 return zero.
46273 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
46274 (grub_command_find): If a dummy command is found, load a module
46275 and retry to find a command only once.
46276
46277 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
46278 make sure that each command is loaded.
46279
46280 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
46281 macro.
46282 (struct grub_command): Remove const from the member `name'.
46283 Add a new member `module_name'.
46284 (grub_register_command): Return grub_command_t.
46285
46286 * commands/help.c (grub_cmd_help): Call grub_command_find to make
46287 sure that each command is loaded.
46288
46289 * genmk.rb (PModule::rule): Specify a module name without the
46290 suffix ".mod" to gencmdlist.sh.
46291
7b1f4b57 462922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46293
46294 * gencmdlist.sh: New file.
f19dbdb7 46295
7b1f4b57 46296 * genmk.rb (PModule::rule): Generate a rule for a command list.
46297 Clean command.lst.
46298 Generate command.lst from $(COMMANDFILES).
46299
46300 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
46301 (DATA): Added $(pkgdata_DATA).
46302 (install-local): Install files in $(pkgdata_DATA).
46303
062aaf39 463042005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46305
46306 * term/i386/pc/vga.c (debug_command): Removed.
46307 (GRUB_MOD_INIT): Do not register the command "debug".
46308
46309 From Hollis Blanchard:
46310 * commands/configfile.c: New file.
46311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46312 commands/configfile.c.
46313 (pkgdata_MODULES): Added configfile.mod.
46314 (configfile_mod_SOURCES): New variable.
46315 (configfile_mod_CFLAGS): Likewise.
46316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46317 commands/configfile.c.
46318 (pkgdata_MODULES): Added configfile.mod.
46319 (configfile_mod_SOURCES): New variable.
46320 (configfile_mod_CFLAGS): Likewise.
46321 * util/grub-emu.c (main): Call grub_configfile_init and
46322 grub_configfile_fini.
46323 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
46324 prototype.
46325 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 46326
cee01aa6 463272005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46328
46329 * normal/arg.c (grub_arg_show_help): Do not show the bug report
46330 address.
46331
46332 * commands/help.c (grub_cmd_help): Do not print newlines after
46333 the last command in print_command_help.
46334
93f3a1d8 463352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46336
46337 * commands/default.h: New file.
46338 * commands/timeout.h: Likewise.
46339 * normal/context.c: Likewise.
f19dbdb7 46340
93f3a1d8 46341 * util/misc.c: Do not include sys/times.h.
46342 Include sys/time.h and grub/machine/time.h.
46343 (grub_get_rtc): Rewritten with gettimeofday.
46344
46345 * util/grub-emu.c (main): Call grub_default_init and
46346 grub_timeout_init before grub_normal_init, and call
46347 grub_timeout_fini and grub_default_fini after grub_main.
46348
46349 * util/console.c (grub_ncurses_checkkey): Return the read
46350 character or -1.
46351
46352 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46353 timeouts.
46354
46355 * normal/main.c (read_config_file): Push MENU. If this fails,
46356 print an error and wait for a user input.
46357 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46358 If a menu is empty or an error occurs, pop MENU.
46359 (grub_normal_execute): Pop and free MENU after grub_menu_run
46360 returns.
46361
46362 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46363
46364 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46365 include time.h.
46366 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46367 without GRUB_UTIL.
46368 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46369 time.h.
46370 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46371 without GRUB_UTIL.
46372
46373 * include/grub/normal.h (struct grub_menu_list): New struct.
46374 (grub_menu_list_t): New type.
46375 (struct grub_context): New struct.
46376 (grub_context_t): New type.
46377 (grub_register_command): Got rid of EXPORT_FUNC.
46378 (grub_unregister_command): Likewise.
46379 (grub_context_get): New prototype.
46380 (grub_context_get_current_menu): Likewise.
46381 (grub_context_push_menu): Likewise.
46382 (grub_context_pop_menu): Likewise.
46383 [GRUB_UTIL] (grub_default_init): Likewise.
46384 [GRUB_UTIL] (grub_default_fini): Likewise.
46385 [GRUB_UTIL] (grub_timeout_init): Likewise.
46386 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46387
46388 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46389 commands/timeout.c and normal/context.c.
46390 (pkgdata_MODULES): Added default.mod and timeout.mod.
46391 (normal_mod_SOURCES): Added normal/context.c.
46392 (default_mod_SOURCES): New variable.
46393 (default_mod_CFLAGS): Likewise.
46394 (timeout_mod_SOURCES): Likewise.
46395 (timeout_mod_CFLAGS): Likewise.
46396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46397 conf/i386-pc.rmk.
46398 (pkgdata_MODULES): Added default.mod and timeout.mod.
46399 (normal_mod_SOURCES): Added normal/context.c.
46400 (default_mod_SOURCES): New variable.
46401 (default_mod_CFLAGS): Likewise.
46402 (timeout_mod_SOURCES): Likewise.
46403 (timeout_mod_CFLAGS): Likewise.
46404
46405 * Makefile.in (all-local): Added $(MKFILES).
46406
4ed2e1dd 464072005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46408
46409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46410 (grub_emu_SOURCES): Likewise.
46411 (pkgdata_MODULES): Add `sun.mod'.
46412 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46414 `partmap/sun.c'.
46415 (pkgdata_MODULES): Add `sun.mod'.
46416 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46417 * include/grub/partition.h (grub_sun_partition_map_init): New
46418 prototype.
46419 (grub_sun_partition_map_fini): Likewise.
46420 * partmap/sun.c: New file.
46421 * util/grub-emu.c (main): Initialize and de-initialize the sun
46422 partitionmap support.
46423
4d4e372e 464242005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46425
46426 This implements an Emacs-like menu entry editor.
f19dbdb7 46427
4d4e372e 46428 * normal/menu_entry.c: New file.
f19dbdb7 46429
4d4e372e 46430 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46431 characters to ASCII.
46432 (saved_char): New variable.
46433 (grub_ncurses_checkkey): Rewritten completely.
46434 (grub_ncurses_getkey): Likewise.
46435 (grub_ncurses_init): Call raw instead of cbreak.
46436
46437 * normal/menu.c (print_entry): Do not put a space.
46438 (init_page): Renamed to ...
46439 (grub_menu_init_page): ... this. All callers changed.
46440 (edit_menu_entry): Removed.
46441 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46442
46443 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46444
46445 * kern/misc.c (grub_vprintf): Call grub_refresh.
46446
46447 * normal/menu.c (DISP_LEFT): Renamed to ...
46448 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46449 * normal/menu.c (DISP_UP): Renamed to ...
46450 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46451 * normal/menu.c (DISP_RIGHT): Renamed to ...
46452 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46453 * normal/menu.c (DISP_DOWN): Renamed to ...
46454 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46455 * normal/menu.c (DISP_HLINE): Renamed to ...
46456 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46457 * normal/menu.c (DISP_VLINE): Renamed to ...
46458 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46459 * normal/menu.c (DISP_UL): Renamed to ...
46460 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46461 * normal/menu.c (DISP_UR): Renamed to ...
46462 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46463 * normal/menu.c (DISP_LL): Renamed to ...
46464 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46465 * normal/menu.c (DISP_LR): Renamed to ...
46466 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46467 * normal/menu.c (TERM_WIDTH): Renamed to ...
46468 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46469 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46470 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46471 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46472 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46473 * normal/menu.c (TERM_MARGIN): Renamed to ...
46474 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46475 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46476 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46477 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46478 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46479 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46480 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46481 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46482 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46483 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46484 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46485 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46486 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46487 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46488 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46489 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46490 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46491 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46492 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46493 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46494 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46495 All callers changed.
46496
46497 * include/grub/normal.h: New prototype.
46498
46499 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46500 normal/menu_entry.c.
46501 (normal_mod_SOURCES): Likewise.
46502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46503 (normal_mod_SOURCES): Likewise.
46504
e6b92c8a 465052005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46506
46507 * include/grub/normal.h (grub_halt_init): New prototype.
46508 (grub_halt_fini): Likewise.
46509 (grub_reboot_init): Likewise.
46510 (grub_reboot_fini): Likewise.
46511
46512 * util/grub-emu.c: Include signal.h.
46513 (main_env): New global variable.
46514 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46515 catch C-c.
46516 (grub_machine_fini): New function.
46517 (main): Call grub_halt_init and grub_reboot_init before
46518 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46519 Call setjmp with MAIN_ENV to go back afterwards.
46520 Call grub_machine_fini right before return.
46521
46522 * include/grub/util/misc.h: Include setjmp.h.
46523 (main_env): New prototype.
46524
46525 * include/grub/kernel.h (grub_machine_fini): New prototype.
46526 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46527 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46528
46529 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46530 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46531 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 46532
e6b92c8a 46533 * util/i386/pc/misc.c: New file.
f19dbdb7 46534
e6b92c8a 46535 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46536 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46537 commands/i386/pc/reboot.c.
46538
c642636f 465392005-02-14 Guillem Jover <guillem@hadrons.org>
46540
46541 * include/grub/dl.h (grub_dl_check_header): New prototype.
46542 (grub_arch_dl_check_header): Change return type to grub_err_t,
46543 remove size parameter and export function. Update all callers.
46544 * kern/dl.c (grub_dl_check_header): New function.
46545 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46546 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46547 are inside the core.
46548 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46549 independent ELF header checks.
46550 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46551 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46552 `grub_dl_check_header' instead of explicit checks. Check for the
46553 ELF type.
46554 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46555 `grub_dl_check_header' instead of explicit checks. Remove arch
46556 specific ELF header checks.
46557
e6b92c8a 46558 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46559 argument SIZE.
46560
5eabe94b 465612005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46562
46563 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46564 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46565
1b14a681 465662005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46567
46568 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 46569 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 46570 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 46571 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 46572 * partmap/amiga.c (amiga_partition_map_iterate): Return
46573 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46574 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46575
aca108aa 465762005-02-01 Guillem Jover <guillem@hadrons.org>
46577
46578 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46579 help info.
46580
c9f9c556 465812005-01-31 Marco Gerards <metgerards@student.han.nl>
46582
46583 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46584 Removed prototype.
46585 (grub_rescue_cmd_linux): New prototype.
46586 (grub_rescue_cmd_initrd): Likewise.
46587 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46588 `bi_rec'.
46589 (grub_linux_release_mem): Release the memory for the initrd.
46590 (grub_load_linux): Renamed from this...
46591 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46592 Changed `entry' not to be static. Loop over memory regions to
46593 find another one when the default fails.
46594 (grub_rescue_cmd_initrd): New function.
46595 (grub_linux_init): Remove function.
46596 (grub_linux_fini): Likewise.
46597 (GRUB_MOD_INIT): Register `initrd'.
46598 (GRUB_MOD_FINI): Unregister `initrd'.
46599 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46600 Function removed.
46601 (grub_linux_normal_fini): Likewise.
46602 (GRUB_MOD_INIT): Register `initrd'.
46603 (GRUB_MOD_FINI): Unregister `initrd'.
46604
990cf3aa 466052005-01-31 Marco Gerards <metgerards@student.han.nl>
46606
46607 * commands/help.c: New file.
46608 * normal/arg.c (show_help): Renamed to...
46609 (grub_arg_show_help): ... this.
46610 * commands/i386/pc/halt.c: New file.
46611 * commands/i386/pc/reboot.c: Likewise.
46612 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46613 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46614 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46615 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46616 variables.
46617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46618 `commands/help.c'.
46619 (pkgdata_MODULES): Add `help.mod'.
46620 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46621 * grub/i386/pc/init.h (grub_reboot): New prototype.
46622 (grub_halt): Likewise.
46623 * include/grub/normal.h (grub_arg_show_help): New prototype.
46624 (grub_help_init): Likewise.
46625 (grub_help_fini): Likewise.
46626 * util/grub-emu.c (main): Initialize and deinitialize the help
46627 command.
46628
46629 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46630
46631 * normal/command.c (grub_command_init): Fixed the description of
46632 the `set' and `unset' commands.
46633
466342005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 46635
46636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46637 function.
46638 * commands/ieee1275/halt.c: New file.
46639 * commands/ieee1275/reboot.c: Likewise.
46640 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46641 `__attribute__ ((unused))'. Some GCS related fixed.
46642 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46643 (grub_suspend_fini): Likewise.
46644 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46645 and `halt.mod'.
46646 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46647 (halt_mod_CFLAGS): New variables.
46648 * include/grub/powerpc/ieee1275/ieee1275.h
46649 (grub_ieee1275_interpret): New prototype.
46650
1ab09cc7 466512005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46652
46653 * include/grub/misc.h (memmove): New prototype.
46654 (memcpy): Likewise.
46655
8b8cbdb2 466562005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46657
46658 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46659 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46660
e3741a27 466612005-01-22 Marco Gerards <metgerards@student.han.nl>
46662
46663 * kern/misc.c (grub_strndup): Function rewritten.
46664
776bd780 466652005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46666
46667 * normal/menu.c (TERM_WIDTH): Macro redefined.
46668 (TERM_TOP_BORDER_Y): Likewise.
46669 (draw_border): Replaced while-loop by a for-loop. Make the number
46670 of lines consistent with the number of lines displayed in
46671 print_entries. Added a margin below the rectangle.
46672 (print_entry): Make the entry fit in the rectangle.
46673 (print_entries): Display the scroll arrows next to the right
46674 border.
46675
78026bce 466762005-01-21 Marco Gerards <metgerards@student.han.nl>
46677
46678 * fs/minix.c (grub_minix_find_file): Reserve more space for
46679 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46680 `grub_strncpy' to copy `path' into it.
46681
67bbaf0f 466822005-01-21 Marco Gerards <metgerards@student.han.nl>
46683
46684 Add the loopback device, a device via which files can be accessed
46685 as devices.
f19dbdb7 46686
67bbaf0f 46687 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46688 (pkgdata_MODULES): Add loopback.mod.
46689 (loopback_mod_SOURCES): New variable.
46690 (loopback_mod_CFLAGS): Likewise.
46691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46692 `disk/loopback.c'.
46693 (pkgdata_MODULES): Add loopback.mod.
46694 (loopback_mod_SOURCES): New variable.
46695 (loopback_mod_CFLAGS): Likewise.
46696 * disk/loopback.c: new file.
46697 * include/grub/normal.h (grub_loop_init): New prototype.
46698 (grub_loop_fini): New prototype.
46699 * util/grub-emu.c (main): Initialize and de-initialize loopback
46700 support.
46701 * include/grub/disk.h (grub_disk_dev_id): Add
46702 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46703
6f1c18bd 467042005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46705
46706 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46707 function.
46708 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46709 (suspend_mod_SOURCES): New variable.
46710 (suspend_mod_CFLAGS): Likewise.
46711 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46712 New prototype.
46713 * commands/ieee1275/suspend.c: New file.
46714
b38551da 467152005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46716
46717 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 46718 ((unused))' to `__attribute__ ((used))'.
b38551da 46719 (GRUB_MOD_FINI): Likewise.
46720 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46721 * genmk.rb (PModule): Assign space to common symbols when linking
46722 modules.
46723
777aff39 467242005-01-20 Marco Gerards <metgerards@student.han.nl>
46725
46726 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46727 `unsigned' arguments to `grub_size_t'.
46728 (grub_malloc): Likewise.
46729 (grub_realloc): Likewise.
46730 (grub_memalign): Likewise.
46731 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46732 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46733 * util/misc.c (grub_malloc): Likewise.
46734 (grub_realloc): Likewise.
46735 * kern/mm.c (get_header_from_pointer): Change the casts to
46736 `unsigned' into a cast to `grub_size_t'.
46737
46738 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46739 point to `currnode' when `currnode' is changed.
46740
46741 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46742 Schottelius <nico-linux@schottelius.org>.
46743
d0ff18e1 467442005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46745
46746 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46747 (note_path): Remove variable.
46748 (GRUB_IEEE1275_NOTE_NAME): New macro.
46749 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46750 (grub_ieee1275_note_hdr): New structure.
46751 (grub_ieee1275_note_desc): Likewise.
46752 (grub_ieee1275_note): Likewise.
46753 (load_note): Remove `dir' argument. All callers updated. Remove
46754 `note_img' and `path'. Do not load a file from `note_path'.
46755 Initialize a struct grub_ieee1275_note and write that to `out'.
46756 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46757
4ca7004c 467582005-01-05 Marco Gerards <metgerards@student.han.nl>
46759
46760 * util/misc.c (grub_util_read_image): Revert last change. It
46761 called `grub_util_read_at', which seeks from the beginning of the
46762 file.
46763
0b412211 467642005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46765
46766 * TODO: Add note about endianness in grub-mkimage.
46767 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46768 section.
46769 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46770 (grub_mkimage_SOURCES): New target.
46771 * include/grub/kernel.h (grub_start_addr): Remove variable.
46772 (grub_end_addr): Likewise.
46773 (grub_total_module_size): Likewise.
46774 (grub_kernel_image_size): Likewise.
46775 (GRUB_MODULE_MAGIC): New constant.
46776 (grub_module_info): New structure.
46777 (grub_arch_modules_addr): New prototype.
46778 (grub_get_end_addr): Remove prototype.
46779 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46780 * include/grub/powerpc/ieee1275/kernel.h: New file.
46781 * include/grub/util/misc.h (grub_util_get_fp_size): New
46782 prototype.
46783 (grub_util_read_at): Likewise.
46784 (grub_util_write_image_at): Likewise.
46785 * kern/main.c (grub_get_end_addr): Remove function.
46786 (grub_load_modules): Call grub_arch_modules_addr instead of using
46787 grub_end_addr. Look for a grub_module_info struct in memory. Use
46788 the grub_module_info fields instead of calling grub_get_end_addr
46789 as loop conditions. Move grub_add_unused_region code here.
46790 (grub_add_unused_region): Remove function.
46791 * kern/i386/pc/init.c: Include grub/cache.h.
46792 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46793 one call to add_mem_region.
46794 (grub_arch_modules_addr): New function.
46795 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46796 (grub_total_module_size): Likewise.
46797 Include grub/machine/kernel.h.
46798 (grub_arch_modules_addr): New function.
46799 * util/grub-emu.c (grub_end_addr): Remove variable.
46800 (grub_total_module_size): Likewise.
46801 (grub_arch_modules_addr): New function.
46802 * util/misc.c: Include unistd.h.
46803 (grub_util_get_fp_size): New function.
46804 (grub_util_read_at): Likewise.
46805 (grub_util_write_image_at): Likewise.
46806 (grub_util_read_image): Call grub_util_read_at.
46807 (grub_util_write_image): Call grub_util_write_image_at.
46808 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46809 additional memory in kernel_img for a struct grub_module_info.
46810 Fill in that grub_module_info.
46811 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46812
458786f8 468132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46814
46815 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46816 New function.
46817 * include/grub/powerpc/ieee1275/ieee1275.h
46818 (grub_ieee1275_milliseconds): New prototype.
46819 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46820 Change to 1000.
46821 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46822 grub_ieee1275_milliseconds.
46823
ac507d1b 468242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46825
46826 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46827 variable.
46828 (find_options): New function.
46829 (cmain): Call find_options.
46830 * include/grub/powerpc/ieee1275/ieee1275.h
46831 (grub_ieee1275_realmode): New extern variable.
46832 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46833 grub_map if grub_ieee1275_realmode is false.
46834
6b8fd1c4 468352004-12-29 Marco Gerards <metgerards@student.han.nl>
46836
46837 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46838 lines are inserted and make it work like readline. Reported by
46839 Vincent Pelletier <subdino2004@yahoo.fr>.
46840
8514a1e0 468412004-12-28 Marco Gerards <metgerards@student.han.nl>
46842
46843 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46844
46845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46846 `kern/powerpc/cache.S'.
46847
924b6140 468482004-12-27 Marco Gerards <metgerards@student.han.nl>
46849
46850 * genmk.rb: Handle the `Program' class in the main loop. Written
46851 by Johan Rydberg <jrydberg@gnu.org>.
46852 (Program): New class.
46853 (programs): New variable.
46854 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46855 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46856 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46857 (help_arch): Function removed.
46858 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46859 `powerpc/libgcc.h' and `loader.h'.
46860 (pkgdata_PROGRAMS): New variable.
46861 (sbin_UTILITIES): Variable removed.
46862 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46863 (grubof_SOURCES): Variable re-defined so it only includes the
46864 core functionality.
46865 (grubof_CFLAGS): Remove `-DGRUBOF'.
46866 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46867 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46868 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46869 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46870 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46871 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46872 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46873 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46874 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46875 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46876 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46877 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46878 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46879 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46880 (pc_mod_CFLAGS): New variables.
46881 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46882 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46883 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46884 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46885 Moved from here...
46886 * include/grub/i386/pc/init.h (grub_os_area_addr)
46887 (rub_os_area_size): ... to here.
46888 * include/grub/powerpc/ieee1275/ieee1275.h
46889 (grub_ieee1275_entry_fn): Export symbol.
46890 * include/grub/powerpc/ieee1275/init.h: New file.
46891 * include/grub/powerpc/libgcc.h: Likewise.
46892 * include/grub/cache.h: Likewise.
46893 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
46894 <hollis@penguinppc.org>.
46895 * kern/dl.c: Include <grub/cache.h>.
46896 (grub_dl_flush_cache): New function.
46897 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
46898 for this module.
46899 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
46900 (grub_console_init): Removed prototypes.
46901 (grub_machine_init): Don't initialize the modules anymore.
46902 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
46903 static.
46904 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
46905 Macro undef removed.
46906 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
46907 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
46908 relocation `R_PPC_REL32'. Return an error when the relocation is
46909 unknown.
46910 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
46911 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
46912 * util/misc.c (grub_arch_sync_caches): Likewise.
46913
e4b47e0c 469142004-12-19 Marco Gerards <metgerards@student.han.nl>
46915
46916 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
46917 `symlist.c', add `grubof_symlist.c'.
46918 (symlist.c): Variable removed.
46919 (grubof_HEADERS): Variable added.
46920 (grubof_symlist.c): New target.
46921 (kernel_syms.lst): Use `grubof_HEADERS' instead of
46922 `kernel_img_HEADERS'.
46923 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
46924 * kern/powerpc/dl.c: New file.
46925 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
46926 Function removed.
46927 (grub_arch_dl_relocate_symbols): Likewise.
46928 (grub_register_exported_symbols): Likewise.
46929
4ceb3636 469302004-12-13 Marco Gerards <metgerards@student.han.nl>
46931
46932 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
46933 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
46934 to fail instead. Reported by Vincent Pelletier
46935 <subdino2004@yahoo.fr>.
46936
46937 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
46938 it is not allocated. Reported by Vincent Pelletier
46939 <subdino2004@yahoo.fr>.
46940
46941 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
46942 output so the output looks better.
f19dbdb7 46943
3f1578fe 469442004-12-04 Marco Gerards <metgerards@student.han.nl>
46945
46946 Modulize the partition map support and add support for the amiga
46947 partition map.
f19dbdb7 46948
3f1578fe 46949 * commands/ls.c: Include <grub/partition.h> instead of
46950 <grub/machine/partition.h>.
46951 * kern/disk.c: Likewise.
46952 * kern/rescue.c: Likewise.
46953 * loader/i386/pc/chainloader.c: Likewise.
46954 * normal/cmdline.c: Likewise.
46955 * kern/powerpc/ieee1275/init.c: Likewise.
46956 (grub_machine_init): Call `grub_pc_partition_map_init',
46957 `grub_amiga_partition_map_init' and
46958 `grub_apple_partition_map_init'.
46959 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
46960 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
46961 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
46962 `partition.h' and `pc_partition.h'.
46963 (grub_setup_SOURCES): Remove
46964 `disk/i386/pc/partition.c'. Add `kern/partition.c',
46965 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46966 (grub_emu_SOURCES): Likewise.
46967 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
46968 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
46969 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
46970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46971 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
46972 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46973 (grubof_SOURCES): Likewise.
46974 * disk/i386/pc/partition.c: File removed.
46975 * disk/powerpc/ieee1275/partition.c: Likewise.
46976 * include/grub/powerpc/ieee1275/partition.h: Likewise.
46977 * include/grub/i386/pc/partition.h: Likewise.
46978 * kern/partition.c: New file.
46979 * partmap/amiga.c: Likewise.
46980 * partmap/apple.c: Likewise.
46981 * partmap/pc.c: Likewise.
46982 * include/grub/partition.h: Likewise..
46983 * include/grub/pc_partition.h: Likewise.
46984 * util/grub-emu.c: Include <grub/partition.h> instead of
46985 <grub/machine/partition.h>.
46986 (main): Call `grub_pc_partition_map_init',
46987 `grub_amiga_partition_map_init' and
46988 `grub_apple_partition_map_init' and deinitialize afterwards.
46989 * util/i386/pc/biosdisk.c: Include `#include
46990 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46991 `<grub/machine/partition.h>'.
46992 * util/i386/pc/grub-setup.c: Likewise.
46993 * util/i386/pc/biosdisk.c: Likewise.
46994 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46995 partition information in case of a PC partition.
46996 * util/i386/pc/grub-setup.c: Include `#include
46997 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46998 `<grub/machine/partition.h>'.
46999 (setup): Only access the PC specific partition information in case
47000 of a PC partition.
47001
0ef4ced9 470022004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47003
0ef4ced9 47004 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47005 (grub_longjmp): Likewise.
47006 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47007 20.
47008 * normal/powerpc/setjmp.S: New file.
47009 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47010 `normal/powerpc/setjmp.S'.
47011 (grubof_CFLAGS): Add `-DGRUBOF'.
47012 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47013 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47014
19950e29 470152004-11-16 Marco Gerards <metgerards@student.han.nl>
47016
47017 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47018 property named `name'. Correctly handle the error returned by
47019 `grub_ieee1275_finddevice' if a device can not be opened.
47020
a2fea427 470212004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47022
47023 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47024 `actual' for negativity.
47025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47026 kern/fshelp.c.
47027
41ea0ea3 470282004-11-01 Marco Gerards <metgerards@student.han.nl>
47029
47030 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47031 (PAGE_OFFSET): New macro.
47032 (CRTC_ADDR_PORT): Likewise.
47033 (CRTC_DATA_PORT): Likewise.
47034 (START_ADDR_HIGH_REGISTER): Likewise.
47035 (START_ADDR_LOW_REGISTER): Likewise.
47036 (GRAPHICS_ADDR_PORT): Likewise.
47037 (GRAPHICS_DATA_PORT): Likewise.
47038 (READ_MAP_REGISTER): Likewise.
47039 (INPUT_STATUS1_REGISTER): Likewise.
47040 (INPUT_STATUS1_VERTR_BIT): Likewise.
47041 (page): New variable.
47042 (wait_vretrace): New function.
47043 (set_read_map): Likewise.
47044 (set_start_address): Likewise.
47045 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47046 the right page.
47047 (check_vga_mem): Take the page into account.
47048 (write_char): Likewise.
47049 (write_cursor): Likewise.
47050 (scroll_up): Likewise. Copy the page to the page that is not
47051 shown and switch between both pages.
47052 (grub_vga_putchar): Fix off by one error.
47053 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47054 account.
47055
ad0bd20b 470562004-11-01 Marco Gerards <metgerards@student.han.nl>
47057
47058 Add support for iso9660 (including rockridge).
f19dbdb7 47059
ad0bd20b 47060 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47061 (iso9660_mod_SOURCES): New variable.
47062 (iso9660_mod_CFLAGS): Likewise.
47063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47064 * include/grub/fs.h (grub_iso9660_init): New prototype.
47065 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47066 * fs/iso9660.c: New file.
47067
47068 * include/grub/misc.h (grub_strncat): New prototype.
47069 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47070
ad0bd20b 47071 * fs/hfs.c (grub_hfs_mount): Translate the error
47072 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47073 * fs/jfs.c (grub_jfs_mount): Likewise.
47074 * fs/ufs.c (grub_ufs_mount): Likewise.
47075
a5477a59 470762004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47077
47078 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47079 which initialized BAT registers.
47080 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47081 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47082 Move from here...
47083 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47084 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47085 ... to here.
47086 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47087 (grub_mapclaim): Likewise.
47088 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47089 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47090 hand.
47091
9304c1f8 470922004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47093
47094 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47095 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47096 -ffreestanding and -msoft-float.
47097
86f4ae25 470982004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47099
47100 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47101 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47102 set in grub_ieee1275_flags.
47103
38912228 471042004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47105
47106 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47107 prototype.
47108 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47109 grub_console_init first.
47110 Change the memory range used for grub_ieee1275_claim and
47111 grub_mm_init_region.
47112 Print an error message if the claim fails.
47113 Include <grub/misc.h>.
47114
d1923dc8 471152004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47116
47117 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47118 Call grub_children_iterate for device nodes of type `scsi',
47119 `ide', or `ata'.
47120 (grub_ofdisk_open): Remove manual device alias resolution.
47121 Fix memory leak when device cannot be opened.
f19dbdb7 47122 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 47123 (grub_children_iterate): New prototype.
47124 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47125 New function.
47126 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47127 Return -1 if args.size was -1.
47128
4512e4f3 471292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47130
47131 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47132 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47133 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47134 Open Firmware's memory for it; claim memory from _start to _end.
47135 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47136 (_end): New extern.
47137 (_start): Zero BSS from __bss_start to _end.
47138 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47139 New extern.
47140 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47141
4d61feb0 471422004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47143
ad0bd20b 47144 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47145 -1 if args.base was -1.
4d61feb0 47146
026fa2f9 471472004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47148
47149 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47150 escape sequence instead of a literal ^L. Also call
47151 grub_ofconsole_gotoxy.
47152
9f2220ef 471532004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47154
47155 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47156 void * arguments to grub_addr_t. All callers updated. Also make
47157 the `result' argument optional.
47158 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47159 All callers updated.
47160
8a572cd7 471612004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47162
47163 * commands/ls.c (grub_ls_list_files): Use the string following the
47164 initial ')', if present, as the filesystem path.
47165 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47166
47167 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47168
18aa81f2 471692004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47170
47171 Make the source code of the menu interface more readable.
f19dbdb7 47172
18aa81f2 47173 * normal/menu.c: Include grub/mm.h.
47174 (TERM_WIDTH): New macro.
47175 (TERM_HEIGHT): Likewise.
47176 (TERM_INFO_HEIGHT): Likewise.
47177 (TERM_MARGIN): Likewise.
47178 (TERM_SCROLL_WIDTH): Likewise.
47179 (TERM_TOP_BORDER_Y): Likewise.
47180 (TERM_LEFT_BORDER_X): Likewise.
47181 (TERM_BORDER_WIDTH): Likewise.
47182 (TERM_MESSAGE_HEIGHT): Likewise.
47183 (TERM_BORDER_HEIGHT): Likewise.
47184 (TERM_NUM_ENTRIES): Likewise.
47185 (TERM_FIRST_ENTRY_Y): Likewise.
47186 (TERM_ENTRY_WIDTH): Likewise.
47187 (TERM_CURSOR_X): Likewise.
47188 (draw_border): Use macros instead of magic numbers.
47189 (print_entry): Likewise.
47190 (print_entries): Likewise.
47191 (run_menu): Likewise. Also, handle the key 'e'.
47192 (run_menu_entry): Ignore empty command lines.
47193 (print_message): Added a new argument EDIT. If EDIT is true,
47194 print a different message.
47195 (init_page): Likewise.
47196 (edit_menu_entry): New function. Not implemented yet.
47197
b47efe30 471982004-09-17 Marco Gerards <metgerards@student.han.nl>
47199
47200 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
47201 can be loaded from normal mode.
f19dbdb7 47202
b47efe30 47203 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
47204 `multiboot.mod'.
47205 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
47206 (multiboot_mod_CFLAGS): New variables.
47207 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 47208 * loader/i386/pc/multiboot_normal.c: Likewise.
47209
b47efe30 47210 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47211 attribute `unused'.
f19dbdb7 47212
b47efe30 47213 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
47214 `fdiro' to read the mode information from instead of `diro'.
47215
47216 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
47217 looking up a symlink.
47218
47219 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
47220 macro.
47221 * normal/command.c (grub_command_execute): Don't parse the
47222 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
47223 flags of the command.
47224
47225 * normal/menu.c (grub_menu_run): Fix typo.
47226
da75ac71 472272004-09-14 Hollis Blanchard <hollis@penguinppc.org>
47228
47229 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
47230
47231 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
47232 `y + 1' instead of `y - 1'.
47233
47234 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 47235
062b24c2 472362004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
47237
47238 From Hollis Blanchard <hollis@penguinppc.org>:
47239 * kern/misc.c (memmove): New alias for grub_memmove.
47240 (memcmp): New alias for grub_memcmp.
47241 (memset): New alias for grub_memset.
f19dbdb7 47242 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 47243 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 47244 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 47245 (grub_ieee1275_get_property): Likewise.
f19dbdb7 47246
8ddad845 472472004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
47248
47249 Added normal mode command `chainloader' as module chain.mod, which
47250 depends on normal.mod and _chain.mod.
f19dbdb7 47251
8ddad845 47252 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
47253 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
47254 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
47255 Deleted prototype.
47256 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
47257 but arguments parsing moved to ...
47258 (grub_chainloader_cmd): ... here. New function.
47259 * include/grub/i386/pc/chainloader.h: New file.
47260 * loader/i386/pc/chainloader_normal.c: Likewise.
47261
2c1f4ce3 472622004-09-11 Marco Gerards <metgerards@student.han.nl>
47263
47264 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
47265 (grub_mkimage_LDFLAGS): Likewise.
47266 (grub_emu_SOURCES): Likewise.
47267 (kernel_img_HEADERS): Added fshelp.h.
47268 * fs/ext2.c: Include <grub/fshelp.h>.
47269 (FILETYPE_REG): New macro.
47270 (FILETYPE_INO_REG): Likewise.
47271 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
47272 Changed all users.
47273 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
47274 all users.
47275 (grub_fshelp_node): New struct.
47276 (grub_ext2_data): Added member `diropen'. Changed member `inode'
47277 to a pointer.
47278 (grub_ext2_get_file_block): Removed function.
47279 (grub_ext2_read_block): New function.
47280 (grub_ext2_read_file): Replaced parameter `data' by `node'.
47281 This function was written.
47282 (grub_ext2_mount): Read the root inode. Create a diropen struct.
47283 (grub_ext2_find_file): Removed function.
47284 (grub_ext2_read_symlink): New function.
47285 (grub_ext2_iterate_dir): Likewise.
47286 (grub_ext2_open): Rewritten.
47287 (grub_ext2_dir): Rewritten.
47288 * include/grub/fshelp.h: New file.
47289 * fs/fshelp.c: Likewise.
47290
3c52136a 472912004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
47292
47293 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
47294 (print_message): Add a missing newline.
47295 (run_menu): Added timeout support.
47296 (run_menu_entry): New local function.
47297 (grub_menu_run): Added support for booting.
47298
47299 * kern/loader.c (grub_loader_is_loaded): New function.
47300
47301 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
47302 (grub_get_rtc): Exported.
47303
47304 * include/grub/i386/pc/time.h: Include grub/symbol.h.
47305 (grub_get_rtc): Exported.
47306
47307 * include/grub/normal.h (struct grub_command_list): Remove
47308 constant from the member `command'.
47309
47310 * include/grub/loader.h (grub_loader_is_loaded): Declared.
47311
47312 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
47313
47314 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
47315
aa033560 473162004-08-28 Marco Gerards <metgerards@student.han.nl>
47317
47318 Add support for the JFS filesystem.
47319
47320 * fs/jfs.c: New file.
47321 * include/grub/fs.h (grub_jfs_init): New prototype.
47322 (grub_jfs_fini): New prototype.
47323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
47324 (grub_emu_SOURCES): Likewise.
47325 (pkgdata_MODULES): Add jfs.mod.
47326 (jfs_mod_SOURCES): New variable.
47327 (jfs_mod_CFLAGS): Likewise.
47328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
47329 (grubof_SOURCES): Likewise.
47330 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
47331
47332 * fs/fat.c (grub_fat_find_dir): Convert the filename little
47333 endian to the host endian.
47334 (grub_fat_utf16_to_utf8): Move function from there...
47335 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 47336 the endianness of the source string anymore.
aa033560 47337 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47338
94bc45af 473392004-08-24 Marco Gerards <metgerards@student.han.nl>
47340
47341 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
47342 (grub_boot_fini) [GRUB_UTIL]: Likewise.
47343 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
47344 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 47345
94bc45af 47346 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
47347 (grub_hfs_iterate_dir): Make the function static. Add prototypes
47348 for `node_found' and `it_dir'.
47349 (grub_hfs_dir): Add prototype for `dir_hook'.
47350
47351 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47352 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47353 and `indir32' to silence a gcc warning.
47354
47355 * include/grub/fs.h (grub_hfs_init): New prototype.
47356 (grub_hfs_fini): Likewise.
f19dbdb7 47357
47358
97543f08 473592004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47360
47361 Each disk device has its own id now. This is useful to make use
47362 of multiple disk devices.
f19dbdb7 47363
97543f08 47364 * include/grub/disk.h (grub_disk_dev_id): New enum.
47365 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47366 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47367
47368 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47369 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47370
47371 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47372 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47373
47374 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47375 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47376
47377 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47378 "id" which is used by the cache manager.
47379
47380 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47381 of just "GRUB".
47382
64372eb4 473832004-08-18 Marco Gerards <metgerards@student.han.nl>
47384
47385 * fs/hfs.c: New file.
47386 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47387 (grub_emu_SOURCES): Likewise.
47388 (pkgdata_MODULES): Add hfs.mod.
47389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47390 (grubof_SOURCES): Likewise.
47391 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47392
47393 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47394 * kern/misc.c (grub_strncasecmp): Add function.
47395
cc61b58f 473962004-08-14 Marco Gerards <metgerards@student.han.nl>
47397
47398 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47399 with parentheses.
47400
47401 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47402 (grub_ext2_dir): In case the directory entry type is unknown, read
47403 it from the inode.
47404
0ef123f6 474052004-08-02 Peter Bruin <pjbruin@dds.nl>
47406
47407 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47408 grub_load_linux instead of grub_rescue_cmd_linux as second
47409 argument of grub_rescue_register_command.
47410
47411 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47412
a447c5df 474132004-07-27 Marco Gerards <metgerards@student.han.nl>
47414
47415 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47416 function.
47417 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47418 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47419 `loader/powerpc/ieee1275/linux.c',
47420 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47421 * include/grub/powerpc/ieee1275/ieee1275.h
47422 (grub_ieee1275_release): New prototype.
47423 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47424 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47425 normal, boot, linux and linux_normal.
47426 * loader/powerpc/ieee1275/linux.c: New file.
47427 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47428
5a9e3546 474292004-07-12 Marco Gerards <metgerards@student.han.nl>
47430
47431 * normal/arg.c (grub_arg_parse): Correct error handling after
47432 reallocating the argumentlist (check if `argl' is not null instead
47433 of checking if `args' is not null).
47434 * kern/mm.c (grub_realloc): Return the same pointer when using the
47435 same region, instead of returning the header address.
47436
e15199cb 474372004-07-11 Marco Gerards <metgerards@student.han.nl>
47438
47439 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47440 one block instead of two when looking for the initial partition.
47441 (grub_partition_probe): Initialize the local variable `p' with 0.
47442 Use base 10 for the grub_strtoul call.
47443 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47444 need for one local variable.
47445 (grub_strtoul): Don't add the new value to `num', instead of that
47446 just assign it.
47447
020616c2 474482004-07-11 Marco Gerards <metgerards@student.han.nl>
47449
47450 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47451 (pxeboot_img_SOURCES): New variable.
47452 (pxeboot_img_ASFLAGS): Likewise.
47453 (pxeboot_img_LDFLAGS): Likewise.
47454 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47455 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47456 <lode_leroy@hotmail.com>.
47457
6c51eb64 474582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47459
47460 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47461 there was no input.
47462
cfb12aff 474632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47464
47465 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47466 the history buffer logic.
47467
6eabba74 474682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47469
47470 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47471 (FILETYPE_INO_SYMLINK): New macros.
47472 (grub_ext2_find_file): Check if the node is a directory using the
47473 inode stat information instead of using the filetype in the
47474 dirent. Exclude the first character of an absolute symlink.
47475 (grub_ext2_dir): Mask out the filetype part of the mode member of
47476 the inode.
47477
66e19ef8 474782004-05-24 Marco Gerards <metgerards@student.han.nl>
47479
47480 Add support for UFS version 1 and 2. Add support for the minix
47481 filesystem version 1 and 2, both the variants with 14 and 30 long
47482 filenames.
f19dbdb7 47483
66e19ef8 47484 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47485 fs/minix.c.
47486 (grub_emu_SOURCES): Likewise.
47487 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47488 (ufs_mod_SOURCES): New variable.
47489 (ufs_mod_CFLAGS): Likewise.
47490 (minix_mod_SOURCES): Likewise.
47491 (minix_mod_CFLAGS): Likewise.
47492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47493 fs/minix.c.
47494 (grubof_SOURCES): Likewise.
47495 * fs/ufs.c: New file.
47496 * fs/minix.c: New file.
47497 * include/grub/fs.h (grub_ufs_init): New prototype.
47498 (grub_ufs_fini): Likewise.
47499 (grub_minix_init): Likewise.
47500 (grub_minix_fini): Likewise.
47501 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47502 minix fs.
47503
cc2e748a 475042004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47505
47506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47507 commands/ls.c, commands/terminal.c, commands/boot.c,
47508 commands/cmp.c and commands/cat.c.
47509 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47510
47511 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47512 "env.h"
47513
4b13b216 475142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47515
47516 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47517 and grub_, respectively. Because the conversion is trivial and
47518 mechanical, I omit the details here. Please refer to the CVS
47519 if you need more information.
47520
6a142551 475212004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47522
47523 * include/pupa: Renamed to ...
47524 * include/grub: ... this.
47525 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47526 * util/i386/pc/grub-mkimage.c: ... this.
47527 * util/i386/pc/pupa-setup.c: Renamed to ...
47528 * util/i386/pc/grub-setup.c: ... this.
47529 * util/pupa-emu.c: Renamed to ...
47530 * util/grub-emu.c: ... this.
47531
e56cdf21 475322004-03-29 Marco Gerards <metgerards@student.han.nl>
47533
47534 Add support for the newworld apple macintosh (PPC). This has been
47535 tested on the powerbook 2000 only. It only adds support for
47536 generic ieee1275 functions, console and disk support. This should
47537 be easy to port to other architectures with support for Open
47538 Firmware.
f19dbdb7 47539
e56cdf21 47540 * configure.ac: Accept the powerpc as host_cpu. In the case of
47541 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47542 specific tests are only executed while building for the i386.
47543 Inverse test for crosscompile.
47544 * genmk.rb (Utility): Allow assembler files.
47545 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47546 * conf/powerpc-ieee1275.rmk: New file.
47547 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47548 * disk/powerpc/ieee1275/partition.c: Likewise.
47549 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47550 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47551 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47552 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47553 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47554 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47555 * include/pupa/powerpc/ieee1275/loader.h
47556 * include/pupa/powerpc/setjmp.h: Likewise.
47557 * include/pupa/powerpc/types.h: Likewise.
47558 * kern/powerpc/ieee1275/init.c: Likewise.
47559 * kern/powerpc/ieee1275/openfw.c: Likewise.
47560 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47561
47562 These files were written by Johan Rydberg
47563 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 47564
e56cdf21 47565 * boot/powerpc/ieee1275/cmain.c: New file.
47566 * boot/powerpc/ieee1275/crt0.S: Likewise.
47567 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47568 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47569
8c8cc205 475702004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47571
47572 * Makefile.in: Update copyright.
47573 * genmodsrc.sh: Likewise.
47574 * gensymlist.sh: Likewise.
47575 * term/i386/pc/vga.c: Indent correctly.
47576
47577 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47578 bugreporting address.
47579 * util/i386/pc/pupa-setup.c (usage): Likewise,
47580 (main): Call pupa_ext2_init and pupa_ext2_fini.
47581
f19dbdb7 47582 * fs/fat.c (log2): Renamed to ...
8c8cc205 47583 (fat_log2): ... this.
47584 All callers changed.
47585 * kern/misc.c (memcpy): Alias to pupa_memmove.
47586 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47587 lvalue cast.
47588 * util/console.c (pupa_ncurses_fini): Return 0.
47589
47590 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47591 Move fail label here.
47592 [__GNU__]: Don't warn when using stat.
47593 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47594 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47595 long int. Use strtol instead of strtoul.
f19dbdb7 47596
db1771cf 475972004-03-14 Marco Gerards <metgerards@student.han.nl>
47598
47599 * commands/boot.c: New file.
47600 * commands/cat.c: Likewise.
47601 * commands/cmp.c: Likewise.
47602 * commands/ls.c: Likewise.
47603 * commands/terminal.c: Likewise.
47604 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47605 (pupa_register_command): Changed interface to match the new
47606 argument parser.
47607 (pupa_command_execute): Changed (almost rewritten) so it uses
47608 pupa_split_command. Added support for setting variables using the
47609 syntax `foo=bar'.
47610 (rescue_command): Changed to work with the new argument parser.
47611 (terminal_command): Moved from here to commands/terminal.c.
47612 (set_command): New function.
47613 (unset_command): New function.
47614 (insmod_command): New function.
47615 (rmmod_command): New function.
47616 (lsmod_command): New function.
47617 (pupa_command_init): Don't initialize the command terminal
47618 anymore. Initialize the commands set, unset, insmod, rmmod and
47619 lsmod.
47620 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47621 (kernel_img_HEADERS): Add arg.h and env.h.
47622 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47623 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47624 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47625 normal/arg.c.
47626 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47627 terminal.mod.
47628 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47629 (boot_mod_SOURCES): New variable.
47630 (terminal_mod_SOURCES): Likewise.
47631 (ls_mod_SOURCES): Likewise.
47632 (cmp_mod_SOURCES): Likewise.
47633 (cat_mod_SOURCES): Likewise.
47634
47635 * normal/arg.c: New file.
47636 * kern/env.c: Likewise.
47637 * include/pupa/arg.h: Likewise.
47638 * include/pupa/env.h: Likewise.
47639 * font/manager.c (font_command): Changed to match argument parsing
47640 interface changes.
47641 (PUPA_MOD_INIT): Likewise.
47642 * hello/hello.c (pupa_cmd_hello): Likewise.
47643 (PUPA_MOD_INIT): Likewise.
47644 * include/pupa/disk.h: Include <pupa/device.h>.
47645 (pupa_print_partinfo): New prototype.
47646 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47647 (pupa_dl_get_prefix): Likewise.
47648 * include/pupa/misc.h: Include <pupa/err.h>.
47649 (pupa_isgraph): New prototype.
47650 (pupa_isdigit): Likewise.
47651 (pupa_split_cmdline): Likewise.
47652 * include/pupa/normal.h: Include <pupa/arg.h>.
47653 (pupa_command): Changed the prototype of the member `func' to
47654 match the argument parsing interface. Added member `options'.
47655 (pupa_register_command): Updated to match function.
47656 (pupa_arg_parse): New prototype.
47657 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47658 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47659 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47660 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47661 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47662 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47663 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47664 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47665 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47666 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47667 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47668 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47669 * kern/disk.c: Include <pupa/file.h>.
47670 (pupa_print_partinfo): New function.
47671 * kern/dl.c: Include <pupa/env.h>.
47672 (pupa_dl_dir): Variable removed.
47673 (pupa_dl_load): Use the environment variable `prefix' instead of
47674 the variable pupa_dl_dir.
47675 (pupa_dl_set_prefix): Function removed.
47676 (pupa_dl_get_prefix): Likewise.
47677 * kern/i386/pc/init.c: Include <pupa/env.h>.
47678 (pupa_machine_init): Use the environment variable `prefix' instead of
47679 using pupa_dl_set_prefix to set the prefix.
47680 * kern/main.c: Include <pupa/env.h>.
47681 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47682 using pupa_dl_get_prefix to get the prefix.
47683 * kern/misc.c: Include <pupa/env.h>.
47684 (pupa_isdigit): New function.
47685 (pupa_isgraph): Likewise.
47686 (pupa_ftoa): Likewise.
47687 (pupa_vsprintf): Added support for printing values of the type
47688 `double'. Make it possible to format variable output when using
47689 formatting like `%1.2%f'.
47690 (pupa_split_cmdline): New function.
47691 * kern/rescue.c: Include <pupa/env.h>.
47692 (next_word): Removed function.
47693 (pupa_rescue_cmd_prefix): Likewise.
47694 (pupa_rescue_cmd_set): New function.
47695 (pupa_rescue_cmd_unset): New function.
47696 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47697 split the command line instead of splitting it here. Added
47698 support for setting variables using the syntax `foo=bar'. Don't
47699 initialize the prefix command anymore. Initialized the set and
47700 unset commands.
47701 * normal/cmdline.c: Include <pupa/env.h>.
47702 (pupa_tab_complete): Added prototypes for print_simple_completion,
47703 print_partition_completion, add_completion, iterate_commands,
47704 iterate_dev, iterate_part and iterate_dir. Moved code to print
47705 partition information from here to kern/disk.c.
fe6b695a 47706 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 47707 * normal/main.c: Include <pupa/env.h>.
47708 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47709 instead of using pupa_dl_get_prefix to get the prefix.
47710 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47711 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47712 warning.
47713 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47714 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47715 ((unused))' to silence a gcc warning.
47716 (pupa_vga_setcolor): Likewise.
47717 (debug_command): Changed to match argument parsing
47718 interface changes.
47719 * util/pupa-emu.c: Include <pupa/env.h>.
47720 (options): Added 0's for unused fields to silence a gcc warning.
47721 (argp): Likewise.
47722 (main): Use the environment variable `prefix' instead of using
47723 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47724 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47725 and terminal.
47726
47727 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47728 * util/misc.c: Include <malloc.h>.
47729 (pupa_malloc): Rewritten so errors are correctly reported.
47730 (pupa_realloc): Likewise.
47731 (pupa_memalign): Likewise.
47732 (pupa_mm_init_region): Declare unused variables with
47733 `__attribute__ ((unused))' to silence a gcc warning.
47734 * normal/i386/setjmp.S: Remove tab at the end of the file to
47735 silence a gcc warning.
47736 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47737 variables with `__attribute__ ((unused))' to silence a gcc
47738 warning.
47739 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47740 local variable i unsigned to silence a gcc warning.
47741
47742 * kern/term.c: Include <pupa/misc.h>.
47743 (pupa_more_lines): New variable.
47744 (pupa_more): Likewise.
47745 (pupa_putcode): When the pager is active pause at the end of every
47746 screen.
47747 (pupa_set_more): New function.
47748 * include/pupa/term.h (pupa_set_more): New prototype.
47749
47750
3b1139cb 477512004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47752
47753 Now this project is GRUB 2 rather than PUPA. The location of
47754 the CVS repository was moved to GRUB's.
f19dbdb7 47755
3b1139cb 47756 * configure.ac: Use bug-grub as the reporting address.
47757 Use GRUB instead of PUPA.
47758 Change the version number to 1.90.
47759
8367695c 477602004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47761
47762 * genkernsyms.sh: Updated copyright information.
47763 * genmk.rb: Likewise.
47764 * genmodsrc.sh: Likewise.
47765 * gensymlist.sh: Likewise.
47766 * boot/i386/pc/boot.S: Likewise.
47767 * boot/i386/pc/diskboot.S: Likewise.
47768 * disk/i386/pc/biosdisk.c: Likewise.
47769 * disk/i386/pc/partition.c: Likewise.
47770 * font/manager.c: Likewise.
47771 * fs/ext2.c: Likewise.
47772 * fs/fat.c: Likewise.
47773 * include/pupa/boot.h: Likewise.
47774 * include/pupa/device.h: Likewise.
47775 * include/pupa/disk.h: Likewise.
47776 * include/pupa/dl.h: Likewise.
47777 * include/pupa/elf.h: Likewise.
47778 * include/pupa/err.h: Likewise.
47779 * include/pupa/file.h: Likewise.
47780 * include/pupa/font.h: Likewise.
47781 * include/pupa/fs.h: Likewise.
47782 * include/pupa/kernel.h: Likewise.
47783 * include/pupa/loader.h: Likewise.
47784 * include/pupa/misc.h: Likewise.
47785 * include/pupa/mm.h: Likewise.
47786 * include/pupa/net.h: Likewise.
47787 * include/pupa/normal.h: Likewise.
47788 * include/pupa/rescue.h: Likewise.
47789 * include/pupa/setjmp.h: Likewise.
47790 * include/pupa/symbol.h: Likewise.
47791 * include/pupa/term.h: Likewise.
47792 * include/pupa/types.h: Likewise.
47793 * include/pupa/i386/setjmp.h: Likewise.
47794 * include/pupa/i386/types.h: Likewise.
47795 * include/pupa/i386/pc/biosdisk.h: Likewise.
47796 * include/pupa/i386/pc/boot.h: Likewise.
47797 * include/pupa/i386/pc/console.h: Likewise.
47798 * include/pupa/i386/pc/init.h: Likewise.
47799 * include/pupa/i386/pc/kernel.h: Likewise.
47800 * include/pupa/i386/pc/linux.h: Likewise.
47801 * include/pupa/i386/pc/loader.h: Likewise.
47802 * include/pupa/i386/pc/memory.h: Likewise.
47803 * include/pupa/i386/pc/multiboot.h: Likewise.
47804 * include/pupa/i386/pc/partition.h: Likewise.
47805 * include/pupa/i386/pc/time.h: Likewise.
47806 * include/pupa/i386/pc/vga.h: Likewise.
47807 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47808 * include/pupa/util/getroot.h: Likewise.
47809 * include/pupa/util/misc.h: Likewise.
47810 * include/pupa/util/resolve.h: Likewise.
47811 * kern/device.c: Likewise.
47812 * kern/disk.c: Likewise.
47813 * kern/dl.c: Likewise.
47814 * kern/err.c: Likewise.
47815 * kern/file.c: Likewise.
47816 * kern/fs.c: Likewise.
47817 * kern/loader.c: Likewise.
47818 * kern/main.c: Likewise.
47819 * kern/misc.c: Likewise.
47820 * kern/mm.c: Likewise.
47821 * kern/rescue.c: Likewise.
47822 * kern/term.c: Likewise.
47823 * kern/i386/dl.c: Likewise.
47824 * kern/i386/pc/init.c: Likewise.
47825 * kern/i386/pc/lzo1x.S: Likewise.
47826 * kern/i386/pc/startup.S: Likewise.
47827 * loader/i386/pc/chainloader.c: Likewise.
47828 * loader/i386/pc/linux.c: Likewise.
47829 * loader/i386/pc/multiboot.c: Likewise.
47830 * normal/cmdline.c: Likewise.
47831 * normal/command.c: Likewise.
47832 * normal/main.c: Likewise.
47833 * normal/menu.c: Likewise.
47834 * normal/i386/setjmp.S: Likewise.
47835 * term/i386/pc/console.c: Likewise.
47836 * term/i386/pc/vga.c: Likewise.
47837 * util/console.c: Likewise.
47838 * util/genmoddep.c: Likewise.
47839 * util/misc.c: Likewise.
47840 * util/pupa-emu.c: Likewise.
47841 * util/resolve.c: Likewise.
47842 * util/unifont2pff.rb: Likewise.
47843 * util/i386/pc/biosdisk.c: Likewise.
47844 * util/i386/pc/getroot.c: Likewise.
47845 * util/i386/pc/pupa-mkimage.c: Likewise.
47846 * util/i386/pc/pupa-setup.c: Likewise.
47847
e6eced71 478482004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47849
47850 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47851 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47852 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47853 reading and reset it after reading.
47854 (pupa_ext2_close): Return PUPA_ERR_NONE.
47855
47856 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47857 Correct value.
47858 (struct linux_kernel_header): Add kernel_version and
47859 initrd_addr_max.
47860 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47861 pupa_file_read succeeds.
47862 (pupa_rescue_cmd_initrd): Implement.
47863
5aded270 478642003-12-03 Marco Gerards <metgerards@student.han.nl>
47865
47866 * fs/ext2.c (pupa_ext2_label): New function.
47867 (pupa_ext2_fs): Added label.
47868 * fs/fat.c (pupa_fat_label): New function.
47869 (pupa_fat_fs): Added label.
47870 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47871
47872 * kern/misc.c (pupa_strndup): New function.
47873 * include/pupa/misc.h (pupa_strndup): New prototype.
47874
47875 * include/pupa/normal.h: Include <pupa/err.h>.
47876 (pupa_set_history): New prototype.
47877 (pupa_iterate_commands): New prototype.
47878 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47879 <pupa/disk.h>, <pupa/file.h>.
47880 (hist_size): New variable.
47881 (hist_lines): Likewise.
47882 (hist_end): Likewise.
47883 (hist_used): Likewise.
47884 (pupa_set_history): New function.
47885 (pupa_history_get): Likewise.
47886 (pupa_history_add): Likewise.
47887 (pupa_history_replace): Likewise.
47888 (pupa_tab_complete): Likewise.
47889 (pupa_cmdline_run): Added tab completion and history buffer. Tab
47890 completion shows partitionnames while completing partitions, this
47891 feature was suggested by Jeff Bailey.
47892 * normal/command.c (pupa_iterate_commands): New function.
47893 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
47894 (pupa_normal_init): Initialize history buffer.
47895 (PUPA_MOD_INIT): Likewise.
47896 (pupa_normal_fini): Free the history buffer.
47897 (PUPA_MOD_FINI): Likewise.
47898
47899 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
47900 key.
47901
47902 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
47903 * configure.ac [i386]: Check for regparam bug.
47904 (NESTED_FUNC_ATTR) [! i386]: Defined.
47905
1f7315a3 479062003-11-17 Marco Gerards <metgerards@student.han.nl>
47907
47908 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
47909 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
47910 (pupa_emu_SOURCES): New variable.
47911 (pupa_emu_LDFLAGS): Likewise.
47912 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
47913 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
47914 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
47915 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47916 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
47917 (pupa_jmp_buf): New typedef.
47918 (pupa_setjmp) [PUPA_UTIL]: New macro.
47919 (pupa_longjmp) [PUPA_UTIL]: Likewise.
47920 * include/pupa/term.h (struct pupa_term): New member `refresh'.
47921 (pupa_refresh): New prototype.
47922 * include/pupa/util/getroot.h: New file.
47923 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
47924 it.
47925 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
47926 (pupa_rescue_cmd_cat): Likewise.
47927 (pupa_rescue_cmd_ls): Likewise.
47928 (pupa_rescue_cmd_testload): Likewise.
47929 (pupa_rescue_cmd_lsmod): Likewise.
47930 * normal/cmdline.c (pupa_cmdline_get): Likewise.
47931 * normal/menu.c (run_menu): Likewise.
47932 * kern/term.c (pupa_cls): Likewise.
47933 (pupa_refresh): New function.
47934 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
47935 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47936 * util/console.c: New file.
f19dbdb7 47937
1f7315a3 47938 * util/i386/pc/getroot.c: New file.
47939 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
47940 (pupa_putchar): New function.
47941 (pupa_refresh): Likewise.
47942 (xgetcwd): Function moved to ...
47943 (strip_extra_slashes): Likewise.
47944 (get_prefix): Likewise.
f19dbdb7 47945 * util/i386/pc/getroot.c: ... here.
1f7315a3 47946 (find_root_device): Function moved and renamed to...
47947 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
47948 Changed all callers.
47949 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
47950 and renamed to...
47951 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
47952 Changed all callers.
47953 * util/misc.c (pupa_memalign): New function.
47954 (pupa_mm_init_region): Likewise.
47955 (pupa_register_exported_symbols): Likewise.
47956 (pupa_putchar): Function removed.
47957 * util/pupa-emu.c: New file.
47958
9a5c1ade 479592003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
47960
47961 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
47962 (_multiboot_mod_SOURCES): New variable.
47963 (_multiboot_mod_CFLAGS): Likewise.
47964 * loader/i386/pc/multiboot.c: New file.
47965 * include/pupa/i386/pc/multiboot.h: Likewise.
47966 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
47967 (pupa_multiboot_real_boot): New function.
47968 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
47969 (pupa_multiboot_real_boot): New prototype.
47970 (pupa_rescue_cmd_multiboot): Likewise
47971 (pupa_rescue_cmd_module): Likewise.
47972
47973 * kern/loader.c (pupa_loader_set): Continue when
47974 pupa_loader_unload_func() fails.
47975 (pupa_loader_unset): New function.
47976 * include/pupa/loader.h (pupa_loader_unset): New prototype.
47977
47978 * kern/misc.c (pupa_stpcpy): New function.
47979 * include/pupa/misc.h (pupa_stpcpy): New prototype.
47980
8e72a9c0 479812003-11-12 Marco Gerards <metgerards@student.han.nl>
47982
47983 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
47984 for available extensions.
47985
47986 * include/pupa/i386/pc/time.h: New file.
47987 * kern/disk.c: Include <pupa/machine/time.h>.
47988 (PUPA_CACHE_TIMEOUT): New macro.
47989 (pupa_last_time): New variable.
47990 (pupa_disk_open): Flush the cache when there was a timeout.
47991 (pupa_disk_close): Reset the timer.
47992 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47993 pupa_currticks.
47994 * util/misc.c: Include <sys/times.h>
47995 (pupa_get_rtc): New function.
47996
c4adbd32 479972003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47998
47999 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48000 as blocks.
48001 (pupa_ext2_get_file_block): Use blocks member.
48002
48003 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48004 first block. Return -1 instead of pupa_errno on error.
48005
bfd30f06 480062003-10-27 Marco Gerards <metgerards@student.han.nl>
48007
48008 * README: In the pupa-mkimage example use _chain instead of chain
48009 and ext2 instead of fat.
48010 * TODO: Replace ext2fs with jfs as an example. Add an item for
48011 adding journal playback for ext2fs.
48012 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48013 (pkgdata_MODULES): Added ext2.mod.
48014 (ext2_mod_SOURCES): New variable.
48015 (ext2_mod_CFLAGS): Likewise.
48016 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48017 * include/pupa/misc.h (pupa_strncpy): New prototype.
48018 (pupa_strcat): Likewise.
48019 (pupa_strncmp): Likewise.
48020 * kern/misc.c (pupa_strcat): Enable function.
48021 (pupa_strncpy): New function.
48022 (pupa_strncmp): Likewise.
48023 * fs/ext2.c: New file.
f19dbdb7 48024
bfd30f06 48025 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48026 when the read failed before retrying.
48027 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48028 (_FILE_OFFSET_BITS): Likewise.
48029 * configure.ac: Added AC_SYS_LARGEFILE.
48030
98d15063 480312003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48032
48033 * genmk.rb (PModule#rule): Make sure to get only symbol names
48034 from the output of nm.
59cad637 48035 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48036
18d9c7cd 480372003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48038
48039 I forgot to check in these changes for a long time. This adds
48040 incomplete support for VGA console, and this is still very
48041 buggy. Also, a lot of consideration is required for I18N,
48042 UNICODE, and VGA font issues. Therefore, assume that this is
48043 such that "better than nothing".
f19dbdb7 48044
18d9c7cd 48045 * font/manager.c: New file.
48046 * include/pupa/font.h: Likewise.
48047 * include/pupa/i386/pc/vga.h: Likewise.
48048 * term/i386/pc/vga.c: Likewise.
48049 * util/unifont2pff.rb: Likewise.
48050
48051 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48052 (pkgdata_MODULES): Added vga.mod and font.mod.
48053 (vga_mod_SOURCES): New variables.
48054 (vga_mod_CFLAGS): Likewise.
48055 (font_mod_SOURCES): Likewise.
48056 (font_mod_CFLAGS): Likewise.
48057
48058 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48059
48060 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48061 (struct pupa_term): Added init and fini.
18d9c7cd 48062 Changed the argument of putchar to pupa_uint32_t.
48063
48064 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48065 (pupa_console_real_putchar): New prototype.
48066 (pupa_console_putchar): Removed.
48067 (pupa_console_checkkey): Exported.
48068 (pupa_console_getkey): Likewise.
48069
48070 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48071 characters.
48072
48073 * kern/term.c (pupa_term_set_current): Rewritten.
48074 (pupa_putchar): Likewise.
48075 (pupa_putcode): New function.
48076
48077 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48078 (pupa_console_real_putchar): ... this.
48079 (pupa_vga_set_mode): New function.
48080 (pupa_vga_get_font): Likewise.
48081
48082 * normal/command.c: Include pupa/term.h.
48083 (terminal_command): New function.
48084 (pupa_command_init): Register the command "terminal".
48085
48086 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48087 (DISP_UP): Likewise.
48088 (DISP_RIGHT): Likewise.
48089 (DISP_DOWN): Likewise.
48090 (DISP_HLINE): Likewise.
48091 (DISP_VLINE): Likewise.
48092 (DISP_UL): Likewise.
48093 (DISP_UR): Likewise.
48094 (DISP_LL): Likewise.
48095 (DISP_LR): Likewise.
48096
48097 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 48098
977329f5 480992003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48100
48101 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48102 FIX. Reverse the path_list.
48103
48104 * include/pupa/normal.h: Export pupa_register_command and
48105 pupa_unregister_command.
48106
48107 * hello/hello.c (pupa_cmd_hello): New module.
48108 * conf/i386-pc.rmk: Added hello.mod.
48109
1f5ab428 481102003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48111
48112 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48113
1f5ab428 48114 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48115 (compress_kernel): New variable.
48116 (generate_image): Heavily modified to support compressing a
48117 large part of the core image.
48118
48119 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48120 leak.
48121 (pupa_util_load_image): New function.
48122
48123 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48124 (pupa_compressed_size): New variable.
48125 (codestart): Enable Gate A20 here.
48126 Decompress the compressed part of the core image.
48127 Rearrange the code to put functions and variables which are
48128 required for initialization in the non-compressed part.
48129 Include lzo1x.S.
48130
48131 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48132 here.
48133
48134 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48135
f19dbdb7 48136 * include/pupa/i386/pc/kernel.h
1f5ab428 48137 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48138 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48139 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48140 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48141 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48142
48143 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48144
48145 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48146 (Utility#rule): Likewise.
48147
48148 * configure.ac: Check if LZO is available.
48149
ce5bf700 481502003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48151
48152 * include/pupa/normal.h: New file.
48153 * include/pupa/setjmp.h: Likewise.
48154 * include/pupa/i386/setjmp.h: Likewise.
48155 * normal/cmdline.c: Likewise.
48156 * normal/command.c: Likewise.
48157 * normal/main.c: Likewise.
48158 * normal/menu.c: Likewise.
48159 * normal/i386/setjmp.S: Likewise.
f19dbdb7 48160
ce5bf700 48161 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48162 (pupa_rescue_cmd_initrd): Likewise.
48163
48164 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48165 Likewise.
48166
48167 * kern/i386/pc/startup.S (translation_table): New variable.
48168 (translate_keycode): New function.
48169 (pupa_console_getkey): Call translate_keycode.
48170
48171 * kern/rescue.c (attempt_normal_mode): New function.
48172 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48173 it failed, print a message.
48174
48175 * kern/mm.c (pupa_real_malloc): Print more information when a
48176 free magic is broken.
48177 (pupa_free): If the first free header is not free actually, set
48178 it to P.
48179
48180 * kern/main.c (pupa_load_normal_mode): Just load the module
48181 "normal".
48182 (pupa_main): Don't print the message
48183 "Entering into rescue mode..." here.
48184
48185 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
48186 Declared.
48187 (pupa_rescue_cmd_initrd): Likewise.
48188 (pupa_rescue_cmd_initrd): Likewise.
48189
48190 * include/pupa/symbol.h (FUNCTION): Specify the type.
48191 (VARIABLE): Likewise.
48192
48193 * include/pupa/err.h (pupa_err_t): Added
48194 PUPA_ERR_UNKNOWN_COMMAND.
48195
48196 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
48197 (pupa_dl_get_prefix): Likewise.
48198
48199 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
48200 Added _chain.mod and _linux.mod instead of chain.mod and
48201 linux.mod.
48202 (chain_mod_SOURCES): Renamed to ...
48203 (_chain_mod_SOURCES): ... this.
48204 (chain_mod_CFLAGS): Renamed to ...
48205 (_chain_mod_CFLAGS): ... this.
48206 (linux_mod_SOURCES): Renamed to ...
48207 (_linux_mod_SOURCES): ... this.
48208 (linux_mod_CFLAGS): Renamed to ...
48209 (_linux_mod_CFLAGS): ... this.
48210 (normal_mod_SOURCES): New variable.
48211 (normal_mod_CFLAGS): Likewise.
48212 (normal_mod_ASFLAGS): Likewise.
48213
482142003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
48215
48216 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
48217 possible.
48218
fe6b695a 48219 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 48220 recursively.
48221 (pupa_dl_unref): Unrefer depending modules recursively.
48222 Don't call pupa_dl_unload implicitly, because PUPA can crash if
48223 a module is unloaded before one depending on that module is
48224 unloaded.
48225 (pupa_dl_unload): Unload depending modules explicitly,
48226 if possible.
48227
c04da074 482282003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
48229
48230 * include/pupa/i386/pc/linux.h: New file.
48231 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 48232
c04da074 48233 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
48234 Removed.
48235 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
48236 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
48237 of PUPA_CHAINLOADER_BOOT_SECTOR.
48238
48239 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
48240 (pupa_linux_prot_size): New variable.
48241 (pupa_linux_tmp_addr): Likewise.
48242 (pupa_linux_real_addr): Likewise.
48243 (pupa_linux_boot_zimage): New function.
48244 (pupa_linux_boot_bzimage): Likewise.
48245
48246 * kern/i386/pc/init.c (struct mem_region): New structure.
48247 (MAX_REGIONS): New macro.
48248 (mem_regions): New variable.
48249 (num_regions): Likewise.
48250 (pupa_os_area_addr): Likewise.
48251 (pupa_os_area_size): Likewise.
48252 (pupa_lower_mem): Likewise.
48253 (pupa_upper_mem): Likewise.
48254 (add_mem_region): New function.
48255 (compact_mem_regions): Likewise.
48256 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
48257 the size of the conventional memory and that of so-called upper
48258 memory (before the first memory hole).
48259 Instead of adding each found region to free memory, use
48260 add_mem_region and add them after removing overlaps.
48261 Also, add only 1/4 of the upper memory to free memory. The rest
48262 is used for loading OS images. Maybe this is ad hoc, but this
48263 makes it much easier to relocate OS images when booting.
48264
48265 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
48266 (pupa_enter_rescue_mode): Don't register initrd and module.
48267
48268 * kern/mm.c: Include pupa/dl.h.
48269
48270 * kern/main.c: Include pupa/file.h and pupa/device.h.
48271
48272 * kern/loader.c (pupa_loader_load_module_func): Removed.
48273 (pupa_loader_load_module): Likewise.
48274
48275 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
48276 ``.o''.
48277
48278 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
48279 (pupa_linux_tmp_addr): Likewise.
48280 (pupa_linux_real_addr): Likewise.
48281 (pupa_linux_boot_zimage): Likewise.
48282 (pupa_linux_boot_bzimage): Likewise.
48283
48284 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
48285 (pupa_upper_mem): Likewise.
48286 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
48287 module is too dangerous.
48288
48289 * include/pupa/loader.h (pupa_os_area_addr): Declared.
48290 (pupa_os_area_size): Likewise.
48291 (pupa_loader_set): Remove the first argument. Loader doesn't
48292 manage modules or initrd any longer.
48293 (pupa_loader_load_module): Removed.
48294
48295 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
48296 (linux_mod_SOURCES): New variable.
48297 (linux_mod_CFLAGS): Likewise.
48298
a13f9237 482992003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
48300
48301 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
48302 the length of a blocklist correctly.
48303
48304 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
48305 Use ioctl only if the OS file is a block device.
48306 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
48307 not very useful for normal files.
48308
48309 * kern/main.c (pupa_set_root_dev): New function.
48310 (pupa_load_normal_mode): Likewise.
48311 (pupa_main): Call those above.
48312
48313 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
48314 pupa_uint16_t.
48315
48316 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
48317
a5ffe966 483182003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
48319
48320 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
48321 (setup): Configure the installed partition information and the
48322 dl prefix.
48323
48324 * loader/i386/pc/chainloader.c (my_mod): New variable.
48325 (pupa_chainloader_unload): New function.
48326 (pupa_rescue_cmd_chainloader): Refer itself.
48327 (PUPA_MOD_INIT): Save its own module in MY_MOD.
48328
48329 * kern/i386/pc/startup.S (install_partition): Removed.
48330 (version_string): Likewise.
48331 (config_file): Likewise.
48332 (pupa_install_dos_part): New variable.
48333 (pupa_install_bsd_part): Likewise.
48334 (pupa_prefix): Likewise.
48335 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
48336
48337 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
48338 and pupa/misc.h.
48339 (make_install_device): New function.
48340 (pupa_machine_init): Set the dl prefix.
48341
48342 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
48343 (buf): Renamed to ...
48344 (linebuf): ... this.
48345 (pupa_rescue_cmd_prefix): New function.
48346 (pupa_rescue_cmd_insmod): Likewise.
48347 (pupa_rescue_cmd_rmmod): Likewise.
48348 (pupa_rescue_cmd_lsmod): Likewise.
48349 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48350 rmmod and lsmod.
48351
48352 * kern/mm.c (pupa_memalign): If failed even after invalidating
48353 disk caches, unload unneeded modules and retry.
48354
48355 * kern/misc.c (pupa_memmove): New function.
48356 (pupa_memcpy): Removed.
48357 (pupa_strcpy): New function.
48358 (pupa_itoa): Made static.
48359
48360 * kern/dl.c (pupa_dl_iterate): New function.
48361 (pupa_dl_ref): Likewise.
48362 (pupa_dl_unref): Likewise.
48363 (pupa_dl_unload): Return if succeeded or not.
48364 (pupa_dl_unload_unneeded): New function.
48365 (pupa_dl_unload_all): Likewise.
48366 (pupa_dl_init): Renamed to ...
48367 (pupa_dl_set_prefix): ... this.
48368 (pupa_dl_get_prefix): New function.
48369
48370 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48371 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48372 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48373 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48374 (pupa_install_dos_part): Declared.
48375 (pupa_install_bsd_part): Likewise.
48376 (pupa_prefix): Likewise.
48377 (pupa_boot_drive): Likewise.
48378
48379 * include/pupa/types.h: Fix a typo.
48380
48381 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48382 pupa_memmove.
48383 (pupa_memmove): Declared.
48384 (pupa_strcpy): Likewise.
48385
48386 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48387 pupa_mod_init takes one argument, its own module.
48388 (pupa_dl_unload_unneeded): Declared.
48389 (pupa_dl_unload_all): Likewise.
48390 (pupa_dl_ref): Likewise.
48391 (pupa_dl_unref): Likewise.
48392 (pupa_dl_iterate): Likewise.
48393 (pupa_dl_init): Renamed to ...
48394 (pupa_dl_set_prefix): ... this.
48395 (pupa_dl_get_prefix): Declared.
48396
48397 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 48398 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 48399 unloaded.
48400 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48401 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48402
48403 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48404 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48405
012d7999 484062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48407
48408 * util/i386/pc/pupa-setup.c (setup): Define the internal
48409 function find_first_partition_start at the top level, because GCC
48410 3.0.x cannot compile internal functions in deeper scopes
48411 correctly.
48412 (find_root_device): Use lstat instead of stat.
48413 Don't follow symbolic links.
48414 Fix the path-constructing code.
48415
48416 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48417 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48418 by a BLKGETSIZE ioctl first, because block devices don't fill
48419 the member st_mode of the structure stat on Linux.
48420 [__linux__] (linux_find_partition): Use a temporary buffer
48421 REAL_DEV for the working space. Copy it to DEV before returning.
48422 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48423 buffer cache consistent.
48424 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48425 strncmp. The previous value was merely wrong.
48426 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48427
48428 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48429 FAT size is 12. The previous value was merely wrong.
48430
48431 * kern/main.c (pupa_main): Don't split the starting message from
48432 newlines.
48433
48434 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48435 LF, because BIOS goes crazy about character attributes in this
48436 case.
48437
1cc73a62 484382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48439
48440 * include/i386/pc/util/biosdisk.h: New file.
48441 * util/i386/pc/biosdisk.c: Likewise.
48442 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 48443
1cc73a62 48444 * Makefile.in (INCLUDE_DISTFILES): Added
48445 include/pupa/i386/pc/util/biosdisk.h.
48446 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48447 directory util/i386/pc.
48448 (install-local): Added a rule for sbin_UTILITIES.
48449 (uninstall): Likewise.
48450
48451 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48452
48453 * util/misc.c (xrealloc): New function.
48454 (pupa_malloc): Likewise.
48455 (pupa_free): Likewise.
48456 (pupa_realloc): Likewise.
48457 (pupa_stop): Likewise.
48458 (pupa_putchar): Likewise.
48459
48460 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48461
48462 * include/pupa/util/misc.h (xrealloc): Declared.
48463
48464 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48465 macro.
48466 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48467 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48468
48469 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48470 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48471
48472 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48473 way should be implemented.
48474 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48475
48476 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48477 the size of NAME for safety.
48478 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48479 0x88.
48480
48481 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48482 (pupa_setup_SOURCES): Likewise.
48483
48484 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48485
08b70fe8 484862002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48487
48488 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48489 bunch of pushl's from pusha, because this destroys the return
48490 value.
48491
62ddcc8f 484922002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48493
48494 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48495 This means that any missing prototypes could be fatal. Also, you
48496 must take care when writing assembly code. See the comments at
48497 the beginning of startup.S, for more details.
f19dbdb7 48498
62ddcc8f 48499 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48500 compilation mechanism.
48501 (pupa_chainloader_real_boot): Likewise.
48502 (pupa_biosdisk_rw_int13_extensions): Likewise.
48503 (pupa_biosdisk_rw_standard): Likewise.
48504 (pupa_biosdisk_check_int13_extensions): Likewise.
48505 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48506 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48507 (pupa_get_memsize): Likewise.
48508 (pupa_get_mmap_entry): Likewise.
48509 (pupa_console_putchar): Likewise.
48510 (pupa_console_setcursor): Likewise.
48511 (pupa_getrtsecs): Use pushl instead of push.
48512
48513 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48514 memory instead of the stack for a mmap entry, because some
48515 BIOSes may ignore the maximum size and overflow.
48516
48517 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48518
48519 * genmk.rb (PModule#rule): Compile automatically generated
48520 sources with module-specific CFLAGS as well as other sources.
48521
9962ed99 485222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48523
48524 * configure.ac: Check ld.
48525 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48526 respectively, before checking endianness and sizes.
48527
48528 * Makefile.in (LD): New variable.
f19dbdb7 48529
abdfc3c5 485302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48531
48532 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48533
6a161fa9 485342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48535
48536 * Changelog: New file.
48537