]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Core compression test.
[grub2.git] / ChangeLog
CommitLineData
e7b8fd08
VS
12013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Core compression test.
4
17f9fd29
VS
52013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Implement grub_machine_get_bootlocation for ARC.
8
dc2a6c8b
VS
92013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Improve AHCI detection and command issuing.
12
f25a2ba6
VS
132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Fix pseries test.
16
a6393224
VS
172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Make 'make check' work on emu.
20
db99fbe8
VS
212013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Replace libcurses with our own vt100 handling for the ease of testing
24 and decreasing prerequisites.
25
b24ca7cd
VS
262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
29
63314aa4
VS
302013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
33 compile when not needed.
34
c1b00fff
VS
352013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * tests/pseries_test.in: New test.
38
f93e89ef
VS
392013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Add test to check that different boot mediums work.
42
c4b456d3
VS
432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
46 ofw limited ISO support.
47
5fe67f39
VS
482013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * configure.ac: Fix loongson conditional.
51
7f63a64f
VS
522013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
53
54 Enable mipsel-arc.
55
b04b5990
VS
562013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Add serial on ARC platform.
59
88d2f302
VS
602013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
63 commit.
64
86eb23bc
VS
652013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * tests/partmap_test.in: Add missing double semicolon.
68
eec3bb75
VS
692013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * util/grub-mkrescue.in: Fix loongson filename.
72
e0810df3
VS
732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/grub-mkrescue.in: Move all files that don't have a location
76 set in stone under /boot/grub. Use ISO hard links rather than copies
77 to save some space.
78
65a6b30b
VS
792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
82 bogus SLOF values.
83
6aff0107
VS
842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Make check work on mips-arc.
87
5e013e56
VS
882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * util/grub-mkrescue.in: Alias sashARCS as sash.
91
d1989e2e
VS
922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
95 it's serial.
96
1a25e72c
VS
972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * util/grub-install.in: Fix target fo qemu_mips.
100 Fix extension on EFI.
101
a59a9826
VS
1022013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
105 in front of chosen entry to mark it even if highlighting is lost.
106
1a40f80c
VS
1072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
110 gfxpayload=keep if cbfb is active.
111
e343549c
VS
1122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
115
45fbd9a2
VS
1162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Add missing video ids to coreboot and ieee1275 video.
119
ab1440bd
VS
1202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * util/grub-mkrescue.in: Add mips-arc support.
123
cdeb8324
VS
1242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
127
8528c879
VS
1282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Move mips-arc link address. Previous link address was chosen
131 in belief that RAM on SGI platforms grows down while in fact it
132 grows up from an unusual base.
133
17fca573
VS
1342013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
137 Fix a type which prevented CD-ROM and floppy boot.
138
d178788e
VS
1392013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Support coreboot framebuffer.
142
143 * grub-core/video/i386/coreboot/cbfb.c: New file.
144
fe4c3e7e
VS
1452013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
148 detecting too small regions.
149
ec2dd179
VS
1502013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
153
872dac83
VS
1542013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
157 Remove dprintf.
158 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
159
90ec4b7f
VS
1602013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
163 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
164 * grub-core/loader/powerpc/ieee1275/linux.c
165 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
166
f32555dd
VS
1672013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
170 Look for /boot-rom as well as /rom/boot-rom.
171
38649799
VS
1722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
175 handling when creating text_layer failed.
176 * grub-core/video/video.c (grub_video_create_render_target):
177 Set result to 0 on error.
178 (grub_video_delete_render_target): Do not dereference NULL.
179
aeace7f7
VS
1802013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
183 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
184 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
185 (grub_linux_load64): Mask out 2 high bits.
186
4eafa175
AB
1872013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
188
189 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
190 more place.
191
daaa64bd
VS
1922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Add support for pseries and other bootinfo machines to grub-mkrescue.
195
196 Tested by: Paulo Flabiano Smorigo.
197
d0d2daa6
VS
1982013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * util/grub-mkrescue.in: Add GPT for EFI boot.
201
b193e100
VS
2022013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
205 It improves performance in qemu.
206
a0f8f3ac
VS
2072013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * build-aux/snippet: Add missing gnulib files.
210
284df0e2
AB
2112013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
212
213 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
214
740201f3
AB
2152013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
216
217 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
218
a7e03923
PJ
2192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2202013-04-15 Peter Jones <pjones@redhat.com>
221
222 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
223 sectors.
224 Based on patch by Peter Jones.
225
25fc51a8
VS
2262013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
227
228 Fix DMRAID partition handling.
229
88017d47
VS
2302013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * tests/grub_cmd_date.in: Skip on sparc64.
233
fa7d914e
VS
2342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
237 firmware error messages.
238
cbe57a48
VS
2392013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
242 source and destination differ.
243
21aecce0
VS
2442013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
247 detection.
248
25092d29
VS
2492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
252 match config-util.h to avoid warnings and increase compatibility.
253
79451522 2542013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 2552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
256
257 Add option to compress files on install/image creation.
258
78b7d77b
VS
2592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * docs/grub-dev.texi: Rearrange menu to match the section order.
262 Reported by: Bryan Hundven.
263
cc2fa5ec
VS
2642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
267
b49fe879
VS
2682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Move GRUB out of system area when using xorriso 1.2.9 or later.
271
5351da81
VS
2722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * tests/grub_cmd_date.in: Add missing exit 1.
275
c9d586ea
VS
2762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * tests/partmap_test.in: Skip on sparc64.
279
3f729741
VS
2802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Support grub-shell on sparc64.
283
8ca86b3a
VS
2842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
285
286 Support mkrescue on sparc64.
287
aa1af9bb
VS
2882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
289
290 Allow IEEE1275 ports on path even if it wasn't detected automatically.
291 Needed on OpenBIOS due to incomplete device tree.
292
ac4fea79
VS
2932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
296 would be otherwise excluded.
297
2982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
299
300 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
301 Inline name defines used only once.
302
fe22b071
VS
3032013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
304
305 Fix memory leaks in ofnet.
306 Reported by: Francesco Lavra.
307
9d21381b
VS
3082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * docs/man/grub-glue-efi.h2m: Add missing file.
311
07aec23c
VS
3122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
315
67ab8353
VS
3162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Better support Apple Intel Macs on CD.
319
ba44ca6d
VS
3202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
321
322 Replace stpcpy with grub_stpcpy in tools.
323
bbdd6305
VS
3242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Handle Japanese special keys.
327 Reported by: Hiroyuki YAMAMORI.
328 Codes supplied by: Hiroyuki YAMAMORI.
329
8573d302
VS
3302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * util/grub-mkimage.c: Document memdisk implying --prefix.
333
d70dbab7
VS
3342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
337 much we can do about it anyway.
338
51a4c3e3
AN
3392013-04-12 Aleš Nesrsta <starous@volny.cz>
340
341 Fix handling of split transfers.
342
92c8f58d
VS
3432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/net/http.c: Fix bad free.
346
b7d17a49
VS
3472013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
350 than buffer size.
351
a3d566d4
VS
3522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
353
354 Disable partmap check on i386-ieee1275 due to openfirmware issues.
355
a936af56
VS
3562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * tests/util/grub-shell.in: Fix it on powerpc.
359
51212234
VS
3602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Turn off QEMU ACPI-way since new releases don't have shutdown port
363 anymore.
364
a21eec9e
VS
3652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * docs/grub.texi: Update coreboot status info.
368
e3734b84
VS
3692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * tests/grub_cmd_date.in: New test for datetime.
372
f9d40055
VS
3732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * tests/partmap_test.in: Fix missing qemudisk setting.
376
dbc56d8f
VS
3772013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Support i386-ieee1275 grub-mkrescue and make check on it.
380
a79b8a15
VS
3812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
382
383 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
384 feature for it.
385
48f39bb4
VS
3862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
389 GRUB_CMDLINE_XEN_DEFAULT.
390 Reported by: Marc Warne (GigaTux) <gigatux>
391
053cfcdd
VS
3922013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Import new gnulib.
395
93cd84df
VS
3962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Use ACPI shutdown intests as traditional port was removed.
399
f4b1fa4f
AB
4002013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
401
402 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
403 distinction.
404
49818a59
VS
4052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
408 Fix few warining messages and leaks while on it.
409
9277a306
AB
4102013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
411
412 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
413 links under grub-core/lib/libgcrypt-grub/mpi.
414
d5e2a158
VS
4152013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
416
417 Fix ia64-efi image generation on big-endian machines. Deduplicate
418 some code while on it.
419 Reported by: Leif Lindholm.
420
18866643
AB
4212013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
422
423 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
424 as extra_dist.
425
ca53deb8
AB
4262013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
427
428 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
429
d4c4b8e1
BH
4302013-04-08 Bryan Hundven <bryanhundven@gmail.com>
431
432 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
433 texinfo-5.1.
434
47043f95
VS
4352013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/normal/term.c: Few more fixes for menu entry editor
438 rendering.
439 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
440
a3216068
VS
4412013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/normal/term.c: Few more fixes for menu entry editor
444 rendering.
445 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
446
21026747
AB
4472013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
448
449 * conf/Makefile.extra-dist (EXTRA_DIST): Add
450 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
451
59624ca8
AB
4522013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
453
454 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
455 instead of hardcoding grub.mo.
456
1f44478c
FN
4572013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
458
459 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
460
eeada7b1
VS
4612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
464 grub-core/disk/geli.c.
465
132867de
VS
4662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * util/grub-mkfont.c: Prefer enum to #define.
469
de73de17
VS
4702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
473
1865baa7
VS
4742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
475
476 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
477
ce7d92a9
VS
4782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
479
480 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
481
52eab656
VS
4822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
485
98b23b95
VS
4862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * include/grub/bsdlabel.h: Use enums.
489
0467a5dd
VS
4902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Move GRUB_CHAR_BIT to types.h.
493
16cc9f03
AB
4942013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
495
496 * docs/grub.texi: Document more user commands.
497
3152aecb
AB
4982013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
499
500 * docs/grub.texi: Document menuentry --id option.
501
c506fc30
FL
5022013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
503
504 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
505
aa428238
VS
5062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Unify file copying setup across different install scripts. Add
509 options for performing partial install.
510
efe0cdda
PJ
5112013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5122013-04-04 Peter Jones <pjones@redhat.com>
513
514 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
515
f75835bd
VS
5162013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Use TSC as a possible time source on i386-ieee1275.
519
2cd5ce6c
VS
5202013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
523 Init err.
524
c9625630
VS
5252013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * util/grub-setup.c (setup): Handle some corner cases.
528
be008941
VS
5292013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
532
1a78d573
VS
5332013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/commands/verify.c: Save verified file to avoid it being
536 tampered with after verification was done.
537
db8ff59f
VS
5382013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
541 reported width by one to compensate for curesor algorithm problem.
542
91bf46b1
VS
5432013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
544
545 Fix screen corruption in menu entry editor and simplify the code
546 flow while on it.
547
a7b1d693
AB
5482013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
549
550 * util/grub-mount.c (fuse_init): Return error if fuse_main
551 failed.
552
31df9ad8
FL
5532013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
554
555 * include/grub/elf.h: Add missing ARM relocation codes and fix
556 existing ones.
557
07f392eb
VT
5582013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
559
560 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
561
9efd73ec 5622013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
5632013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
566 into account when calculating radius.
567
5682013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
569
570 * grub-core/gfxmenu/view.c: Fix off-by-one error.
571
4985ddaa
VT
5722013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
573
574 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
575
8c3635ff
RS
5762013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
577
578 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
579 missing closing bracket.
580
74a35e69
RS
5812013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
582
583 * INSTALL: Mention xorriso requirement.
584
40f1c000
AB
5852013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
586
587 * grub-core/commands/verify.c: Fix hash algorithms values for
588 the first three hashes - they start with 1, not with 0.
589
e75fdee4
VS
5902013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
593 Try terminating EFI services several times due to quirks in some
594 implementations.
595
33028f4c
CW
5962013-03-26 Colin Watson <cjwatson@ubuntu.com>
597
598 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
599 skipping Event, Device, Processor, PowerRes, ThermalZone, and
600 BankField extended opcodes.
601 (get_sleep_type): Add minimal scope handling (just enough to
602 handle setting the scope to the root path).
603 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
604 * include/grub/acpi.h: Add enumeration values for Event, Device,
605 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
606
33871a10
VT
6072013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
608
609 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
610 memory leak.
611
8990963a
VS
6122013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/disk/ahci.c: Give more time for AHCI request.
615
daae8f9e
VS
6162013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
619 command.
620
6a7fb94b
VS
6212013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
622
623 Replace the region at 0 from coreboot tables to available in BSD
624 memory map.
625
ff99babd
VS
6262013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
629 non-BIOS platforms.
630
30d6b1b2
VS
6312013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
634 platforms.
635
6ccd0b31
VS
6362013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
639 handling of multi-device filesystems.
640
23c9cc04
VS
6412013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
644 platforms.
645
ce50dbd7
VS
6462013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
647
648 Add new 'proc' filesystem framework and put luks_script into it.
649
d975e8d5
VS
6502013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
653 and qemu.
654
e73ba5e8
VS
6552013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
658
92750e4c
VS
6592013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Add ability to generate newc additions on runtime.
662
0ec45a68
VS
6632013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
666 description.
667
320abd43
VS
6682013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * po/POTFILES.in: Regenerate.
671
d7a6506e
VS
6722013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/commands/verify.c (hashes): Add several hashes
675 from the spec.
676
8fe05def
VS
6772013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Slight improve in USB-related boot-time checkpoints.
680
524e2766
VS
6812013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/commands/boottime.c: Fix copyright header.
684
cc19857a
VS
6852013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
686
687 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
688 coreboot tables content. Support for cbmemc.
689
ef8810e9
VS
6902013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Fix a conflict between ports structures with 2 controllers of
693 same kind.
694
e9dabdfa
VS
6952013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * include/grub/boottime.h: Add missing file.
698
f6df57d2
VS
6992013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Initialize USB ports in parallel to speed-up boot.
702
d745dda7
VS
7032013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Fix USB devices not being detected when requested
706 due to delayed attach.
707
e5a2dd7b
VS
7082013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
709
e744219b
VS
710 Implement boot time analysis framework.
711
7122013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
715 descriptor to just receive it as argument rather than endpoint
716 address.
717
5dd6f587
VS
7182013-03-19 Aleš Nesrsta <starous@volny.cz>
719
720 Better estimate the maximum USB transfer size.
721
2f1071d5
VS
7222013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
723
724 Resend a packet if we got the wrong buffer in status.
725
46ecfc49
VS
7262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
729 multiplication rather than division.
730
ea811130
VS
7312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
734 than divisions.
735
d2789cf0
VS
7362013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
739 operations to have intended shifts and not divisions.
740
a9c94590
VS
7412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
744 intended shifts rather than division.
745
84cfe81b
VS
7462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
749 computation for some years before epoch. Avode confusing division
750 while on it.
751
21344ef6
VS
7522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/video/i386/pc/vbe.c
755 (grub_video_vbe_print_adapter_specific_info): Replace division by
756 shifts.
757
3f2b4d1a
VS
7582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
759
760 Adjust types in gdb module to have intended unsigned shifts rather than
761 signed divisions.
762
3dac5878
VS
7632013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
766 maximum size is 4G - 1 on hfs
767
5341c0fb
VS
7682013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
769
770 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
771
fc3ff2a2
VS
7722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
775 function.
776
81455e8e
AB
7772013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
778
779 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
780 causing gcc error with gcc 4.7.1.
781
efd4f117
NZ
7822013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
783
784 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
785 dereference null pointer. While the code is technically correct, gcc
786 may eliminate a null check if pointer is already dereferenced.
787
e11645f4
NZ
7882013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
789
790 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
791 OOM check.
792 * grub-core/normal/term.c (read_terminal_list): Likewise.
793
77468368
VS
7942013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
795
796 Lift up core size limits on some platforms. Fix potential memory
797 corruption with big core on small memory systems. Document remaining
798 limits.
799
f6b58fe5
VS
8002013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
803 gotoxy to 0,0.
804
19ce697d
VS
8052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Remove all trampoline support. Add -Wtrampolines when
808 present. Remove symbols used for trampolines to make
809 link fail if trampolines are present.
810
73b5d90f
VS
8112013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
814 append out of its parent.
815
cb758e96
VS
8162013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
819 parent.
820
3188131f
VS
8212013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
824 all vars to a macro. All users updated.
825
e42b2514
VS
8262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/disk/ieee1275/nand.c: Fix compilation on
829 i386-ieee1275.
830
83e1a1a1
VS
8312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
834
1d5a880f
VS
8352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
838
6e4146c4
VS
8392013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Move to more hookless approach in IEEE1275 devices handling.
842
99fcda8a
VS
8432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/kern/term.c (grub_term_normal_color),
846 (grub_term_highlight_color): Add back lost defaults.
847
73bf57e2
VS
8482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
849
850 Make elfload not use hooks. Opt for flags and iterators instead.
851
7f8c105f
VS
8522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
855 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
856
396d4091
VS
8572013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/script/execute.c (gettext_append): Remove nested functions.
860
8612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
864 hook pass-through parameter. All users updated and unnested.
865
74a27421
VS
8662013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
869 out of its parent.
870
b46d4213
VS
8712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/hfs.c: Remove nested functions.
874
e114c3cc
VS
8752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
878 the context through.
879 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
880
f9b7d780
VS
8812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * util/grub-editenv.c (list_variables): Move print_var out of its
884 parent.
885
ca9c2608
VS
8862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
889 function.
890
5d983f5f
VS
8912013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/gentrigtables.c: Make tables const.
894
3056d3e7
VS
8952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Remove nested functions from videoinfo iterators.
898
e2303774
VS
8992013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
902 for 64-bit platforms.
903
f42e3a2f
VS
9042013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
907 a FOR_CHILDREN macro.
908
be174e5e
VS
9092013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
912 platform from firmware path.
913
0789b672
VS
9142013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
915
916 Enable linux16 on non-BIOS systems for i.a. memtest.
917
918 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
919 correctly.
920 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
921
005a9c32
VS
9222013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
925 Fix end of table condition.
926
ff2b3cd9
VS
9272013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
930 out of its parent.
931
4fc40ff8
VS
9322013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/fs/jfs.c: Remove nested functions.
935
be42d97a
VS
9362013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/fs/minix.c: Remove nested functions.
939
99373ce4
VS
9402013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/fs/iso9660.c: Remove nested functions.
943
5aec2afe
VS
9442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
947 of parent function.
948
6c69e691
VS
9492013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * util/grub-fstest.c: Remove nested functions.
952
43c91882
VS
9532013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/loader/machoXX.c: Remove nested functions.
956
4eb8b756
CW
9572013-02-27 Colin Watson <cjwatson@ubuntu.com>
958
959 Remove nested functions from disk and file read hooks.
960
961 * include/grub/disk.h (grub_disk_read_hook_t): New type.
962 (struct grub_disk): Add read_hook_data member.
963 * include/grub/file.h (struct grub_file): Likewise.
964 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
965 argument.
966
967 Update all callers.
968
df6da5a5
AB
9692012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
970
971 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
972 Fix off by one error in enumerating extended partitions.
973
21aecde5
AB
9742013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
975
976 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
977 memory leak if device name is not found.
978
f1a19118
AB
9792013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
980
981 * grub-core/normal/menu_entry.c (update_screen): remove
982 unused variable `off' which caused scroll down arrow to be always shown.
983
958bfd20
AB
9842013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
985
986 * grub-core/normal/menu_entry.c (insert_string): fix off by one
987 access to unallocated memory.
988
b7b78edb
AB
9892013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
990
991 * Makefile.util.def: Add partmap/msdos.c to common library.
992 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
993 * grub-core/disk/ldm.c: Check for existence of
994 GRUB_PC_PARTITION_TYPE_LDM.
995
28d468d6
VS
9962013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
999 sizes and display sector size.
1000
d55ffb02
VS
10012013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 Implement new command cmosdump.
1004
b5ea6ce0
VS
10052013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1006
1007 Support Openfirmware disks with non-512B sectors.
1008
1009 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1010 size of the disk.
1011 * (grub_ofdisk_get_block_size): New function.
1012 * (grub_ofdisk_prepare): Use the correct block size.
1013 * (grub_ofdisk_read): Likewise.
1014 * (grub_ofdisk_write): Likewise.
1015 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1016 New proto.
1017
cc0e476f
VS
10182013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1021
c5dbdc33
VS
10222013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1025 on first error.
1026
3f078c0f
VS
10272013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1030 freeing it.
1031
66a93674
VS
10322013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Implement USBDebug (full USB stack variant).
1035
c9f0c134
VS
10362013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1039 unless they have unexpected values.
1040
cfe1288b
VS
10412013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1044 grub_print_error.
1045
e42b9969
VS
10462013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1049 zero-out of port structure.
1050
cf94fd62
VS
10512013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1054 of extended attributes.
1055
f81ef4b5
AB
10562013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1057
1058 * util/grub-install.in: change misleading comment about
1059 device.map creation
1060
af18fdb4
VS
10612013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1064 when menu highlight color isn't set.
1065
08bcec50
M
10662013-01-27 C. Masloch <pushbx@38.de>
1067
1068 Improve FreeDOS direct loading support compatibility.
1069
1070 * include/grub/i386/relocator.h (grub_relocator16_state):
1071 New member ebp.
1072 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1073 variable.
1074 (grub_relocator16_boot): Handle %ebp.
1075 * grub-core/lib/i386/relocator16.S: Likewise.
1076 * grub-core/loader/i386/pc/freedos.c:
1077 Load BPB to pass kernel which partition to load from.
1078 Check that kernel file is not too large.
1079 Set register dl to BIOS unit number as well.
1080
7782b8a6
CW
10812013-01-22 Colin Watson <cjwatson@ubuntu.com>
1082
1083 * util/grub-reboot.in (usage): Document the need for
1084 GRUB_DEFAULT=saved.
1085 * util/grub-set-default.in (usage): Likewise.
1086 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1087
e661c180
VS
10882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1091 than defining WORDS_BIGENDIAN manually.
1092
1c22ca9a
VS
10932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1096 invariants.
1097
d44892fe
CW
10982013-01-21 Colin Watson <cjwatson@ubuntu.com>
1099
1100 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1101 nested.
1102 (blit_comb: add_device_width): Likewise.
1103
5fdbaed1
CW
11042013-01-21 Colin Watson <cjwatson@ubuntu.com>
1105
1106 Remove nested functions from USB iterators.
1107
1108 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1109 (grub_usb_controller_iterate_hook_t): Likewise.
1110 (grub_usb_iterate): Add hook_data argument.
1111 (grub_usb_controller_iterate): Likewise.
1112 (struct grub_usb_controller_dev.iterate): Likewise.
1113
1114 Update all implementations and callers.
1115
4250985a
VS
11162013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1119 margin when not needed.
1120
7d8848f3
VS
11212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1122
bc136973 1123 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1124
11252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1126
bc136973
VS
1127 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1128 asterisk.
7d8848f3 1129
ed12a003
CW
11302013-01-21 Colin Watson <cjwatson@ubuntu.com>
1131
1132 Fix powerpc and sparc64 build failures caused by un-nesting memory
1133 map iterators.
1134
6a0db449
CW
11352013-01-21 Colin Watson <cjwatson@ubuntu.com>
1136
1137 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1138 parameter declarations.
1139
ccd86b21
VS
11402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1143
822b726b
VS
11442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 Improve spkmomdem reliability by adding a separator between bytes.
1147
115c2cc1
CW
11482013-01-21 Colin Watson <cjwatson@ubuntu.com>
1149
1150 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1151 an Acer registration utility with several sightings in the wild.
1152 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1153
fc524edf
CW
11542013-01-21 Colin Watson <cjwatson@ubuntu.com>
1155
1156 Remove nested functions from filesystem directory iterators.
1157
1158 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1159 (struct grub_fs.dir): Add hook_data argument.
1160
1161 Update all implementations and callers.
1162
53d3e4e3
CW
11632013-01-21 Colin Watson <cjwatson@ubuntu.com>
1164
1165 * docs/grub.texi (Multi-boot manual config): Fix typo for
1166 "recommended".
1167
c821711f
LL
11682013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1169
1170 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1171 until after its use in generate_image.
1172
6a0debbd
CW
11732013-01-20 Colin Watson <cjwatson@ubuntu.com>
1174
1175 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1176 initrd size to addr_min, since the initrd will be allocated after
1177 this address.
1178
f41e08db
AB
11792013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1180
1181 * conf/Makefile.common: Fix autogen rules to pass definition
1182 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1183
77529e0f
LL
11842013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1185
1186 * include/grub/elf.h: Update ARM definitions based on binutils.
1187
b879aa7b
VS
11882013-01-20 Aleš Nesrsta <starous@volny.cz>
1189
1190 Split long USB transfers into short ones.
1191
8eb8284d
AB
11922013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1193
1194 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1195 is interrupted by ESC.
1196
08dad2dc
VS
11972013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * util/grub-script-check.c (main): Uniform the error message.
1200
6c724b85
CW
12012013-01-20 Colin Watson <cjwatson@ubuntu.com>
1202
1203 Remove nested functions from ELF iterators.
1204
25239370
CW
12052013-01-20 Colin Watson <cjwatson@ubuntu.com>
1206
1207 Remove nested functions from device iterators.
1208
1209 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1210 (grub_arc_iterate_devs): Add hook_data argument.
1211 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1212 (struct grub_ata_dev.iterate): Add hook_data argument.
1213 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1214 (grub_device_iterate): Add hook_data argument.
1215 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1216 (struct grub_disk_dev.iterate): Add hook_data argument.
1217 (grub_disk_dev_iterate): Likewise.
1218 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1219 Likewise.
1220 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1221 Likewise.
1222 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1223 type.
1224 (struct grub_partition_map.iterate): Add hook_data argument.
1225 (grub_partition_iterate): Likewise.
1226 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1227 (struct grub_scsi_dev.iterate): Add hook_data argument.
1228
1229 Update all callers.
1230
6c0314d6
CW
12312013-01-20 Colin Watson <cjwatson@ubuntu.com>
1232
1233 Fix typos for "developer" and "development".
1234
600dc5f1
VS
12352013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Add license header to spkmodem-recv.c.
1238
17334a6b
VS
12392013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 Rewrite spkmodem to use PIT for timing. Double the speed.
1242
7d462559
VS
12432013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 Add new command pcidump.
1246
b78d6c32
VS
12472013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 New terminal outputs using serial: morse and spkmodem.
1250
34f71cb8
VS
12512013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 Improve bidi handling in entry editor.
1254
4542e71b
VS
12552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1258 argument to prevent name collision.
1259
09fd6d82
CW
12602013-01-15 Colin Watson <cjwatson@ubuntu.com>
1261
1262 Remove nested functions from script reading and parsing.
1263
1264 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1265 getline_data argument, passed to getline.
1266 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1267 getline_data argument, passed to grub_parser_split_cmdline.
1268 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1269 lexerstate->getline_data to lexerstate->getline.
1270 (grub_script_lexer_init): Add getline_data argument, saved in
1271 lexerstate->getline_data.
1272 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1273 argument, passed to grub_script_parse.
1274 * grub-core/script/script.c (grub_script_parse): Add getline_data
1275 argument, passed to grub_script_lexer_init.
1276 * include/grub/parser.h (grub_parser_split_cmdline): Update
1277 prototype. Update all callers to pass appropriate getline data.
1278 (struct grub_parser.parse_line): Likewise.
1279 (grub_rescue_parse_line): Likewise.
1280 * include/grub/reader.h (grub_reader_getline_t): Add void *
1281 argument.
1282 * include/grub/script_sh.h (struct grub_lexer_param): Add
1283 getline_data member.
1284 (grub_script_parse): Update prototype. Update all callers to pass
1285 appropriate getline data.
1286 (grub_script_lexer_init): Likewise.
1287 (grub_normal_parse_line): Likewise.
1288
1289 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1290 data argument.
1291 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1292 static instead of nested. Rename to ...
1293 (grub_parser_execute_getline): ... this.
1294 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
1295 data argument.
1296 * grub-core/normal/main.c (read_config_file: getline): Make static
1297 instead of nested. Rename to ...
1298 (read_config_file_getline): ... this.
1299 (grub_normal_read_line): Add unused data argument.
1300 * grub-core/script/execute.c (grub_script_execute_sourcecode:
1301 getline): Make static instead of nested. Rename to ...
1302 (grub_script_execute_sourcecode_getline): ... this.
1303 * util/grub-script-check.c (main: get_config_line): Make static
1304 instead of nested.
1305
d0d4b8a0
CW
13062013-01-15 Colin Watson <cjwatson@ubuntu.com>
1307
1308 Remove nested functions from memory map iterators.
1309
1310 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
1311 argument, passed to hook.
1312 * grub-core/kern/i386/coreboot/mmap.c
1313 (grub_linuxbios_table_iterate): Likewise.
1314 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
1315 instead of nested.
1316 (grub_machine_mmap_iterate): Add hook_data argument.
1317 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
1318 Add hook_data argument, passed to hook.
1319 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
1320 Likewise.
1321 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1322 Likewise.
1323 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
1324 Likewise.
1325 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
1326 Likewise.
1327 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
1328 Likewise.
1329 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
1330 Likewise.
1331 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
1332 (grub_machine_mmap_iterate): Likewise.
1333 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
1334 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
1335 prototype.
1336 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
1337 Remove NESTED_FUNC_ATTR from here and from all users.
1338 (grub_mmap_iterate): Update prototype.
1339 (grub_efi_mmap_iterate): Update prototype. Update all callers to
1340 pass appropriate hook data.
1341 (grub_machine_mmap_iterate): Likewise.
1342
1343 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
1344 static instead of nested.
1345 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
1346 Rename to ...
1347 (lsmmap_hook): ... this.
1348 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
1349 Likewise.
1350 (grub_efiemu_mmap_fill: fill_hook): Likewise.
1351 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
1352 heap_init): Likewise.
1353 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
1354 Rename to ...
1355 (mmap_iterate_hook): ... this.
1356 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
1357 Likewise.
1358 * grub-core/lib/ieee1275/relocator.c
1359 (grub_relocator_firmware_get_max_events: count): Likewise.
1360 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
1361 to ...
1362 (grub_relocator_firmware_fill_events_iter): ... this.
1363 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
1364 hook): Likewise. Rename to ...
1365 (grub_relocator_alloc_chunk_align_iter): ... this.
1366 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
1367 Rename to ...
1368 (generate_e820_mmap_iter): ... this.
1369 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
1370 Rename to ...
1371 (count_hook): ... this.
1372 (grub_linux_boot: hook): Likewise. Rename to ...
1373 (grub_linux_boot_mmap_find): ... this.
1374 (grub_linux_boot: hook_fill): Likewise. Rename to ...
1375 (grub_linux_boot_mmap_fill): ... this.
1376 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
1377 hook): Likewise. Rename to ...
1378 (grub_fill_multiboot_mmap_iter): ... this.
1379 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
1380 hook): Likewise. Rename to ...
1381 (count_hook): ... this.
1382 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
1383 hook): Likewise. Rename to ...
1384 (grub_fill_multiboot_mmap_iter): ... this.
1385 * grub-core/loader/powerpc/ieee1275/linux.c
1386 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
1387 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
1388 Likewise. Rename to ...
1389 (alloc_phys_choose): ... this.
1390 (determine_phys_base: get_physbase): Likewise.
1391 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
1392 find_hook): Likewise.
1393 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
1394 (malloc_hook: count_hook): Likewise.
1395 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
1396 Likewise. Rename to ...
1397 (lower_hook): ... this.
1398 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1399 (upper_hook): ... this.
1400 (grub_mmap_get_post64: hook): Likewise. Rename to ...
1401 (post64_hook): ... this.
1402 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
1403 Likewise. Rename to ...
1404 (lower_hook): ... this.
1405 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1406 (upper_hook): ... this.
1407 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
1408 (grub_mmap_iterate: fill_hook): Likewise.
1409 (fill_mask): Pass addr and mask within a single struct.
1410 (grub_cmd_badram: hook): Make static instead of nested. Rename
1411 to ...
1412 (badram_iter): ... this.
1413 (grub_cmd_cutmem: hook): Likewise. Rename to ...
1414 (cutmem_iter): ... this.
1415
22099030
VS
14162013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
1419 delimit path in strings using quotes.
1420 * util/getroot.c (grub_guess_root_devices): Likewise.
1421 (grub_make_system_path_relative_to_its_root): Likewise.
1422 * util/grub-probe.c (probe): Likewise.
1423 * util/ieee1275/ofpath.c (find_obppath): Likewise.
1424 (xrealpath): Likewise.
1425
4a9950ec
VS
14262013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 Fix compilation with older compilers.
1429
1430 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
1431 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
1432 declarations.
1433 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
1434 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
1435 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
1436 identifier with b.
1437 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
1438 * include/grub/crypto.h: Add type defines.
1439 * util/import_gcrypth.sed: Remove duplicate type defines.
1440
adcc6020
VS
14412013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 New command list_trusted.
1444
1445 * grub-core/commands/verify.c (grub_cmd_list): New function.
1446
a4528937
CW
14472013-01-13 Colin Watson <cjwatson@ubuntu.com>
1448
1449 * util/grub-mkimage.c (generate_image): Fix "size of public key"
1450 info message.
1451
ca3a7446
CW
14522013-01-13 Colin Watson <cjwatson@ubuntu.com>
1453
1454 Remove nested functions from PCI iterators.
1455
1456 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
1457 passed to hook. Update all callers to pass appropriate hook data.
1458 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
1459 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1460 Remove NESTED_FUNC_ATTR from here and from all users.
1461 (grub_pci_iterate): Update prototype.
1462 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1463 instead of nested. Rename to ...
1464 (grub_cs5536_find_iter): ... this.
1465 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1466 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1467 Likewise.
1468 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1469 Likewise.
1470 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1471 Likewise.
1472 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1473 Likewise.
1474 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1475 * grub-core/video/radeon_fuloong2e.c
1476 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1477 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1478 find_card): Likewise.
1479 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1480 Likewise.
1481
f8e98fee
VS
14822013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/commands/verify.c: Mark messages for translating.
1485
055b36b6
VS
14862013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1489 fatal.
1490
f7ff879b
VS
14912013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1494 fatal.
1495
14962013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
1497
1498 * autogen.sh: Do not try to delete nonexistant files.
1499 * util/import_gcrypth.sed: Add some missing header removals.
1500
01323d49
CW
15012013-01-12 Colin Watson <cjwatson@ubuntu.com>
1502
1503 Clean up dangling references to grub-setup.
1504 Fixes Ubuntu bug #1082045.
1505
1506 * docs/grub.texi (Images): Refer generally to grub-install rather
1507 than directly to grub-setup.
1508 (Installing GRUB using grub-install): Remove direct reference to
1509 grub-setup.
1510 (Device map) Likewise.
1511 (Invoking grub-install): Likewise.
1512 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1513 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1514 * util/grub-install.in (usage): Likewise.
1515
1516 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1517 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1518 grub-setup.
1519 * configure.ac: Remove grub_setup output variable.
1520
1521 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1522 to grub-bios-setup.
1523 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1524 grub-setup to grub-sparc64-setup.
1525
5e3b8dcb
VS
15262013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Import gcrypt public-key cryptography and implement signature checking.
1529
535714bd
VS
15302013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/fs/ntfs.c: Ue more appropriate types.
1533 * grub-core/fs/ntfscomp.c: Likewise.
1534 * include/grub/ntfs.h: Likewise.
1535
3e4f3566
VS
15362013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Support Apple FAT binaries on non-Apple platforms.
1539
1540 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1541 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1542 Likewise.
1543 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1544 Apple FAT binaries.
1545
4dedb13f
VS
15462013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1549 sector devices.
1550
f8861eaf
CW
15512013-01-07 Colin Watson <cjwatson@ubuntu.com>
1552
1553 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1554 explicitly zeroing elements.
1555 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1556 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1557 of elements in a structure already allocated using grub_zalloc.
1558 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1559
86065b0a
CW
15602013-01-07 Colin Watson <cjwatson@ubuntu.com>
1561
1562 * docs/grub.texi (grub_cpu): New subsection.
1563 (grub_platform): Likewise.
1564
c6f1e92f
VS
15652013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1568
f797ec85
VS
15692013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1572 divisions.
1573
033d0b4b
VS
15742013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1577 * grub-core/fs/ntfscomp.c: Likewise.
1578 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1579 (grub_ntfs_comp): Likewise.
1580
21d1b9a0
VS
15812013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1584 Rename to ...
1585 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1586 of groups_per_block. All users updated.
1587
10ca8645
VS
15882013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1591 grub_error properly.
1592 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1593 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1594
a4c3ed4c
VS
15952013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1598 always in /boot/zfs.
1599 Reported by: Yuta Satoh.
1600
0b716507
YS
16012013-01-03 Yuta Satoh <nigoro>
1602
1603 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1604 ${grub_probe}
1605
00c05e22
VS
16062013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * configure.ac: Extend -Wno-trampolines to host.
1609
dadddb76
VS
16102013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1613 entry->len = 0.
1614
54ce53ca
CW
16152013-01-03 Colin Watson <cjwatson@ubuntu.com>
1616
1617 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1618 (Invoking grub-script-check): Likewise.
1619
8912efca
CW
16202013-01-03 Colin Watson <cjwatson@ubuntu.com>
1621
1622 * docs/grub.texi (Invoking grub-mount): New section.
1623 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1624
c3fc8394
CW
16252013-01-02 Colin Watson <cjwatson@ubuntu.com>
1626
1627 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1628 test failures, so that a failing unit test correctly causes 'make
1629 check' to fail.
1630
45d26abb
CW
16312013-01-02 Colin Watson <cjwatson@ubuntu.com>
1632
1633 Fix failing printf test.
1634
1635 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1636 '$' in the correct order when collecting type information.
1637
971dd2c6
CW
16382013-01-02 Colin Watson <cjwatson@ubuntu.com>
1639
1640 * docs/grub.texi (configfile): Explain environment variable
1641 handling.
1642 (source): New section.
1643 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1644
5c67ea6c
CW
16452012-12-31 Colin Watson <cjwatson@ubuntu.com>
1646
1647 Remove several trivially-unnecessary uses of nested functions.
1648
1649 * grub-core/commands/i386/pc/sendkey.c
1650 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1651 instead of nested.
1652 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1653 Rename to ...
1654 (legacy_file_getline): ... this.
1655 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1656 Likewise.
1657 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1658 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1659 to ...
1660 (probe_dummy_iter): ... this.
1661 * grub-core/kern/i386/coreboot/mmap.c
1662 (grub_linuxbios_table_iterate: check_signature): Likewise.
1663 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1664 check_varstate): Likewise. Mark inline.
1665 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1666 an additional parameter.
1667 (find_long: fnd_long): Likewise. Pass two additional parameters.
1668 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1669 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1670 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1671 Likewise. Rename to ...
1672 (grub_cmos_find_port_iter): ... this.
1673 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1674 Rename to ...
1675 (find_rtc_iter): ... this.
1676
1677 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1678 function directly into the function body, since it is only called
1679 once.
1680
33a68ac6
CW
16812012-12-30 Colin Watson <cjwatson@ubuntu.com>
1682
1683 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1684 __attribute__ ((unused)).
1685 * grub-core/video/bochs.c (find_card): Likewise.
1686 * grub-core/video/cirrus.c (find_card): Likewise.
1687 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1688 * grub-core/video/sis315pro.c (find_card): Likewise.
1689 * grub-core/video/sm712.c (find_card): Likewise.
1690
608b647a
CW
16912012-12-28 Colin Watson <cjwatson@ubuntu.com>
1692
1693 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1694 Fixes Savannah bug #37821.
1695
fd49ceb3
CW
16962012-12-28 Colin Watson <cjwatson@ubuntu.com>
1697
1698 Apply program name transformations at build-time rather than at
1699 run-time. Fixes Debian bug #696465.
1700
1701 * acinclude.m4 (grub_TRANSFORM): New macro.
1702 * configure.ac: Create output variables with transformed names for
1703 most programs.
1704 * util/bash-completion.d/grub-completion.bash.in: Use
1705 pre-transformed variables for program names.
1706 * util/grub-install.in: Likewise.
1707 * util/grub-kbdcomp.in: Likewise.
1708 * util/grub-mkconfig.in: Likewise.
1709 * util/grub-mkconfig_lib.in: Likewise.
1710 * util/grub-mknetdir.in: Likewise.
1711 * util/grub-mkrescue.in: Likewise.
1712 * util/grub-mkstandalone.in: Likewise.
1713 * util/grub-reboot.in: Likewise.
1714 * util/grub-set-default.in: Likewise.
1715 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1716 * tests/util/grub-shell-tester.in: Remove unused assignment.
1717 * tests/util/grub-shell.in: Likewise.
1718 * util/grub.d/00_header.in: Likewise.
1719
7024b3c0
CW
17202012-12-28 Colin Watson <cjwatson@ubuntu.com>
1721
1722 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1723
1724 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1725 HAVE_RAW_DECL_GETS.
1726 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1727
e3501b13
VS
17282012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1731 Reported by: Eriks Latosheks <foresterlv>.
1732
b40c88a9
VS
17332012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * docs/grub.texi (Network): Update instructions on generating netboot
1736 image.
1737
ce96d01c
VS
17382012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1741 around device name if necessarry.
1742
0f596201
PFS
17432012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1744
1745 * util/grub-install.in: Follow the symbolic link parameter added
1746 to the file command.
1747
600d5bdb
AB
17482012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1749
1750 * util/grub-install.in: Remove stale TODO.
1751
64ebd2f4
PFS
17522012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1753
1754 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1755 dynamic allocation for the bootpath buffer.
1756
74b2fe3e
DTB
17572012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1758
1759 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1760 window too small.
1761
969b804f
VS
17622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1765 argument rather than font name. All users updated.
1766 (grub_gfxterm_set_window): Likewise.
1767
b9f5ebd6
VT
17682012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1769
1770 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1771 from working.
1772
258f43b7
VS
17732012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * util/getroot.c (convert_system_partition_to_system_disk): Support
1776 nbd disks.
1777
cc1ce5f9
VS
17782012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1781 infinite loop on corrupted FS.
1782
e77a16ca
VS
17832012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 Fix big-endian mtime.
1786
1787 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1788 together sec and usec.
1789 (grub_ufs_dir): Use correct byteswapping for UFS time.
1790
d9c48c7b
VS
17912012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 Support big-endian UFS1.
1794
1795 * Makefile.util.def (libgrubmods): Add ufs_be.c
1796 * grub-core/Makefile.core.def (ufs1_be): New module.
1797 * grub-core/fs/ufs_be.c: New file.
1798 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1799 the file.
1800
2f9f40ba
LL
18012012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1802
1803 * include/grub/types.h: Fix functionality unaffecting typo in
1804 GRUB_TARGET_WORDSIZE conditional macro.
1805
48ff0889
PFS
18062012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1807
1808 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1809
03711240
GS
18102012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1811
1812 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1813 that /netbsd appears first (when it exists).
1814
a31b11bd
CJ
18152012-10-12 Christoph Junghans <ottxor@gentoo.org>
1816
1817 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1818 Fixes Savannah bug #37558.
1819
e8a5d5d4
CW
18202012-10-12 Colin Watson <cjwatson@ubuntu.com>
1821
1822 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1823 description of extract_entries_configfile.
1824
18252012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
1826
1827 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1828 preferred_address.
1829 (grub_cmd_linux): Likewise.
1830 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1831 preferred_lifetime. Update all users.
1832
288c757d
CW
18332012-09-26 Colin Watson <cjwatson@ubuntu.com>
1834
1835 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1836 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1837
0d35da3f
CW
18382012-09-26 Colin Watson <cjwatson@ubuntu.com>
1839
1840 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1841 errors from grub-probe to /dev/null, not stdout.
1842
b78c3127
VS
18432012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1846 sector 1.
1847
473959f0
CW
18482012-09-24 Colin Watson <cjwatson@ubuntu.com>
1849
1850 * util/grub-install.in: Make the error message if $source_dir
1851 doesn't exist more useful.
1852
794c8c33
CW
18532012-09-22 Colin Watson <cjwatson@ubuntu.com>
1854
1855 Fix grub-emu build on FreeBSD.
1856
1857 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1858 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1859 headers on Linux.
1860 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1861 implementation is currently Linux-specific.
1862 * util/getroot.c (exec_pipe): Define only on Linux or when either
1863 libzfs or libnvpair is unavailable.
1864 (find_root_devices_from_poolname): Remove unused path variable.
1865
86d08fdb
CW
18662012-09-19 Colin Watson <cjwatson@ubuntu.com>
1867
1868 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1869 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1870 should fit before end == 63.
1871
735abf54
CW
18722012-09-19 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * util/grub-setup.c (write_rootdev): Remove unused core_img
1875 parameter. Update all callers.
1876 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1877 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1878 GRUB_SETUP_BIOS.
1879
140acd3c
VS
18802012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1883 (grub_add_tab): New function.
1884 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1885 * util/grub.d/10_illumos.in: Likewise.
1886 * util/grub.d/10_kfreebsd.in: Likewise.
1887 * util/grub.d/10_linux.in: Likewise.
1888 * util/grub.d/10_netbsd.in: Likewise.
1889 * util/grub.d/10_windows.in: Likewise.
1890 * util/grub.d/10_xnu.in: Likewise.
1891 * util/grub.d/20_linux_xen.in: Likewise.
1892 * util/grub.d/30_os-prober.in: Likewise.
1893
7ddffdad
VS
18942012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1897 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1898 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1899 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1900 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1901 ieee1275-nocursor.
1902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1903 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1904
4e092454
VS
19052012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1908 le-conversion.
1909 Reported by: BURETTE, Bernard.
1910
735abf54 19112012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
1912
1913 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1914 from comment.
1915
dfd39dbd
CW
19162012-09-14 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1919 IEEE1275 machines. Fixes powerpc-emu compilation.
1920 * include/grub/terminfo.h: Likewise.
1921
3bfa763c
VS
19222012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1925 a const pointer.
1926 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1927 const pointer.
1928 (efiemu_set_variable): Make vendor_guid a const pointer.
1929
250e475b
VS
19302012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Don't require grub-mkconfig_lib to generate manpages for programs.
1933
1934 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1935 dependencies, don't add grub-mkconfig_lib.
1936 (program): Pass empty adddeps.
1937 (script): Pass grub-mkconfig_lib as adddeps.
1938
592fd0e4
VS
19392012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1942 * util/getroot.c (grub_find_device): Likewise.
1943 (get_mdadm_uuid): Likewise.
1944 (grub_util_is_imsm): Likewise.
1945 (grub_util_pull_device): Likewise.
1946 * util/grub-probe.c (probe): Likewise.
1947
801a3027
BG
19482012-09-10 Benoit Gschwind <gschwind>
1949
1950 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1951 (devs): Add devpath_8.
1952
c5052c81
PJ
19532012-09-08 Peter Jones <pjones@redhat.com>
1954
1955 * grub-core/Makefile.core.def (efifwsetup): New module.
1956 * grub-core/commands/efi/efifwsetup.c: New file.
1957 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1958 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1959 New define.
1960 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1961
8e832f71
JS
19622012-09-05 Jiri Slaby <jslaby@suse.cz>
1963
1964 * configure.ac: Add SuSe path.
1965
f0f55752
CW
19662012-09-05 Colin Watson <cjwatson@ubuntu.com>
1967
1968 * NEWS: Fix typo.
1969
ecadc4c2
CW
19702012-09-05 Colin Watson <cjwatson@ubuntu.com>
1971
1972 * util/import_gcry.py: Sort cipher_files, to make build system
1973 generation more deterministic.
1974
64498f25
VS
19752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1978 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1979 (grub_set_datetime): Likewise.
1980
9cc836a2
VS
19812012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1984 warnings.
1985
bcfcea01
VS
19862012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1989
a4099485
VS
19902012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1993
265c162a
CW
19942012-09-04 Colin Watson <cjwatson@ubuntu.com>
1995
1996 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1997 required for checkouts from bzr, but it may be useful for users or
1998 distributors wishing to update translations against a tarball
1999 distribution, and it can be helpful for the tarball to be a superset
2000 of what's in bzr.
2001
3d171e95
CW
20022012-09-04 Colin Watson <cjwatson@ubuntu.com>
2003
2004 * Makefile.am (EXTRA_DIST): Add
2005 grub-core/tests/boot/linux.init-mips.S,
2006 grub-core/tests/boot/linux.init-ppc.S, and
2007 grub-core/tests/boot/linux-ppc.cfg.
2008
f2c2503e
CW
20092012-09-04 Colin Watson <cjwatson@ubuntu.com>
2010
2011 * grub-core/mmap/mips/loongson: Remove empty directory.
2012
20132012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
2014
2015 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2016 gone.
2017
ab2163d5
CW
20182012-09-04 Colin Watson <cjwatson@ubuntu.com>
2019
2020 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2021 grub-sparc64-setup.
2022
ce938140
GS
20232012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2024
2025 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2026
529f58a5
GS
20272012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2028
2029 * po/POTFILES.in: Regenerated.
2030
16cf79e9
GS
20312012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2032
2033 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2034 (NetBSD): New subsection.
2035
39b27f1e 20362012-07-22 Ales Nesrsta <starous@volny.cz>
2037
2038 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2039 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2040
a885261b
VS
20412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2044 * util/grub.d/10_hurd.in: Add missing quoting.
2045 * util/grub.d/10_illumos.in: Likewise.
2046 * util/grub.d/10_kfreebsd.in: Likewise.
2047 * util/grub.d/10_linux.in: Likewise.
2048 * util/grub.d/20_linux_xen.in: Likewise.
2049
7bd29c01
VS
20502012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 New command `lsefi'.
2053
2054 * grub-core/Makefile.core.def (lsefi): New module.
2055 * grub-core/commands/efi/lsefi.c: New file.
2056 * include/grub/efi/api.h: Add more GUIDs.
2057
ac625d8f
VS
20582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2061 (grub_bsd_elf32_hook): Likewise.
2062 (grub_bsd_elf64_size_hook): Likewise.
2063 (grub_bsd_elf64_hook): Likewise.
2064 (grub_bsd_load_elf): Likewise.
2065
e73bb801
VS
20662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2069 if hash function is unavailable.
2070 (dec_stream_header): Likewise.
2071
e81db8b5
VS
20722012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2075 filter state.
2076
d187a1c3
VS
20772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 Fix coreboot compilation.
2080
2081 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2082 (grub_vga_text_init_real): ... this.
2083 (grub_vga_text_fini): Rename to ...
2084 (grub_vga_text_fini_real): ... this.
2085
91a05f64
VS
20862012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2089
6af96df7
VS
20902012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/lib/legacy_parse.c: Support clear and testload.
2093
4d569e12
VS
20942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2097
073b57bb
VS
20982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2101
a706f4cc
VS
21022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/net/tftp.c (ack): Fix endianness problem.
2105 (tftp_receive): Likewise.
2106 Reported by: Michael Davidsaver.
2107
e7850aa9
VS
21082012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2111
21122012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2115 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2116 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2117
35692881
VS
21182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2121 efi_mmap_size.
2122 Reported by: Stuart Hayes.
2123
c35fc5bd
VS
21242012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2127
2128 * grub-core/Makefile.core.def (mda_text): New module.
2129 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2130 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2131 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2132 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2133 here.
2134 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2135 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2136 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2137 here.
2138 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2139 to ..
2140 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2141 ... here
2142 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2143 here.
2144 * grub-core/term/i386/vga_common.c: Removed.
2145 * include/grub/i386/vga_common.h: Likewise.
2146 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2147 (grub_vga_cr_bw_read): Likewise.
2148 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2149 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2150 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2151 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2152 grub_vga_cr_read/grub_vga_cr_write.
2153 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2154
5f91f701
VS
21552012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * configure.ac: Bump version to 2.00.
2158 * grub-core/normal/main.c (features): Add feature_200_final.
2159
0c4f85f6
VS
21602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
21612012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2162
2163 * NEWS: Fix unclarity and language mistakes.
2164
f923ad22
VS
21652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2168 additional size to 3 pages.
2169 Reported by: Stuart Hayes.
2170
d22029ba
VS
21712012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * NEWS: Add 2.00 entry.
2174
58eee08f
VS
21752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2178 put explicit "/" for empty path.
2179 (wildcard_expand): Improve dprintf.
2180
c59bdff7
VS
21812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2184 it's equal to currnode. This can happen with "" symlink.
2185
5e6a440a
YB
21862012-06-27 Yves Blusseau <blusseau@zetam.org>
2187
2188 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2189 echo shell command by printf command.
2190
73a68bcb
VS
21912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2194 the value returned by firmware is the maximal position, not diumension.
2195 (grub_terminfo_output_state): Use a more sane fallback.
2196
392a603b
VS
21972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2200
42d0867f
VS
22012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2204 frequency to 150 MHz.
2205
489509f4
VS
22062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Apple fixes.
2209
2210 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2211 __APPLE_
2212 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2213 definition.
2214 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2215
9f3fc883
VS
22162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Handle slash in HFS label.
2219
2220 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2221 (grub_hfs_dir): Tanslate slash.
2222 (grub_hfs_label): Don't translate slash.
2223
54853fd7
VS
22242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2227 network protocol listing since it introduces problematic dependency on
2228 net module.
2229
4dc02ddf
VS
22302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2233
c50c867d
VS
22342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 Init video early on yeeloong to avoid being rebooted by watchdog.
2237
2238 * grub-core/Makefile.am (gensm712): New target.
2239 (sm712_start.S): Likewise.
2240 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2241 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2242 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2243 description.
2244 * include/grub/vga.h: Move registry definitions to...
2245 * include/grub/vgaregs.h: ... here.
2246
5f92c8a1
VS
22472012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2250 signedness.
2251
e9e6f111
VS
22522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2255 platforms with firmware disk drivers in the core.
2256
754ad9eb
VS
22572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2260 informative verbose message.
2261 (read_lv): Handle 64-bit segment size.
2262
315654c2
VS
22632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2266
fb022c79
VS
22672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2270 character but still remove trainling spaces.
2271 (grub_fat_label): Ignore archive flag.
2272
8645f72c
VS
22732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2276 cast between linux_kernel_header and linux_kernel_params.
2277
36498496
VS
22782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2281 type for size.
2282 (grub_raid6_recover_func_t): Likewise.
2283 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2284 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2285
0b5ea6b8
VS
22862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2289
650cfcfe
GS
22902012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2291
2292 Fix overflow.
2293
2294 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
2295 [__NetBSD__]: Add explicit cast before bitshift.
2296
8a4d6a44
VS
22972012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * configure.ac: Bump to 2.00~rc1.
2300
2fb97ed3
VS
23012012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
2304 half of $a0.
2305
1fa097dc
VS
23062012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
23072012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
2308
2309 * docs/grub.texi: Fix search syntax.
2310 (Multi-boot manual config): Put msdos rather than GPT example.
2311 Grammar corrections.
2312
c890ba78
VS
23132012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2316
0f92dca7
VS
23172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2320
3988c4a0
VS
23212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
2324 message on double free. Put the value of magic in case of mismatch.
2325
9e86d4c5
VS
23262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Speed-up video on yeeloong.
2329
2330 * grub-core/video/sm712.c (framebuffer): Remove render_target and
2331 add cached_ptr.
2332 (grub_video_sm712_video_fini): Unmap cached_ptr.
2333 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
2334 (grub_video_sm712_set_active_render_target): Removed.
2335 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2336 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
2337 sync caches.
2338
ed24c312
VS
23392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 Avoid flushing the same line multiple times on loongson.
2342
2343 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
2344 Step in 32 bytes and not 1 byte.
2345 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
2346 Likewise.
2347
d1718e7d
VS
23482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2351 subvolumes.
2352
982f1909
VS
23532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Implement flow control for http.
2356
2357 * grub-core/net/http.c (parse_line): Handle response 206.
2358 (http_receive): Stall if too many packets are in the queue.
2359 (http_establish): Fix range header.
2360 (http_seek): Fix double free.
2361 (http_close): Likewise.
2362 (http_packets_pulled): New function.
2363 (grub_http_protocol): Set http_seek
2364 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
2365 (ack_real): Set window depending on i_stall.
2366 (grub_net_send_tcp_packet): Likewise.
2367 (grub_net_tcp_stall): New function.
2368 (grub_net_tcp_unstall): Likewise.
2369 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
2370 (grub_net_tcp_unstall): Likewise.
2371
bd407d6e
VS
23722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2375
c7564b8e
VS
23762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
2379
a3706162
VS
23802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * tests/util/grub-shell.in: Fix a typo.
2383
b27069e0
VS
23842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Implement flow control for tftp.
2387
2388 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
2389 packets but stop only if stop condition is satisfied.
2390 (grub_net_fs_read_real): Call packets_pulled after real read. Use
2391 `stall' instead of `eof' as stop condition.
2392 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
2393 (http_err): Likewise.
2394 * grub-core/net/tftp.c (ack): Replace the first argument with data
2395 instead of socket.
2396 (tftp_receive): Stall if too many packets are in wait queue.
2397 (tftp_packets_pulled): New function.
2398 (grub_tftp_protocol): Set packets_pulled.
2399 * include/grub/net.h (grub_net_packets): New field count.
2400 (grub_net_put_packet): Increment count.
2401 (grub_net_remove_packet): Likewise.
2402 (grub_net_app_protocol): New field `packets_pulled'.
2403 (grub_net): New field `stall'.
2404
6b9cfac6
VS
24052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
2408 sync part to handle them.
2409
f35abd81
VS
24102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
2413 * grub-core/net/drivers/ieee1275/ofnet.c
2414 (grub_ieee1275_net_config_real): Likewise.
2415
0e7ec820
VS
24162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
2419 the direct route for server/gateway.
2420
9d611a31
VS
24212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
2424 IP address to server name since we may not hame the DNS.
2425
418f45ab
VS
24262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
2429 freeing random buffer on failure.
2430 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
2431
44a0efc1
VS
24322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2435
531e2241
VS
24362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
2439 reserved bytes.
2440 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
2441 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
2442 Handle malloc error correctly.
2443
cde393c9
VS
24442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2447 blocks.
2448
538478d0
VS
24492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2452 increment.
2453
9b55efe0
VS
24542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
2457 none is explicitly specified.
2458
9eb832c3
VS
24592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2462 while reallocating.
2463
d6b7c7c9
VS
24642012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Respect netmask from bootp/dhcp.
2467
2468 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2469 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2470 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2471 into ...
2472 (grub_net_add_ipv4_local): ... this.
2473 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2474 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2475 (grub_net_add_ipv4_local): New proto.
2476
67caf9eb
VS
24772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2480 determining EFI memory map size.
2481
43657558
VS
24822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2485
eb6d0dd3
VS
24862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2489 when looking for partition separator.
2490
31230544
VS
24912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2494 Escape commas.
2495
918a2517
VS
24962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Restructure FAT driver to avoid hook in label reading as it hits a
2499 GCC bug.
2500
2501 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2502 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2503 (grub_fat_iterate_dir): Split into ...
2504 (grub_fat_iterate_init): ... this, ...
2505 (grub_fat_iterate_fini): ... this, ...
2506 (grub_fat_iterate_dir_next): ... and this. All users updated.
2507
9f1d654e
VS
25082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2511 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2512 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2513 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2514 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2515 New fields last_key and last_key_time.
2516 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2517 extended key-esc into extended key-extended key.
2518
52f0f643
VS
25192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 Avoid unnecessary memcpy of whole video buffer.
2522
2523 * grub-core/video/fb/video_fb.c (dirty): New struct.
2524 (framebuffer): Add members current_dirty and previous_dirty.
2525 (dirty): New function.
2526 (grub_video_fb_fill_rect): Update dirty.
2527 (common_blitter): Likewise.
2528 (grub_video_fb_scroll): Likewise.
2529 (doublebuf_blit_update_screen): Copy only dirty part.
2530 (doublebuf_pageflipping_update_screen): Likewise.
2531 (grub_video_fb_doublebuf_blit_init): Init dirty.
2532 (doublebuf_pageflipping_init): Likewise.
2533 (grub_video_fb_setup): Likewise.
2534
e169a180
VS
25352012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2538 poll rate.
2539
48556879
VS
25402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Fix wildcard regexp dot and other special characters handling.
2543 Reported by: Robert Mabee.
2544
2545 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2546 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2547 (split_path): Trigger expansion on '?'.
2548 (unescape): New function.
2549 (wildcard_expand): Unescape parts copied without globbing.
2550 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2551 (grub_script_arglist_to_argv): Don't unescape expansions.
2552
0494408e
VS
25532012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * include/grub/net.h (grub_net_card): New member txbufsize.
2556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2557 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2558 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2559 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2560 txbufsize.
2561 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2562 compatible property to check for macs. Set
2563 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2564 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2565 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2566 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2567 (send_card_buffer): Use txbuf.
2568 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2569 nested function out of the parent while on it.
2570
cc35fe8f
VS
25712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2574 presence check.
2575 (grub_ieee1275_net_config_real): Fix config pointer.
2576
970a0a09
VS
25772012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2580 filename parsing to non-block devices.
2581
3e19bf87
VS
25822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2585
c62d1a0c
VS
25862012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2589 All users updated.
2590
ef76bec3
VS
25912012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2594 UUID search command even if hints probing failed.
2595
25962012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
2597
2598 * po/POTFILES.in: Regenerated.
2599
70aaf305
VS
26002012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 Speed-up video on fuloong.
2603
2604 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2605 New function.
2606 (grub_pci_device_unmap_range): Handle non-cached address.
2607 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2608 add direct_ptr.
2609 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2610 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2611 (grub_video_sis315pro_set_active_render_target): Removed.
2612 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2613 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2614 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2615 sync caches.
2616 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2617 New proto.
2618
10400f0b
VS
26192012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * docs/grub.texi (Multi-boot manual config): New section.
2622
ba67e2c6
VS
26232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 Avoid slow read-back from VRAM.
2626
2627 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2628 Move from here ...
2629 * grub-core/video/fb/video_fb.c
2630 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2631 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2632 (front_target): Remove front_target. Add pages.
2633 (grub_video_fb_init): Skip setting front_pages.
2634 (grub_video_fb_fini): Likewise.
2635 (doublebuf_blit_update_screen): Use pages.
2636 (grub_video_fb_doublebuf_blit_init): Likewise.
2637 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2638 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2639 (grub_video_fb_setup): Prefer doublebuffing.
2640
377c98cb
VS
26412012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2644 gzio.
2645
eac49cff
VS
26462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 Add loongson tests.
2649
2650 * tests/util/grub-shell.in: Handle loongson.
2651 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2652 drivers.
2653 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2654 Reboot instead of shutdown if REBOOT is defined.
2655
0321415e
VS
26562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2659 sized ports since unlike on real hardware qemu supports only 32-bit
2660 regs.
2661
3f2bdd8f
VS
26622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2665 * util/grub-mkrescue.in: Handle loongson.
2666
29a049c9
VS
26672012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2670 Set is_part appropriately.
2671 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2672 names. Canonicalize partition without full disk.
2673
4abde346
VS
26742012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Revert usb-quiesce since it's wrong.
2677
2678 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2679 (grub_ofdisk_init): Don't do quiesce.
2680
61f1d93b
VS
26812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2684 PowerMac workaround to Xserves as well.
2685 Information supplied by: Benjamin Herrenschmidt.
2686
a09eb541
VS
26872012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 Don't assume that beginning address is also the entry point on ppc.
2690
2691 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2692 (grub_linux_boot): Use linux_entry.
2693 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2694 (grub_linux_load64): Likewise.
2695
505b3c9b
VS
26962012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2699
cbe0b4ef
VS
27002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2703 needlessly lose the console.
2704
3006e981
VS
27052012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2708 space.
2709
4e5a96b0
VS
27102012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2711
7da036bb
VS
2712 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2713 than current grub_get_rtc() not implemented when booted with
2714 coreboot without TSC.
2715
2716 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2717 Add machine/time.h to kernel headers on loongson.
2718 * grub-core/Makefile.core.def (kernel): Remove
2719 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2720 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2721 (grub_get_rtc): Likewise.
2722 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2723 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2724 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2725 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2726 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2727 rather than installing known non-working time source.
2728 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2729 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2730 * include/grub/time.h: Don't include machine/time.h.
2731 * include/grub/efi/time.h: Removed.
2732 * include/grub/i386/efi/time.h: Likewise.
2733 * include/grub/i386/ieee1275/time.h: Likewise.
2734 * include/grub/powerpc/ieee1275/time.h: Likewise.
2735 * include/grub/sparc64/ieee1275/time.h: Likewise.
2736 * include/grub/x86_64/efi/time.h: Likewise.
2737
27382012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
2741
2742 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2743 value.
2744 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2745 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2746 with dotless variants when any combining above is present.
2747
5561c22d
VS
27482012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2751 text and not binary.
2752
96f7e60e
VS
27532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Stop polling as soon as we have the packet we were waiting for.
2756
2757 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2758 All users updated.
2759 * grub-core/net/arp.c (have_pending): New var.
2760 (pending_req): Likewise.
2761 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2762 stop indicator.
2763 (grub_net_arp_receive): Set have_pending.
2764 * grub-core/net/dns.c (recv_data): New field stop.
2765 (recv_hook): Set stop.
2766 (grub_net_dns_lookup): Init stop and use as stop condition.
2767 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2768 condition.
2769 * grub-core/net/net.c (grub_net_poll_cards): New argument
2770 stop_condition. Stop when it goes true.
2771 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2772 indicator.
2773 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2774
3e747239
VS
27752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Keep TX and RX buffers on EFI rather than always allocate new ones.
2778
2779 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2780 card. All users updated.
2781 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2782 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2783 (get_card_packet): Likewise.
2784 (grub_efinet_findcards): Init new fields.
2785
f695e99a
VS
27862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2789 compilation error on sparc64.
2790
9e5e66d1
VS
27912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 Use ITC on IA64 rather than broken routine based on daytime.
2794
2795 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2796 ia64.
2797 (grub_get_rtc) [__ia64__]: Likewise.
2798 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2799 (get_itc): New function.
2800 (grub_rtc_get_time_ms): Likewise.
2801 (grub_machine_init): Calibrate ITC.
2802 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2803 Keep only on non-ia64. Don't export since it's broken and used only
2804 if TSC is unavailable.
2805
a1767404
VS
28062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2809 even if it's used.
2810 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2811 Skip if parent is unused.
2812
34b2bced
VS
28132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2816
5e619f40
VS
28172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Fix wildcard escaping.
2820
2821 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2822 * grub-core/script/execute.c (wildcard_escape): .. to here.
2823 Don't escape dot.
2824 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2825 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2826 Don't escape dot.
2827 * grub-core/script/execute.c (gettext_append): Always escape.
2828 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2829 * grub-core/script/yylex.l: Don't cut away the escaping.
2830 * tests/grub_script_echo1.in: Add tests with wildcard.
2831
c8ca5855
VS
28322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2835 (ftdi_hw_configure): Likewise.
2836 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2837 define.
2838 (real_config): Handle 1.5 stop bits.
2839 (pl2303_hw_configure): Likewise.
2840
7183452c
VS
28412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * Makefile.am: Add ppc linux bootcheck.
2844 * grub-core/tests/boot/linux-ppc.cfg: New file.
2845 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2846
f57c84cd
VS
28472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * tests/grub_script_expansion.in: Skip network protocols.
2850
ecfc6207
VS
28512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2854
8d03d284
VS
28552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2858 --rom-directory.
2859 Add -graft-points.
2860
61c42af0
VS
28612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 ESCC serial driver for conducting sautomated tests in qemu.
2864 Not tested on real hardware.
2865
2866 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2867 * grub-core/term/ieee1275/escc.c: New file.
2868 * grub-core/Makefile.core.def (escc): New module.
2869
08fd1291
VS
28702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2873 invalid on error.
2874 (serial_hw_fetch): Don't read invalid handle.
2875 (serial_hw_put): Don't write into invalid handle.
2876
08dafeea
VS
28772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 Add a 1.5 stop bits value.
2880
2881 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2882 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2883 GRUB_SERIAL_STOP_BITS_1_5.
2884
9068fdcf
VS
28852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2888 value rather than let it uninited.
2889
f4d5820f
VS
28902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/commands/wildcard.c (+check_file): New function.
2893 (wildcard_expand): Don't expand to non-existing files, expand with
2894 suffix and not attempt to expand if not needed.
2895
3d2de9a7
VS
28962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2899 out of partitions containing other partitions.
2900
c5c81ff9
VS
29012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2904 on some qemu versions with GRUB.
2905
2906 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2907 define.
2908 (grub_openbsd_bootarg_pcibios): New struct.
2909 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2910 Add PCIINFO.
2911
08a14e0b
VS
29122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * tests/util/grub-shell.in: Trim firmware output on EFI.
2915
cede3ca3
VS
29162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2919 and coreboot since it's already in kernel.
2920
558d3a60
VS
29212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2924 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2925 to here. New return value start. All users updated.
2926 Recursively scan linear mappings.
2927 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2928 proto.
2929 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2930 Use grub_util_get_dm_node_linear_info.
2931 * util/getroot.c (convert_system_partition_to_system_disk): Use
2932 grub_util_info rather than grub_dprintf.
2933 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2934
60fde14d
VS
29352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2938
2939 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2940 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2941
24bd8838
VS
29422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * include/grub/types.h (grub_set_unaligned64): New function.
2945 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2946 (setup): Likewise.
2947
7bc06a49
VS
29482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2951 (grub_ofdisk_fini): Quiesce USB devices.
2952
49cea015
VS
29532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2956 caches.
2957
8dcbe03b
VS
29582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2961
5b258735
VS
29622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/disk/pata.c (grub_pata_pio_read)
2965 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2966 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2967
37ba07eb
VS
29682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 Extend automated tests to qemu-mips.
2971
2972 * Makefile.am: reorganise tests and enable qemu-mips.
2973 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2974 * grub-core/tests/boot/linux.init-mips.S: New file.
2975 * tests/partmap_test.in: Handle ata0 disks.
2976 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2977 non-pc i386.
2978
070038f8
VS
29792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2982 ia64.
2983 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2984 quotes while on it.
2985
004be2cd
VS
29862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2989 (grub_halt): Likewise.
2990 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2991
b1622487
VS
29922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/term/serial.c (grub_serial_register)
2995 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2996 the behaviour in line with x86 platforms.
2997
b7b4ab33
VS
29982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3001 (grub_ata_strncpy): Likewise.
3002 (grub_ata_identify): Add missing byteswaps.
3003
5e3535ae
VS
30042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3007 byte-swap.
3008 (screen_read_char): Likewise.
3009 (grub_vga_text_cls): Likewise.
3010
c21b17e6
VS
30112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3014 filenames.
3015 (make_file_path): Likewise.
3016
bf293dec
VS
30172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3020 machines.
3021 Tested by: Paulo Flabiano Smorigo.
3022 Crucial information about API supplied by: Coleen <Last name unknown>.
3023 Reviewed by: Coleen <Last name unknown>.
3024
81f6ef0e
VS
30252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/grub-mkimage.c: Disable -Wcast-align.
3028
7284143a
VS
30292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3032 as they are fatal.
3033
b99f3e00
VS
30342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3037
944f752d
VS
30382012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/grub-probe.c (escape_of_path): Fix double free.
3041
6cce6f38
VS
30422012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/commands/videoinfo.c (hook): Show pitch.
3045
1e1eb50e
VS
30462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3049
1c715b5a
VS
30502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3053 (probe): Add ieee1275 to OFW devices.
3054
007ae52d
VS
30552012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3058
4557a36d
VS
30592012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 Handle IBM OFW path.
3062
3063 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3064 available.
3065 (of_path_of_scsi): Handle vdevice.
3066
efbeefe9
VS
30672012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3070 Allocate in multiples of 16 to avoid adding a few bytes free region the
3071 windows bugs upon.
3072
15a940bb
VS
30732012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3076 Allocate in multiples of 16 to avoid adding a few bytes free region the
3077 windows bugs upon.
3078 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3079
6e5efd60
VS
30802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3083 resolutions.
3084 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3085 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3086
0d3d137e
IS
30872012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3088
3089 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3090
45dbe300
VS
30912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3094 resulted in \\ at the end of the line.
3095
6d8db947
VS
30962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3099 (grub_parser_cmdline_state): Likewise.
3100 (grub_parser_split_cmdline): Likewise.
3101
de89d338
VS
31022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3105 /dev/root and /dev/dm-*.
3106
00d41dee
VS
31072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3110 fix partially stale display.
3111
f95d1f11
VS
31122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3115 substraction.
3116
6297e197
VS
31172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3120 Fix MBR remapping workaround.
3121 (grub_util_biosdisk_read) [__linux__]: Likewise.
3122
8a7ecad3
VS
31232012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3126
2b34f944
VS
31272012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * configure.ac: Bump to beta6.
3130
684aef11
CW
31312012-05-31 Christer Weinigel <christer@weinigel.se>
3132
3133 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3134
05b0bb91
VS
31352012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3138 (grub_cmd_linux): Likewise.
3139
bda36bfa
CW
31402012-05-31 Christer Weinigel <christer@weinigel.se>
3141
3142 Fix EHCI low-speed.
3143
3144 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3145 (GRUB_EHCI_MULT_TWO): Likewise.
3146 (GRUB_EHCI_MULT_THREE): Likewise.
3147 (GRUB_EHCI_CMASK_MASK): New enum value.
3148 (GRUB_EHCI_SMASK_MASK): Likewise.
3149 (GRUB_EHCI_CMASK_OFF): Likewise.
3150 (GRUB_EHCI_SMASK_OFF): Likewise.
3151 (grub_ehci_pci_iter): Enable periodic schedule.
3152 (grub_ehci_parse_notrun): Likewise.
3153 (grub_ehci_restore_hw): Likewise.
3154 (grub_ehci_setup_qh): Set flags for low speed transfers.
3155 (grub_ehci_find_qh): Use periodic list for low speed.
3156 (grub_ehci_setup_transfer): Check periodic queue as well.
3157 (grub_ehci_check_transfer): Likewise.
3158 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3159
e12bcb1c
PFS
31602012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3161
3162 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3163 parameter is used.
3164
bcc75fb3
PJ
31652012-05-31 Peter Jones <pjones@redhat.com>
3166
3167 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3168 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3169 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3170
f19cb95e
VS
31712012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3174 uninited variable. Allocate at least setup_sects.
3175
a4e5ca80
VS
31762012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Fix handling of EFI with big memory maps.
3179
3180 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3181 (real_mode_mem): Likewise.
3182 (real_mode_target): Likewise.
3183 (real_mode_pages): Likewise.
3184 (prot_mode_pages): Likewise.
3185 (linux_params): New var.
3186 (linux_cmdline): Likewise.
3187 (free_pages): Don't set real mode variables.
3188 (allocate_pages): Don't allocate real mode memory.
3189 (grub_e820_add_region): Remove the limit.
3190 (grub_linux_boot): Allocate and copy real mode memory.
3191 (grub_linux_unload): Free linux_cmdline.
3192 (grub_cmd_linux): Use temporary storage for parameters.
3193 (grub_cmd_initrd): Likewise.
3194 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3195 (linux_kernel_params): Make it 1K big.
3196
ddb73558
VS
31972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * Makefile.util.def: Remove -Wno-format.
3200 * grub-core/Makefile.core.def: Likewise.
3201
1c4afb60
VS
32022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * tests/cmp_unit_test.c: Add missing failure message.
3205 * tests/example_unit_test.c: Likewise.
3206 * tests/printf_unit_test.c: Likewise.
3207
941e3a6d
VS
32082012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3211 relaxation of protective MBR requirements.
3212
b105df76
VS
32132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * configure.ac: Add condition for COND_HOST_XNU.
3216 * Makefile.util.def (10_xnu): New script.
3217 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3218
84e1569e
VS
32192012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3222 objconv bug.
3223
130c0f77
VS
32242012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3227 Binary on other platforms stays identical.
3228
6fd0b143
VS
32292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3232 Apple.
3233
0af1751d
VS
32342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3237
176d5f7d
VS
32382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3241 rather than defining size_t ourselves to avoid conflict.
3242
7de5e20a
VS
32432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3246 initialisation to avoid __bzero reference.
3247
f7143efe
VS
32482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3251 version.
3252 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3253 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3254 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3255 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3256 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3257
e6ad0555
VS
32582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3261 * grub-core/kern/misc.c: Likewise.
3262 * grub-core/loader/i386/xnu.c: Likewise.
3263 * include/grub/i386/tsc.h: Likewise.
3264 * include/grub/symbol.h: Likewise.
3265
4a5a3c4a
VS
32662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3269 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3270 on older compiler.
3271
037f6d90
VS
32722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3275 Implement Apple flavour.
3276 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3277
f7194551
VS
32782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3281 (memmove) [__APPLE__]: Likewise.
3282 (memcpy) [__APPLE__]: Likewise.
3283 (memset) [__APPLE__]: Likewise.
3284 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3285 (memmove) [__APPLE__]: Likewise.
3286 (memcpy) [__APPLE__]: Likewise.
3287 (memset) [__APPLE__]: Likewise.
3288
85a730ca
VS
32892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3292 dependency discard.
3293
40e80b94
VS
32942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/normal/main.c (read_config_file): Provide config_file and
3297 config_directory.
3298 * util/grub.d/41_custom.in: Use config_directoy when available.
3299
9da59c32
VS
33002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
3303 (grub_bfs_dir): Likewise.
3304
2787ae53
PJ
33052012-05-27 Peter Jones <pjones@redhat.com>
3306
3307 The old code gives arguments to a printf function which can't work
3308 correctly, and the compiler complains.
3309
3310 * grub-core/tests/example_functional_test.c (example_test): Add
3311 missing text.
3312 * grub-core/tests/lib/test.c (add_failure): Rewrite.
3313 * include/grub/test.h (grub_test_assert_helper): New declaration.
3314 (grub_test_assert): Use grub_test_assert_helper.
3315
526ef13d
VS
33162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
3319 (exfctest): ... this to avoid overlong filenames.
3320 All users updated.
3321
20dd511c
VS
33222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Handle "." and ".." on squashfs.
3325
3326 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
3327 Make inode numbers into stack.
3328 (grub_squash_read_symlink): Use stack.
3329 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
3330 (make_root_node): Fill stack.
3331 (grub_squash_open): Use stack.
3332
1d80c62a
VS
33332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
3336 freeing.
3337
d336f652
VS
33382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
3341 stderr on test calls.
3342
8b43f587
VS
33432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3346
80a3dc3f
VS
33472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3350
47e297d4
VS
33512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
3354 "..".
3355
df042ccb
VS
33562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
3359 (grub_hfsplus_iterate_dir): Add "." and "..".
3360
fc977f48
VS
33612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/fs/cpio.c (canonicalize): Handle "..".
3364 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
3365
f3250e5f
VS
33662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
3369 (find_path): Handle "." and "..".
3370
fd8ed4c5
VS
33712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
3374 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
3375 (grub_affs_iterate_dir): Handle hardlinks.
3376
4ce776d2
MG
33772012-05-26 Matthew Garrett <mjg@redhat.com>
3378
3379 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
3380 (grub_efi_console_fini): Likewise.
3381 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
3382 (grub_video_gop_fill_mode_info): Rename to ...
3383 (grub_video_gop_fill_real_mode_info): ... this.
3384 (grub_video_gop_fill_mode_info): New function.
3385 (grub_video_gop_setup): Setup double framebuffer.
3386 (grub_video_gop_get_info_and_fini): Use original framebuffer.
3387 Free offscreen.
3388 (grub_video_gop_swap_buffers): Copy framebuffer.
3389 (grub_video_gop_fini): Free offscreen buffer.
3390 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
3391 New enum.
3392 (grub_efi_gop_blt_pixel): New struct.
3393
683031ba
VS
33942012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * gentpl.py: Remove error disabling for objconv.
3397
c2deb798
VS
33982012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * configure.ac: Remove -Wunitialized as it's not available on older
3401 compilers.
3402
34032012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
3404
3405 Fix extent overflow comparator.
3406
3407 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
3408 (grub_hfsplus_read_block): Set type.
3409 (grub_hfsplus_cmp_extkey): Compare type.
3410
d6b1fd36
VS
34112012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3414
0a9aa0f6
VS
34152012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
3418 than 0.
3419
8360e159
VS
34202012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
3423 (dejavu_bold_14.pf2): New target.
3424
501b9e4b
VS
34252012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * configure.ac: Fix djvu font detection.
3428
7026b0e2
VS
34292012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
3432 ext* instead of ext2.
3433
c2a51ade
VS
34342012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
3437 name with \0.
3438
8f803a5d
JU
34392012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3440
3441 * docs/grub-dev.texi: Remove dot from .png.
3442
13c6353f
VS
34432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
3446 protective entry in any slot.
3447 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
3448 if protective entry is found in any slot.
3449
3450 Protective entry in non-first slot make no sense but is a widespread
3451 brain damage.
3452
4cf6be1b
VS
34532012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3456
937d1c44
VS
34572012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3460 with old reiserfs.
3461 (grub_reiserfs_open): Don't free root.
3462
021d90ec
VS
34632012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3466 after freeing for safety.
3467
967b2b64
VS
34682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3471 Reported by: Jordan Uggla.
3472
34274d02
JU
34732012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3474
967b2b64
VS
3475 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3476 actual implementation. Specifically, clarify that the grub menu will
3477 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3478 passed.
34274d02 3479
dcaaae9d
BH
34802012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3481
3482 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3483 of r0.
3484
7086ad52
VS
34852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 Remove unjustified hard dependency of normal.mod on gfxterm.
3488
3489 * include/grub/term.h (grub_term_output): New member fullscreen.
3490 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3491 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3492 (grub_gfxterm): Set .fullscreen.
3493 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3494 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3495
37ed2c9b
VS
34962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3499 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 3500 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 3501
a4469c88
VS
35022012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3505
4e461486
VS
35062012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3509 a bad FS.
3510
aa78f5c4
VS
35112012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3514 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3515
197626b5
VS
35162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3519 (grub_jfs_mount): Fill caseins.
3520 (grub_jfs_find_file): Respect caseins.
3521
8ad3f28c
VS
35222012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3525 through UTF-16.
3526
0c6c324e
VS
35272012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3530 New argument origpath. All users updated.
3531
c6666ba6
VS
35322012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3535 (read_attr): Ensure that we read start of possibly compressed block.
3536
e28e5fe5
VS
35372012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3540 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3541 All users updated.
3542
5fc23ab2
VS
35432012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3546 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3547 (dejavu.pf2): Replace with ...
3548 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3549 this.
3550
79dbc21c
VS
35512012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * util/grub.d/20_linux_xen.in: Add missing line.
3554
d2fcfb0c
VS
35552012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3558 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3559 (grub_utf16_to_utf8): Likewise.
3560
5560e9d6
VS
35612012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3564 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3565 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3566 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3568 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3569
35702012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
3571
3572 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3573 a bad FS.
3574
5560e9d6 35752012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
3576
3577 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3578 (grub_udf_read_symlink): Handle read_string failure.
3579
5eae3175
VS
35802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3583 comment.
3584
c1ad82db
VS
35852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Fix handling of UDF symlinks.
3588
3589 * grub-core/fs/udf.c (read_string): New argument outbuf.
3590 All users updated.
3591 (grub_ufs_read_symlink): Rename to ...
3592 (grub_udf_read_symlink): ... this. All users updated.
3593 Handle symlinks with more than one component.
3594
33eca6e0
VS
35952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3598 symlinks. Replace leading colon with a slash.
3599
57f4a70b
VS
36002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3603 filename.
3604
38c8ee20
VS
36052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3608 match in inner node.
3609
2e57f28f
VS
36102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3613 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3614 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3615 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3616 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3617 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3618 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3619 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3620 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3621
fe8c2f11
VS
36222012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Use grub-probe and not cmp to check that disk is empty.
3625
3626 * util/grub-install.in: Use grub-probe for zero-check.
3627 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3628 (probe): Handle PRINT_ZERO_CHECK.
3629 (argp_parser): Handle -t zero_check.
3630
36312012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
3632
3633 Flush block cache on adding disk to device map.
3634
3635 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3636 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3637 adding.
3638 (read_device_map): Likewise.
3639 (open_device): Flush on opening.
3640
690434e8
VS
36412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3644 (handle_symlink): Fix off-by-one error.
3645 Canonicalize the target.
3646 (grub_cpio_dir): Canonicalize the name.
3647 Fix memory leak.
3648 Set directory.
3649 (grub_cpio_open): Canonicalize the name.
3650
742d2be6
VS
36512012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3654 handling.
3655
3244fe96
VS
36562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3659 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3660
8aeb1837
VS
36612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3664 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 3665 All users updated.
8aeb1837 3666
9133fd05
VS
36672012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3670 counterpart.
3671
6d521c5b
VS
36722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Fix UFS1 big file support.
3675
3676 * grub-core/fs/ufs.c (INODE): Removed.
3677 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3678 64-bit.
3679 (INODE_MODE): Simplify.
3680 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3681 (grub_ufs_lookup_symlink): Don't use INODE.
3682
21b82e17
VS
36832012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3686
3687 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3688 (grub_minix_data): Replace log_block_size with block_size.
3689 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3690 (grub_minix_mount): Fill block_size.
3691
36922012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
3693
3694 * configure.ac: Bump to beta5.
3695
f417ed04
VS
36962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 Fix wrapped HFS+ handling.
3699
3700 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3701 blocks_start. All users updated.
3702 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3703 wrapping offset.
3704 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3705
607d282b
VS
37062012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Fix long symlinks on reiserfs.
3709
3710 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3711 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3712 (grub_reiserfs_iterate_dir): Save size for non-directories.
3713 (grub_reiserfs_open): Don't reread stat block as we already know the
3714 size.
3715 (grub_reiserfs_read): Split into...
3716 (grub_reiserfs_read_real): ... and ...
3717 (grub_reiserfs_read): ...this.
3718
ae16024d
VS
37192012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Fix non-indexed JFS.
3722
3723 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3724 (grub_jfs_data): New field namecomponentlen.
3725 (grub_jfs_mount): Fill namecomponentlen.
3726 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3727
eea1e26e
VS
37282012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3731 * tests/grub_script_echo1.in: Add tests.
3732
df760f77
VS
37332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * util/grub-install.in: Ignore empty devicetree directory.
3736
5efb817d
B
37372012-05-08 Bean <bean123ch@gmail.com>
3738
3739 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3740 All users updated.
3741 (free_rsm): Free header as well.
3742 (free_old_fragments): Fix memory leak.
3743 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3744 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3745 (destroy_pq): Likewise.
3746 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3747
668ea6d2
VS
37482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3751 resulting hash as a precaution.
3752
1739b1fe
VS
37532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3756 '_' in variable names.
3757 * grub-core/net/net.c (grub_net_network_level_interface_register):
3758 Likewise.
3759
6ae485aa
VS
37602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Fix AFFS with non-512B blocks.
3763
3764 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3765 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3766 (grub_affs_data): Replace blocksize with log_blocksize.
3767 (grub_affs_read_block): Fix non-512B blocks.
3768 (grub_affs_read_symlink): Likewise.
3769 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3770 (grub_affs_read): Fix non-512B blocks.
3771 (grub_affs_label): Likewise.
3772 (grub_affs_mtime): Likewise.
3773 (grub_affs_mount): Fix block detection routine.
3774
d20fab84
VS
37752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Add filesystem mtime to AFFS.
3778
3779 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3780 (aftime2ctime): New function.
3781 (grub_affs_dir): Use aftime2ctime.
3782 (grub_affs_label): Fix return value.
3783 (grub_affs_mtime): New function.
3784 (grub_affs_fs): Add mtime.
3785
e87b10f5
VS
37862012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3789 UTF-8.
3790
7dceec9b
VS
37912012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3794 UTF-8.
3795
2f48221f
VS
37962012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3799
dacd85cf
VS
38002012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3803 flags.
3804 (FLAGS_CASE_SENSITIVE): New enum value.
3805 (cache_entry): New struct.
3806 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3807 cache_size and cache.
3808 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3809 Add log_blocksize and fshelp_flags.
3810 (grub_sfs_read_extent): Handle non-512 blocks.
3811 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3812 (grub_sfs_read_file): Handle non-512 blocks.
3813 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3814 fshelp_flags.
3815 (grub_sfs_read_symlink): Handle non-512 blocks.
3816 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3817 (grub_sfs_dir): Free cache.
3818 (grub_sfs_close): Likewise.
3819
24e9a854
VS
38202012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3823 filesystems.
3824
62ace64d
VS
38252012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3828
83b2e89c
VS
38292012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3832
75ccaea3
VS
38332012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3836 (grub_sfs_read_extent): Likewise.
3837 (grub_sfs_read_block): Likewise.
3838 (grub_sfs_mount): Likewise.
3839 (grub_sfs_iterate_dir): Likewise.
3840 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3841 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3842
1b8463f2
VS
38432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Fix errors on compressed NTFS with 512B clusters.
3846
3847 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3848 types.
3849 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3850 not 0.
3851 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3852 Relax check for inline extents.
3853 (ntfscomp): Return correct -1 on error and not 0.
3854
4f8e368f
VS
38552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * util/grub-install.in: Fix handling of prefix containing spaces.
3858
6f5d5ee8
VS
38592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3862 (grub_squash_read_data): Fix offset byte-swapping.
3863
ce41ab7a
VS
38642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3867 per common usage and preffered in several parts of code.
3868 (grub_memcmp): Likewise.
3869 (grub_strncmp): Likewise.
3870 * include/grub/misc.h (grub_strcasecmp): Likewise.
3871 (grub_strncasecmp): Likewise.
3872 * Makefile.util.def (cmp_test): New test.
3873 (grub_script_strcmp): Likewise.
3874 * tests/cmp_unit_test.c: New file.
3875 * tests/grub_script_strcmp.in: Likewise.
3876 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3877
49717bf4
VS
38782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * include/grub/pci.h: Move enums into no-asm part.
3881
0a308f64
VS
38822012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3885
1796965f
ST
38862012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3887
3888 * util/getroot.c (find_hurd_root_device): Try to make error message
3889 and comments to translators clearer.
3890
4e9b2819
VS
38912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3894
076aeb50
VS
38952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3898 btrfs.
3899
19424d94
VS
39002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * docs/grub.cfg: Update.
3903
ebb73076
VS
39042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * docs/grub.texi (PXE): Remove not present variables.
3907
9a1b669c
VS
39082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/net/net.c (defserver_set_env): New function.
3911 (defserver_get_env): Likewise.
3912 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3913
d38bf7d3
VS
39142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3917 entries.
3918
39192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
3920
3921 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3922 * grub-core/kern/emu/hostdisk.c: Likewise.
3923
e5e4ca48
ST
39242012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3925
3926 Handle hurd userspace partitions.
3927
3928 * util/getroot.c (find_hurd_root_device): New function.
3929 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3930
56bb5dd5
VS
39312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3934 names.
3935 Reported by: Bastian Blank.
3936
9e8bc27a
VS
39372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3940 crossing page boundary.
3941
aa01499d
VS
39422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 Fix B-tree search in BFS, especially in presence of non-ASCII
3945 characters.
3946
3947 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3948 (find_in_b_tree): Use standard bsearch + btree algorithm.
3949
57006035
VS
39502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3953 and so on.
3954
9d34bb85
MG
39552012-05-03 Matthew Garrett <mjg@redhat.com>
39562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 Suspend broadcom cards in order to stop their DMA.
3959
3960 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3961 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3962 (pci): Don't build on x86 EFI.
3963 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3964 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3965 New function.
3966 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3967 stop_broadcom if running on EFI.
3968 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3969 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3970 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3971 (grub_pci_find_capability): New proto.
3972
01aab997
VS
39732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * docs/grub.texi: Remove dot from the extension as it apparently
3976 doesn't work with some makeinfo versions.
3977
fbd8dca6
VS
39782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3981 with GRUB expectance.
3982
dab797f4
VS
39832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3986
1516bfb4
VS
39872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3990 zero after directory block since last entry may be not 0-terminated if
3991 it ends on block boundary. Use continue instead of if spanning whole
3992 loop.
3993
a3a0eace
VS
39942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 Support 4K sectors UDF inline files.
3997
3998 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3999 (grub_udf_extended_file_entry): Likewise.
4000 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4001 All users updated.
4002 (get_fshelp_size): New function.
4003 (grub_udf_read_icb): Read whole block.
4004 (grub_udf_iterate_dir): Likewise.
4005 (grub_udf_dir): Likewise.
4006 (grub_udf_open): Likewise.
4007
c82f16c1
VS
40082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4011
59fd2aac
VS
40122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4015 inline symlinks in addition to workaround.
4016
3b4afb4d
VS
40172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4020
f45c794a
VS
40212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4024
f25cecbd
VS
40252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4028
bb9a34e8
VS
40292012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Fix reiserfs big seek times.
4032
4033 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4034 exact. All users updated.
4035 (grub_reiserfs_read): Use nearest btree search for seeking.
4036 Fix return value on error.
4037
dc478aea
VS
40382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4041 entries.
4042 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4043 * docs/grub.texi: Update menuentry description.
4044
8db10f47
VS
40452012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4048 crash when embedding onto filesystem.
4049
bcb288ed
VS
40502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4053 name.
4054
a626fdd7
VS
40552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4058
b2f68477
VS
40592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4062 commit.
4063
ba15b2af
B
40642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
40652012-05-01 Bean <bean123ch@gmail.com>
4066
4067 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4068
a188012e
VS
40692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4072 Special behaviour for len = 0 to read whole file isn't used anywhere and
4073 can cause buffer ovewrflows in several places.
4074
f0a53ed2
VS
40752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4078
5ed554f0
VS
40792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Handle RAIDZ on non-512B sectors.
4082
4083 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4084 max_children_ashift.
4085 (fill_vdev_info_real): Fill max_children_ashift.
4086 (read_device): Use max_children_ashift.
4087
ddc58357
VS
40882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4091
e3282399
VS
40922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4095 disk names.
4096 * docs/grub.texi: Update device.map parts.
4097
ee618bd4
VS
40982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Don't scan into non-diskfilter devices having diskfilter names.
4101
4102 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4103 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4104 handling.
4105 (scan_disk_hook): New function.
4106
bdf88864
B
41072012-04-29 Bean <bean123ch@gmail.com>
4108
4109 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4110 allocation.
4111
32745f51
MK
41122012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4113
4114 * configure.ac: Detect starfield theme font path
4115 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4116
bc95c8c0
VS
41172012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4120 geometry on serial consoles.
4121
147fbcab
VS
41222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4125 because of network consoles.
4126
0f42c889
VS
41272012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4130 handling.
4131
4a3594c9
VS
41322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4135 falls on Q syndrom.
4136
5cb53879
VS
41372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4140 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4141
b282dfe5
VS
41422012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4145 Allocate at lest 8192 for temporary buffer as required for lzo.
4146
daa59f47
VS
41472012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4150 to cluster_bits, since it's already added in.
4151 (grub_fat_read_data): Likewise.
4152
986748ce
VS
41532012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4156 as long as cluster size is multiple of 512 bytes.
4157
a20f6ad0
VS
41582012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * util/grub-mkrescue.in: Fix locale directory.
4161
385f9abb
VS
41622012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/kern/emu/hostdisk.c (map): Make static.
4165
1c557d30
B
41662012-04-23 Bean <bean123ch@gmail.com>
4167
4168 * util/grub-fstest.c (fstest): Add missing break.
4169
524b5d3a
ST
41702012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4171
4172 Fix hurd build.
4173
4174 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4175 not define nr variable.
fe4824e9 4176 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4177 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4178 grub_find_device): Do not define.
524b5d3a 4179
9a06490c
VS
41802012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Fix kfreebsd compile and behaviour.
4183
4184 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4185 format-security.
4186 * util/getroot.c: Fix wait.h include.
4187 (grub_guess_root_devices): Error if grub_find_device fails.
4188 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4189 (grub_util_get_dev_abstraction): Likewise.
4190 (grub_util_pull_device): Likewise.
4191 (grub_util_get_grub_dev): Likewise.
4192 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4193
48143d96
VS
41942012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 Fix and unify wholedisk detection.
4197
4198 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4199 is_part. All users updated.
4200 (device_is_wholedisk): Removed.
4201 (grub_util_biosdisk_get_grub_dev): Use is_part.
4202
ebbd24f3
VS
42032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4206 mode.
4207
56f7aa1e
VS
42082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * configure.ac: Bump to beta4.
4211
9c815e01
VS
42122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4215 --fs-uuid --set UUID syntax.
4216
59e2651a
VS
42172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4220 disunification.
4221
54e03cfc
VS
42222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4225
81092a75
MK
42262012-04-18 Mads Kiilerich <mads@kiilerich.com>
4227
4228 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4229
f8315e14
MG
42302012-04-18 Mike Gilbert <floppym@gentoo.org>
4231
4232 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4233
1501ac21
B
42342012-04-18 Bean <bean123ch@gmail.com>
4235
4236 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4237 place.
4238
cb7f944e
VS
42392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4242 users updated.
4243 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4244 corresponding to GRUB partitions.
4245 (grub_util_biosdisk_write): Likewise.
4246
b72d44a1
VS
42472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Scan mdraid before LVM.
4250
4251 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4252 (grub_diskfilter_register_front): ... this.
4253 (grub_diskfilter_register_back): New function.
4254 All users of grub_diskfilter_register updated.
4255
33d918b8
VS
42562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * util/grub-install.in: Fix an automatic target detection bug.
4259
c6ca973d
VS
42602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/grub-install.in: New option --efi-directory.
4263
b41be562
VS
42642012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4267 boot services if we have no other choice.
4268
42692012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4272 document it.
4273 * tests/util/grub-shell.in: Update to --directory.
4274
e0595a73
VS
42752012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4278
4ed80652
VS
42792012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4282 (grub_minix_read_file): Likewise.
4283 (grub_minix_read_inode): Likewise.
4284 (grub_minix_find_file): Likewise.
4285 (grub_minix_dir): Likewise.
4286
56008077
VS
42872012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * util/grub-setup.c (setup): Fix partition handling and blocklist
4290 check.
4291
ee520775
VS
42922012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
4295 redundant buggy overlap check.
4296
16fc9293
VS
42972012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
4300 and grub-mknetdir.
4301
9bab65c4
VS
43022012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
4305 kh.loadflags on pre-2.00 kernels.
4306
3c491b47
VS
43072012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Terminate UNDI and PXE before launching the payload to avoid problems
4310 with DMA.
4311
4312 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
4313 (grub_loader_flags): ... this. All users updated.
4314 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
4315 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
4316 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
4317 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
4318 function.
4319 (grub_pxe_restore): Likewise.
4320 (fini_hnd): New var.
4321 (GRUB_MOD_INIT): Register shutdown hook.
4322 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
4323 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
4324 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
4325 (grub_loader_set): Rename second argument to flags.
4326
851ffada
VS
43272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4330 written bytes.
4331 (grub_get_num_of_utf8_bytes): New function.
4332 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
4333 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
4334 executing it.
4335 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
4336 (grub_ucs4_to_utf8): Change return type.
4337
491c57a8
VS
43382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4341 warning.
851ffada
VS
4342 * grub-core/fs/bfs.c (hop_level): Likewise.
4343 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 4344
756773df
VS
43452012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/lib/adler32.c: Recode due to license unclearness.
4348
fd556a96
VS
43492012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
4352 (test_header): Likewise.
4353
9f9d3f69
VS
43542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Fix --help formatting.
4357
4358 * util/grub-mkconfig_lib.in (print_option_help): New function.
4359 (grub_fmt): Likewise.
4360 * util/grub-install.in: Use print_option_help and grub_fmt.
4361 * util/grub-kbdcomp.in: Likewise.
4362 * util/grub-mkconfig.in: Likewise.
4363 * util/grub-mknetdir.in: Likewise.
4364 * util/grub-mkrescue.in: Likewise.
4365 * util/grub-mkstandalone.in: Likewise.
4366 * util/grub-reboot.in: Likewise.
4367 * util/grub-set-default.in: Likewise.
4368 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4369
561ec77e
VS
43702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * linguas.sh: Remove autogenerated *.po.
4373
7ec2b021
VS
43742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * po/README: Move language fetcing to ...
4377 * linguas.sh: ... here.
4378 * po/README: Point to linguas.sh.
4379
a88f3270
VS
43802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * po/README: Exclude ko.po due to disclaimer problems.
4383
d61357ce
VS
43842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
4387 len = 0.
4388 (grub_gettext_translate_real): Handle 0th string.
4389 (grub_gettext_translate): Ensure that "" isn't translated.
4390
505e41dc
VS
43912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
4394 TRANSLATORS comment.
4395 (grub_diskfilter_print_partmap): Propagate changing of error into
4396 warning.
4397
e44092db
VS
43982012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
4401 to uint64_t to prevent overflow.
4402 (grub_diskfilter_lv): Increase start_extent and extent_count
4403 to uint64_t to prevent overflow.
4404
9b83956a
VS
44052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * configure.ac: Increase version.
4408
da0d5b3f
VS
44092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
4412
4413 * po/Rules-translit: New file.
4414 * po/arabic.sed: Likewise.
4415 * po/cyrillic.sed: Likewise.
4416 * po/greek.sed: Likewise.
4417 * po/hebrew.sed: Likewise.
4418 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
4419 * po/Makefile.in.in: Add extra_dist4.
4420
ac66b453
VS
44212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4424
4425 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
4426 modify names. Introduce MODE_BIGENDIAN.
4427 * grub-core/fs/minix_be.c: New file.
4428 * grub-core/fs/minix2_be.c: Likewise
4429 * grub-core/fs/minix3_be.c: Likewise.
4430 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
4431 minix3_be.
4432 * grub-core/Makefile.core.def (minix_be): New module.
4433 (minix2_be): Likewise.
4434 (minix3_be): Likewise.
4435
44362012-04-01 Felix <email@hamburg.de>
4437
4438 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
4439 (devs): Add MBP 2011.
4440
0a2d5a82
VS
44412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4444
d1625889
VS
44452012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/normal/cmdline.c (print_completion): New field
4448 prompt_len.
4449 (grub_cmdline_get): Handle width properly.
4450
6d36a236
VS
44512012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4454
9576977e
VS
44552012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 4458 after 29th of February.
9576977e 4459
d73ff15d
VS
44602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 Fix exfat endianness handling.
4463
4464 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4465 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4466 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4467 Byte-swap utf16 when necessary.
4468 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4469
bbb39a45
AB
44702012-03-31 Anton Blanchard <anton@samba.org>
44712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 Fix btrfs endianness handling.
4474
4475 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4476 (lower_bound): Make root uint64_t. Use root in le.
4477 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4478 (find_path): Fix template key init.
4479 (grub_btrfs_dir): Fix mtime byteswap.
4480 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4481
354e0af7
VS
44822012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4485 recursion_depth. Break infinite resursions. All users updated.
4486
4e75f21c
VS
44872012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4490 after free.
4491 Reported by: Peter Jones.
4492
25581802
AB
44932012-03-31 Anton Blanchard <anton@samba.org>
4494
4495 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4496 8 bit values.
4497
08fbf92e
VS
44982012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * util/grub-install.in: Fix nvram call for PreP.
4501
5d1182a6
VS
45022012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4505 the error when some elements are missing into a warning.
4506
3f8cdd90
VS
45072012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4510
51006716
CW
45112012-03-28 Colin Watson <cjwatson@ubuntu.com>
4512
4513 * docs/grub.texi (Invoking grub-probe): New section.
4514 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4515
e1bd676b
VS
45162012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Fix tab and wide character handling in editor and menu.
4519
4520 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4521 agglomerate control characters with combining marks.
4522 (bidi_line_wrap): Allow break on tab.
4523 (grub_unicode_get_comb_start): New function.
4524 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4525 and tab correctly.
4526 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4527 with a space.
4528 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4529 fixed_tab_size. All users updated.
4530 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4531 (grub_term_getcharwidth): Handle \t.
4532 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4533 and copy.
4534
22e6a774
VS
45352012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Handle big-endian mdraid.
4538
4539 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4540 * grub-core/Makefile.core.def (mdraid09_be): New module.
4541 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4542 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4543 * grub-core/disk/mdraid_linux_be.c: New file.
4544
3c0eae66
VS
45452012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4548
b6cf74c9
VS
45492012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4552 missing quotes which caused confusion among translators.
4553
83c93b9c
VS
45542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * util/grub-mkconfig_lib.in: Fix typo.
4557
ac6fd218
VS
45582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4561 spaces.
4562 * tests/grub_script_leading_whitespace.in: New file.
4563 * Makefile.util.def (grub_script_leading_whitespace): New test.
4564
ba287dd8
VS
45652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4568 to work.
4569
d2d58d0a
VS
45702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4573 starts with control character.
4574
0382d9bb
VS
45752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4578 overflow.
4579 (grub_gdb_outbuf): Likewise.
4580
d83ff9f9
VS
45812012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4584 zero terminator. Fixes a crash.
4585
2282da4a
VS
45862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4589 beyond 4 GiB.
4590 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4591 images independently of preffered adderss field.
4592
0ae4f0bd
VS
45932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4596 * grub-core/commands/regexp.c: Likewise.
4597 * grub-core/loader/i386/linux.c: Likewise.
4598 * grub-core/partmap/msdos.c: Likewise.
4599 * grub-core/script/execute.c: Likewise.
4600 * grub-core/term/gfxterm.c: Likewise.
4601
546fbe9b
VS
46022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 Add variable parsing in $"..." and fix several mismatches with bash.
4605
4606 * Makefile.util.def (grub_script_gettext): New test.
4607 * grub-core/script/execute.c (parse_string): New function.
4608 (gettext_append): Likewise.
4609 (grub_script_arglist_to_argv): Use gettext_append.
4610 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4611 * tests/grub_script_gettext.in: New file.
4612
9fdb2d7b
VS
46132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 Fix handling of leading spaces in scripts.
4616
4617 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4618 spaces.
4619 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4620 other than skipping \r. All users updated.
4621 * tests/grub_script_echo1.in: Add space-related tests.
4622 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4623
1a1ac4f6
VS
46242012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4627
b63d89b6
VS
46282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * configure.ac: Bump up the version to beta2.
4631
17f38c0f
VS
46322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Fix gettext reload bugs (e.g. inability to disable gettext
4635 once enabled).
4636
4637 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4638 main_context and secondary_context. All functions updated.
4639 (grub_gettext_translate): Rename to ...
4640 (grub_gettext_translate_real): ... this. Return NULL on failed
4641 translate.
4642 (grub_gettext_translate): Handle secondary context.
4643 (grub_gettext_delete_list): Close file and zero-out the context.
4644 (grub_mofile_open): Don't call grub_gettext_delete_list.
4645 Don't close file.
4646 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4647 if locale="" to avoid pointless error message.
4648 (grub_gettext_env_write_lang): Update lang even if load fails.
4649 Handle secondary context.
4650 (grub_gettext_reread_prefix): New function.
4651 (read_main): Likewise.
4652 (read_secondary): Likewise.
4653 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4654 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4655 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4656 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4657
8e56f870
VS
46582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * configure.ac: Decrease warning level to avoid spurious warnings and
4661 to be able to compile with GCC 4.2.
4662 * Makefile.util.def: Remove -Wno-error=logical-op.
4663
82f6d455
WB
46642012-03-10 William Bittner <william.bittner@gmail.com>
4665
4666 * util/import_unicode.py: Add missing brackets around string for
4667 python 3 support.
4668
1ecd61a4
VS
46692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 Fix efi chainloader on network root.
4672
4673 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4674 network devices.
4675 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4676 New function.
4677
14361ee8
VS
46782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4681 unused show_text member.
4682 * docs/grub.texi: Document "text" property.
4683
922aabf3
VS
46842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4687 in dprintf.
4688
ec316771
VS
46892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 Fix IMSM handling on Fedora.
4692
4693 * util/getroot.c (grub_util_is_imsm): New function.
4694 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4695
0f021838
VS
46962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * Makefile.am: Strip gold section.
4699 * conf/Makefile.common: Likewise.
4700 * gentpl.py: Likewise.
4701 * grub-core/Makefile.core.def: Likewise.
4702 * grub-core/genmod.sh.in: Likewise.
4703
1039c8eb
VS
47042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4707 * util/grub.d/20_linux_xen.in: Likewise.
4708 Based on Debian patch.
4709
6dd412cd
VS
47102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * util/grub.d/10_linux.in: Fix syntax error resulting in
4713 Richard Laager's patch.
4714 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4715
3fd8bae5
VS
47162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4719 dependencies.
4720
7eea1671
RL
47212012-03-10 Richard Laager <rlaager@wiktel.com>
4722
4723 * util/grub.d/10_linux.in: Fix ZFS root passing.
4724
e8e0566b
VS
47252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4728 * grub-core/commands/xnu_uuid.c: Likewise.
4729 * grub-core/loader/efi/appleloader.c: Likewise.
4730 * grub-core/script/execute.c: Likewise.
4731 * grub-core/script/main.c: Likewise.
4732 * util/grub-mkfont.c: Likewise.
4733
1acc5b1f
VS
47342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * util/grub-mkfont.c (options): Use more appropriate "select" that
4737 "set" for face index.
4738
35d70620
VS
47392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * util/grub-editenv.c (options): Gettextize command summaries.
4742
c9eb96b5
VS
47432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4746 "out of memory" error messagge.
4747
1f493136
VS
47482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4751 of diskfilter for diskfilter on diskfilter support.
4752
6d790129
VS
47532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4756
005f46c9
VS
47572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4760 themes/starfield.
4761
c8f778a0
VS
47622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4765
de1e64eb
VS
47662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4769
c6d54211
VS
47702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4773 of error message.
4774
dd390777
VS
47752012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4778
5fd1c522
VS
47792012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4782 message.
c6d54211 4783 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 4784
fae01f6c
VS
47852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4788 Gettextize.
4789 * util/grub-mount.c (options): Likewise.
4790
292fdaff
VS
47912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4794 gettextize.
4795 * grub-core/commands/search_wrap.c (options): Likewise.
4796
ecdbae77
VS
47972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4800
52bfedfa
VS
48012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4804 size calculation.
4805 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4806 none is known.
4807
55b20e58
VS
48082012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4811 "temporary" since it's used in identifier and is limited in space.
4812
fda9d101
VS
48132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * po/POTFILES.in: Regenerate. Include *.h since they contain
4816 translatable strings as well.
4817
6a0295e2
VS
48182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4821 byte-swap on big-endian.
4822 Reported by: Lennart Sorensen
4823
807fb77c
VS
48242012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4827 (allocate_pages): Improve dprintf.
4828 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4829 code32_start. Fill code32_start and kernel_alignment in params.
4830 (grub_cmd_initrd): Use prot_init_space.
4831
61ac50ba
VS
48322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4835
abdd26dd
VS
48362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub-install.in: Add missing dot at the end of sentence.
4839
6e69da9c
VS
48402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4843 * grub-core/commands/videotest.c: Likewise.
4844 * grub-core/loader/i386/linux.c: Likewise.
4845
4a929343
VS
48462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4849 sentence.
4850 Reported by: Milo Casagrande.
4851
bb51c6c6
VS
48522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4855 * grub-core/commands/gptsync.c: Likewise.
4856 * grub-core/commands/hashsum.c: Likewise.
4857 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4858 * grub-core/commands/legacycfg.c: Likewise.
4859 * grub-core/io/gzio.c: Likewise.
4860 * grub-core/net/net.c: Likewise.
4861 * grub-core/term/gfxterm.c: Likewise.
4862 * grub-core/term/terminfo.c: Likewise.
4863 * grub-core/tests/test_blockarg.c: Likewise.
4864 * grub-core/video/video.c: Likewise.
4865 * util/grub-install.in: Likewise.
4866 * util/grub-mkfont.c: Likewise.
4867
b2b149cb
VS
48682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4871
c7c080ad
VS
48722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 4875 Reported by: David Prévot.
c7c080ad 4876
f2e243c0
VS
48772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4880 description.
4881
09963c76
VS
48822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * util/grub-script-check.c (main): Fix a syntax error message which was
4885 unclear.
4886
a50514a8
VS
48872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4890
4650daec
VS
48912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4894 messages.
4895
48962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
4897
4898 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4899 without argument.
4900 * util/grub-mount.c (options): Likewise.
4901
bbc5a342
VS
49022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4905
ef292a87
VS
49062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/net/http.c: Add TRANSLATORS comments.
4909 * grub-core/normal/cmdline.c: Likewise.
4910 * grub-core/normal/misc.c: Likewise.
4911 * grub-core/partmap/msdos.c: Likewise.
4912 * grub-core/parttool/msdospart.c: Likewise.
4913 * grub-core/script/execute.c: Likewise.
4914 * grub-core/script/main.c: Likewise.
4915 * grub-core/term/terminfo.c: Likewise.
4916 * grub-core/video/bitmap.c: Likewise.
4917 * util/grub-install.in: Likewise.
4918 * util/grub-mkimage.c: Likewise.
4919 * util/grub-mklayout.c: Likewise.
4920 * util/grub-setup.c: Likewise.
4921
0fc19bd0
VS
49222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4925 with similar messages in grub-fstest.
4926
d95862ef
VS
49272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-install.in: Unify "option requires an argument" message
4930 with similar messages in other files.
4931 * util/grub-mkconfig.in: Likewise.
4932
b7308f90
VS
49332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * util/grub-set-default.in: Replace printf with gettext_printf (the
4936 string in in question is already translated from grub-reboot)
4937
559dc587
VS
49382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * configure.ac: Bump up the version to beta1.
4941
1a11761f
VS
49422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4945 case when min_align = 0.
4946
24539abd
VS
49472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4950 and fix a case when line_start overflows.
4951
32bd735b
VS
49522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * util/grub-reboot.in (usage): Mention id posibility.
4955 * util/grub-set-default.in (usage): Likewise.
4956
1a2fd1e6
VS
49572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4960 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4961 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4962 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4963 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4964 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4965 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4966
90eeab76
VS
49672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/commands/menuentry.c (options): Remove
4970 GRUB_ARG_OPTION_REPEATABLE.
4971 Reported by: Andreas Vogel
4972
5ad1be82
AV
49732012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4974
4975 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4976
cb055286
HE
49772012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4978
4979 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4980 error.
4981
93b1cd79
VS
49822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 Use sort -V by the idea of Georgi Georgiev.
4985
4986 * util/grub-mkconfig_lib.in (version_sort): New function.
4987 (version_test_numeric): Use version_sort.
4988
0cdc126c
VS
49892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 Use submenus in grub-mkconfig.
4992
4993 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4994 * util/grub-mkconfig_lib.in (grub_quote): New function.
4995 (gettext_printf): Use gettext and not gettext_quoted to fix several
4996 messages.
4997 * util/grub.d/10_hurd.in: Use submenus.
4998 * util/grub.d/10_kfreebsd.in: Likewise.
4999 * util/grub.d/10_linux.in: Likewise.
5000 * util/grub.d/10_netbsd.in: Likewise.
5001 * util/grub.d/20_linux_xen.in: Likewise.
5002 * util/grub.d/30_os-prober.in: Likewise.
5003 * util/grub.d/10_illumos.in: Add missing quoting.
5004 * util/grub.d/10_windows.in: Likewise.
5005
d9bef9bc
VS
50062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Fix menu title instability bug.
5009
5010 * grub-core/commands/menuentry.c (options): New option --id.
5011 (grub_normal_add_menu_entry): New argument id. All users updated.
5012 (grub_cmd_menuentry): Handle --id.
5013 (grub_menu_init): Accept unknown arguments.
5014 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5015 feature_menuentry_options.
5016 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5017 saved_entry.
5018 (get_entry_number): Match with id as well.
5019 * include/grub/menu.h (grub_menu_entry): New member id.
5020 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5021 * util/grub.d/00_header.in: Define menuentry_id_option.
5022 * util/grub.d/10_hurd.in: Define id.
5023 * util/grub.d/10_illumos.in: Likewise.
5024 * util/grub.d/10_kfreebsd.in: Likewise.
5025 * util/grub.d/10_linux.in: Likewise.
5026 * util/grub.d/10_netbsd.in: Likewise.
5027 * util/grub.d/10_windows.in: Likewise.
5028 * util/grub.d/20_linux_xen.in: Likewise.
5029 * util/grub.d/30_os-prober.in: Likewise.
5030
50312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5032
5033 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5034 "scope" with "body".
5035
7c8d0ce7
VS
50362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5039 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5040 prot_size and prot_file_size.
5041
49de079b
VS
50422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5045 All users updated. If easily=1 require raid-5/-6 to be full.
5046 (is_node_readable): Likewise.
5047 (scan_devices): Scan incomplete but readable LVs at the end.
5048 (grub_diskfilter_memberlist): Pull missing devices.
5049 (insert_array): Skip scanning until device is complete or scan is
5050 done otherwise.
5051 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5052 check.
5053 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5054 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5055
aff05d45
MG
50562012-03-03 Matthew Garrett <mjg@redhat.com>
50572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Avoid EFI boot services when loading Linux.
5060
5061 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5062 avoid_efi_bootservices. All users updated.
5063 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5064 argument avoid_efi_bootservices. All users updated.
5065 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5066 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5067 align, min_align, relocatable, prefered_address. All users updated.
5068 Allocate avoiding boot services if kernel is relocatable.
5069 (grub_cmd_linux): Check if kernel is relocatable.
5070 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5071 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5072 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5073 avoid_efi_boot_services.
5074 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5075 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5076 (linux_kernel_params): Likewise.
5077
3935dde2
MG
50782012-03-03 Matthew Garrett <mjg@redhat.com>
50792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Use EDID on EFI.
5082
5083 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5084 datasize_out.
5085 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5086 modes. Set gop_handle.
5087 (grub_video_gop_get_edid): New function.
5088 (grub_gop_get_preferred_mode): Likewise.
5089 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5090 (grub_video_efi_gop_adapter): Set .get_edid.
5091 * include/grub/efi/edid.h: New file.
5092 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5093
32107ec0
VS
50942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * util/grub-install.in: Load efivars unconditionally.
5097
e70a2c50
VS
50982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * po/Rules-piglatin: Change suffix from .po-update-en to
5101 .po-update-en-piglatin.
5102
8f9cace1
VS
51032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 Add a pig farm.
5106
5107 * po/piglatin.sed: New file.
5108 * po/en@piglatin.header: Likewise.
5109 * po/Rules-piglatin: Likewise.
5110 * po/README: Add en@piglatin to autogenerated languages.
5111
8f95d002
VS
51122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5115 "Command for ...".
5116 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5117 "Check" since we don't check anything.
5118 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5119 is 64-bit one.
5120 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5121 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5122 (grub_md_sha512_real): Likewise.
5123
805a8dcc
VS
51242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/commands/gptsync.c: Fix typographic quoting.
5127 * grub-core/commands/ieee1275/suspend.c: Likewise.
5128 * grub-core/commands/parttool.c: Likewise.
5129 * grub-core/commands/search_wrap.c: Likewise.
5130 * grub-core/commands/videoinfo.c: Likewise.
5131 * grub-core/gfxmenu/gui_label.c: Likewise.
5132 * grub-core/hello/hello.c: Likewise.
5133 * grub-core/kern/emu/main.c: Likewise.
5134 * grub-core/net/net.c: Likewise.
5135 * grub-core/normal/menu.c: Likewise.
5136 * grub-core/normal/menu_text.c: Likewise.
5137 * grub-core/normal/misc.c: Likewise.
5138 * util/grub-editenv.c: Likewise.
5139 * util/grub-install.in: Likewise.
5140 * util/grub-kbdcomp.in: Likewise.
5141 * util/grub-mkconfig.in: Likewise.
5142 * util/grub-mknetdir.in: Likewise.
5143 * util/grub-mkrescue.in: Likewise.
5144 * util/grub-mkstandalone.in: Likewise.
5145 * util/grub-reboot.in: Likewise.
5146 * util/grub-set-default.in: Likewise.
5147 * util/grub-setup.c: Likewise.
5148 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5149
40211ab8
VS
51502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5153 * grub-core/commands/keystatus.c: Likewise.
5154 * grub-core/commands/loadenv.c: Likewise.
5155 * grub-core/commands/probe.c: Likewise.
5156 * grub-core/commands/regexp.c: Likewise.
5157 * grub-core/commands/true.c: Likewise.
5158 * grub-core/commands/videoinfo.c: Likewise.
5159 * grub-core/disk/cryptodisk.c: Likewise.
5160 * grub-core/disk/ldm.c: Likewise.
5161 * grub-core/disk/loopback.c: Likewise.
5162 * grub-core/disk/luks.c: Likewise.
5163 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5164 * grub-core/kern/disk.c: Likewise.
5165 * grub-core/kern/emu/hostdisk.c: Likewise.
5166
0c7d99c7
VS
51672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5170 * util/grub-install.in: Add missing quote in the comment.
5171
e7d2559b
VS
51722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5175 * grub-core/commands/lsmmap.c: Likewise.
5176 * grub-core/commands/minicmd.c: Likewise.
5177 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5178 * grub-core/commands/regexp.c: Likewise.
5179 * grub-core/gdb/gdb.c: Likewise.
5180 * grub-core/term/gfxterm.c: Likewise.
5181 * util/grub-mkconfig.in: Likewise.
5182 * util/grub-mkfont.c: Likewise.
5183 * util/grub-mklayout.c: Likewise.
5184 * util/grub-mknetdir.in: Likewise.
5185 * util/grub-mkrescue.in: Likewise.
5186 * util/grub.d/30_os-prober.in: Likewise.
5187
49ce9e50
VS
51882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5191 with "Direct color" and "Packed" with "Packed pixel".
5192 (grub_cmd_videoinfo): Simplify legend.
5193
e4b791fa
VS
51942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5197 absolutely unclear error message.
5198
fd1265cb
VS
51992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * util/grub-mkstandalone.in: Remove confusing leftover print.
5202
8822a8a0
VS
52032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5206 comments.
5207 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5208 (GRUB_MOD_INIT): Likewise.
5209 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5210 VGA mode.
5211 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5212 comments.
5213 * util/grub-install.in (usage): Likewise.
5214 Spell ID in whole letters.
5215 Add missing ending dot.
5216 Quote variables.
5217 * util/grub-reboot.in: Fix capitalisation.
5218 * util/grub-set-default.in: Likewise.
5219
937fd0cc
VS
52202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5223 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5224 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5225 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5226 Disable -Werror for -Wdeprecated-declarations.
5227 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5228 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5229 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5230 (grub_util_get_grub_dev): Make luks handling dependent on
5231 HAVE_DEVICE_MAPPER and not __linux__.
5232 (get_win32_path): Fix format security.
5233 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5234 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5235 Don't try grub_find_zpool_from_dir.
5236 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5237 #ifdef-out paresdir.
5238
1bab1ae3
VS
52392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * util/grub-pe2elf.c (usage): Add missing noreturn.
5242 (write_section_data): Rename name to shname to avoid shadowing.
5243 (write_symbol_table): Rename name to symname to avoid shadowing.
5244 Fix write_reloc_section call.
5245
ef023e42
VS
52462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5249 to ensure that it's after the last byte of .text.
5250
48afcb75
VS
52512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * util/ieee1275/ofpath.c (my_isdigit): New function.
5254 (trailing_digits): Use my_isdigit.
5255 (strip_trailing_digits): Likewise.
5256
88d51eff
VS
52572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5260 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5261
17edc2ba
VS
52622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/kern/i386/pc/startup.S: Define __start.
5265
ad5518d7
VS
52662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5269 strip already transforms he format.
5270
9e95e1bf
VS
52712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5274
9cc3ee5c
VS
52752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * util/grub-install.in: Add missing gettext init.
5278 * util/grub-kbdcomp.in: Likewise.
5279 * util/grub-mkconfig.in: Likewise.
5280 * util/grub-mknetdir.in: Likewise.
5281 * util/grub-mkrescue.in: Likewise.
5282 * util/grub-mkstandalone.in: Likewise.
5283 * util/grub-reboot.in: Likewise.
5284 * util/grub-set-default.in: Likewise.
5285 * util/grub.d/00_header.in: Likewise.
5286 * util/grub.d/10_hurd.in: Likewise.
5287 * util/grub.d/10_windows.in: Likewise.
5288 * util/grub.d/30_os-prober.in: Likewise.
5289 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5290
49e08a06
VS
52912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * po/Rules-swiss: Fix header comment.
5294
3809cb41
AV
52952012-02-29 Andreas Vogel <anvoit>
5296
5297 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
5298 resulted in leak of arguments.
5299
fa6ec573
VS
53002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/boot/i386/pc/startup_raw.S: Use separate
5303 reed_solomon_size const definition instead of computing it since
5304 Apple assembler doesn't support the later.
5305
22899b9c
VS
53062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * gentpl.py (kernel): Rewrite Apple part.
5309
a132afc3
VS
53102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5313
9d742bd4
VS
53142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * util/grub-mkimagexx.c (locate_sections): Support non-standard
5317 ELF section gap.
5318 (load_image): Likewise.
5319
f04a9a21
VS
53202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * configure.ac: Fix a typo in previous commit.
5323
46cf439c
VS
53242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Don't add -Wl,-N on Apple platform.
5327
5328 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
5329 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
5330
c4c48c54
VS
53312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/Makefile.core.def (lzma_decompress): Use
5334 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
5335
31a12124
VS
53362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/genmod.sh.in: Rewrite the Apple part.
5339
4f3aa1af
VS
53402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
5343 comparison.
5344
7bd8b0c7
VS
53452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * acinclude.m4 (grub_CHECK_PIC): New test.
5348 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
5349
97304d7c
VS
53502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
5353 to avoid the warning.
5354
fb883812
VS
53552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
5358 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
5359 after. All users updated.
5360
a121c964
VS
53612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Use the common size routine in hostfs so we can read disks as well.
5364
5365 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
5366 (grub_util_get_fd_size): ... this. Return size in bytes.
5367 All users updated.
5368 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
5369 grub_util_get_fd_size.
5370
c66d6410
VS
53712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
5374 Add blocksize retrieval.
5375
dfc8aeb0
VS
53762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * configure.ac: Restore CFLAGS after efiemu check.
5379
403e25a5
VS
53802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5383 Apple bug.
5384
382775d1
VS
53852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5388
6fd4e6e4
VS
53892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
5392 (grub_cmd_halt): Likewise.
5393
bea359d6
VS
53942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
5397 for local arithmetics.
5398 Break %sp init into 2 instructions.
5399 Add 0 byte at the end.
5400
32eb6ee1
VS
54012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5404 before loops.
5405
e8377389
VS
54062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
5409 for context.
5410
8cb17de7
VS
54112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/disk/ldm.c (make_vg): Init part.name.
5414 (grub_ldm_detect): Silence spurious warning.
5415 (grub_util_is_ldm): Likewise.
5416
595717e6
VS
54172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
5420 sane value to avoid a spurious warning.
5421
c4b7e588
VS
54222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
5425 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
5426
59824957
VS
54272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
5430 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
5431
70115b99
VS
54322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
5435 hardcoding the relevant info.
5436
56733740
VS
54372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
5440 missing const qualifiers.
5441 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
5442
43481481
VS
54432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * util/getroot.c [__APPLE__]: Add missing includes.
5446 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
5447
3cb38f01
VS
54482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5451
d9dbf11e
VS
54522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
5455 avoid conflicts.
5456
0c42a45d
VS
54572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5460
46c34eb0
VS
54612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5464 and grub_file_close call.
5465
99ce1597
VS
54662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Add LZSS Mach-O support (needed for new xnu kernelcache).
5469
5470 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5471 * grub-core/loader/lzss.c: New file.
5472 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5473 on Mach-O open failure.
5474 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5475 Don't free cmdsXX in uncompressedXX is set.
5476 (grub_macho_file): Init new fields.
5477 New argument is_64bit. All users updated.
5478 Handle compressed. Error out if no suitable architecture is found.
5479 Don't close file.
5480 (grub_macho_open): New argument is_64bit. All users updated.
5481 * grub-core/loader/macho32.c: Add defines for new fields.
5482 * grub-core/loader/macho64.c: Likewise.
5483 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5484 (grub_macho_parse): Handle compressed.
5485 Defer actual processing if compressed.
5486 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5487 "filename". All users updated.
5488 (grub_macho_size): New argument "filename". All users updated.
5489 (grub_macho_get_entry_point): Likewise.
5490 (grub_macho_load): Handle compressed.
5491 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5492 (GRUB_MACHO_LZSS_OFFSET): New define.
5493 (grub_decompress_lzss): New proto.
5494 * include/grub/machoload.h (grub_macho_file): New fields to handle
5495 compressed.
5496 (grub_macho_contains_macho64): Remove proto.
5497 (grub_macho_contains_macho32): Likewise.
5498 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5499
ebd17d6f
VS
55002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5503
2702b4e4
VS
55042012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Fix make dist.
5507
5508 * Makefile.am (starfield_theme_files): New var.
5509 (starfield_DATA): Use starfield_theme_files.
5510 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5511 Add bootcheck-related files.
5512 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5513 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5514 and font_char_metrics.txt.
5515 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5516 (setjmp): Add lib/ia64/longjmp.S.
5517 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5518 * po/POTFILES.in: Regenerate.
5519 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5520 DISTFILES.common.extra1.
5521 * util/devicemap.c: Removed.
5522 * grub-core/lib/i386/relocator_backward.S: Likewise.
5523 * util/import_gcry.py: Remove unused files. Add extra_dist for
5524 ChangeLog.
5525
cf1adfdf
VS
55262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5529 grub_gettext_delete_list before changing grub_gettext_max to avoid
5530 running out of array bounds.
5531
55322012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
5533
5534 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5535 grub_vga_text_init/grub_vga_text_fini.
5536
cf1adfdf 55372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
5538
5539 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5540
541d92e9
VS
55412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * configure.ac: Bump to 2.00~beta0.
5544
7931dddf
VS
55452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5548 missing initialisation.
5549
f1b16fa3
VS
55502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5553
83ddae23
VS
55542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Support v2 xnu boot arguments.
5557
5558 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5559 New argument fsbfreq_out.
5560 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5561 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5562 be used.
5563 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5564 darwin_version.
5565 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5566 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5567 (grub_xnu_boot_params): Rename to ...
5568 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5569 (grub_xnu_boot_params_v2): New struct.
5570
dc693fe6
VS
55712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5574 zeroing of CRC field before computing CRC.
5575
5a6e39c2
VS
55762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5579 Change order of allocations to decrease fragmentation.
5580
6c21f5d7
VS
55812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5584
cfe456dc
CW
55852012-02-27 Colin Watson <cjwatson@ubuntu.com>
5586
5587 Use write-combining MTRR to speed up video with buggy BIOSes.
5588
5589 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5590 (cpuid): New define.
5591 (rdmsr): Likewise.
5592 (wrmsr): Likewise.
5593 (mtrr_base): Likewise.
5594 (mtrr_mask): Likewise.
5595 (grub_vbe_enable_mtrr_entry): New function.
5596 (grub_vbe_enable_mtrr): Likewise.
5597 (grub_vbe_disable_mtrr): Likewise.
5598 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5599 control off to BIOS.
5600 (grub_video_vbe_init): Fill mtrr.
5601 (grub_video_vbe_fini): Disable mtrr.
5602 (grub_video_vbe_get_info_and_fini): Likewise.
5603 (grub_video_vbe_setup): Enable mtrr.
5604
e3c78337
CW
56052012-02-27 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * include/grub/partition.h (grub_partition_map): Change prototype of
5608 embed to take a maximum value for nsectors.
5609 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5610 * include/grub/fs.h (grub_fs): Likewise.
5611 * grub-core/partmap/msdos.c (embed_signatures): New array.
5612 (pc_partition_map_embed): Check for and avoid sectors matching any
5613 of the signatures in embed_signatures, up to max_nsectors.
5614 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5615 returned sector map to max_nsectors.
5616 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5617 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5618 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5619 * util/grub-setup.c (setup): Allow for the embedding area being
5620 split into multiple blocklists. Tell dest_partmap->embed the
5621 maximum number of sectors we care about.
5622
56232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5626 Specify blocklist_install and reserver_first_sector for all fs.
5627 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5628 blocklists.
5629
984b973f
VS
56302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * util/grub-install.in: Clarify strings.
5633 Fix source dir check.
5634
f122e0d6
RL
56352012-02-27 Richard Laager <rlaager@wiktel.com>
5636
5637 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5638 "zfs" and "fuse.zfs" as synonyms.
5639
071114bb
VS
56402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * configure.ac: Put platform and target_cpu substitutions back since
5643 they are used for directories.
5644
817e6abc
RL
56452012-02-27 Richard Laager <rlaager@wiktel.com>
56462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5649 * util/grub.d/20_linux_xen.in: Likewise.
5650
897b7419
RL
56512012-02-27 Richard Laager <rlaager@wiktel.com>
5652
5653 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5654 with full paths.
5655
a414bd15
RL
56562012-02-27 Richard Laager <rlaager@wiktel.com>
5657
5658 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5659 unescape.
5660
30ac48c4
VS
56612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Don't use insecure popen in getroot.
5664
5665 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5666 (exec_pipe): ... here.
5667 (find_root_devices_from_poolname): Use exec_pipe.
5668
53f13848
VS
56692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Remove platform and target_cpu replacement.
5672
5673 * configure.ac: Remove platform and target_cpu substitutions.
5674 * tests/util/grub-shell.in: Use modinfo.
5675 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5676 explicitly.
5677
90cb2803
VS
56782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 Autodetect platform in grub-install but allow override.
5681
5682 * util/grub-install.in: Autodetect platform. Support --target and
5683 --directory. Read platform from modinfo.sh.
5684
b9136427
VS
56852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Support btrfs multi-volume probe.
5688
5689 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5690 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5691 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5692 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5693 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5694 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5695 grub_find_root_devices_from_btrfs if on btrfs.
5696
c36e5cd1
VS
56972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Remove any awareness of *.c util files about target.
5700
5701 * Makefile.util.def (grub-setup): Split to ...
5702 (grub-bios-setup): ... and this.
5703 (grub-sparc64-setup): ... and this.
5704 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5705 * docs/man/grub-setup.h2m: Split into ...
5706 * docs/man/grub-sparc64-setup.h2m: ... this.
5707 * docs/man/grub-bios-setup.h2m: ... and this.
5708 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5709 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5710 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5711 (grub_target_addr_t): Remove.
5712 (grub_target_size_t): Remove.
5713 (grub_target_ssize_t): Remove.
5714 * util/grub-install.in: Use new grub-*-setup.
5715 * util/grub-mkimagexx.c (Elf_Word): New define.
5716 (Elf_Half): Likewise.
5717 (Elf_Section): Likewise.
5718 (ELF_ST_TYPE): Likewise.
5719 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5720 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5721
584b2f8a
VS
57222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 Replace grub_target_addr with more appropriate types.
5725
5726 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5727 grub_target_addr with grub_addr.
5728 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5729 grub_target_addr with grub_port.
5730 (grub_cmd_write): Likewise.
5731 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5732 grub_target_addr with grub_addr.
5733 (grub_cmd_write): Likewise.
5734 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5735
5a0dc6fb
VS
57362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5739 const qualifier for vendor_guid.
5740
786aff6e
VS
57412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5744 const qualifier.
5745 (efiemu_memequal): Likewise.
5746 (find_variable): Likewise.
5747
49017b17
VS
57482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Fix missing console prototype on qemu-mips.
5751
5752 * include/grub/mips/qemu_mips/console.h: New file.
5753
c5988629
MG
57542012-02-27 Matthew Garrett <mjg@redhat.com>
57552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5758 * include/grub/efi/efi.h: Likewise.
5759 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5760 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5761 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5762 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5763 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5764 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5765
e33f8d69
MG
57662012-02-27 Matthew Garrett <mjg@redhat.com>
5767
5768 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5769
fb312cd9
VS
57702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5773 error.
5774
7134247c
VS
57752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * configure.ac: Remove inappropriate use of program_transform_name
5778 on grubdir and bootdir but allow explicit specification of those
5779 variables.
5780
6a313124
VS
57812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/grub-mknetdir.in (grub_prefix): Removed.
5784 (subdir): Use @bootdirname@ and @grubdirname@.
5785
2311c5ca
VS
57862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5789
7d5d60f7
VS
57902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * po/POTFILES.in: Regenerated.
5793
8151bc82
VS
57942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Remove improper use of program_transform_name on pkglibrootdir.
5797
5798 * configure.ac (pkglibrootdir): Removed.
5799 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5800 * util/grub-mkimage.c: Likewise.
5801
b4a6a533
VS
58022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5805 warning.
5806
668f304f
VS
58072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * util/grub-install.in: Use file identifier if no UUID is available
5810 or user explicitly prompted for it.
5811
665f2341
NP
58122012-02-27 Navdeep Parhar <nparhar@gmail.com>
5813
5814 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5815 (freebsd_get_zfs): New function.
5816 (grub_freebsd_boot): Pass zfs UUID.
5817 (grub_cmd_freebsd): Set zfs UUID.
5818
8151bc82 58192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
5820
5821 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5822 pkglibrootdir.
5823
e4c498a1
MG
58242012-02-27 Mike Gilbert <floppym@gentoo.org>
5825
5826 Add configure flag to control libzfs integration.
5827
5828 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5829
1e9a9a3f
VS
58302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5833 device.
5834 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5835 small devices.
5836
036985b8
VS
58372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5840 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5841 be used on non-modules.
5842
5843 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5844 Rename to grub_boot_init.
5845 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5846 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5847 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5848 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5849 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5850 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5851 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5852 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5853 includes.
5854 (grub_machine_init): Remove empty inits.
5855 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5856 includes.
5857 (grub_machine_init): Remove empty inits.
5858 * grub-core/term/arc/console.c: Remove explicit proto.
5859 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5860 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5861 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5862 grub_at_keyboard_fini.
5863 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5864 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5865 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5866 grub_gfxterm_fini.
5867 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5868 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5869 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5870 grub_vgatext_fini.
5871 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5872 * grub-core/term/serial.c (GRUB_MOD_INIT)
5873 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5874 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5875 grub_serial_fini.
5876 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5877 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5878 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5879 grub_terminfo_fini.
5880 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5881 (GRUB_MOD_FINI): Likewise.
5882 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5883 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5884 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5885 grub_video_radeon_fuloong2e_fini.
5886 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5887 [LOONGSON]: Rename to grub_video_sis315pro_init.
5888 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5889 grub_video_sis315pro_fini.
5890 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5891 [LOONGSON]: Rename to grub_video_sm712_init.
5892 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5893 grub_video_sm712_fini.
5894 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5895 (grub_at_keyboard_fini): Likewise.
5896 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5897 Don't declare grub_{modname}_init.
5898 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5899 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5900 New proto.
5901 (grub_keylayouts_fini) [!EMU]: Likewise.
5902 * include/grub/serial.h (grub_serial_init) [!EMU]:
5903 New proto.
5904 (grub_serial_fini) [!EMU]: Likewise.
5905 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5906 New proto.
5907 (grub_terminfo_fini) [!EMU]: Likewise.
5908 * include/grub/video.h (grub_font_init) [!EMU]:
5909 New proto.
5910 (grub_font_fini) [!EMU]: Likewise.
5911 (grub_gfxterm_init) [!EMU]: Likewise.
5912 (grub_gfxterm_fini) [!EMU]: Likewise.
5913 (grub_video_sm712_init) [!EMU]: Likewise.
5914 (grub_video_sm712_fini) [!EMU]: Likewise.
5915 (grub_video_sis315pro_init) [!EMU]: Likewise.
5916 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5917 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5918 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5919
d5534665
VS
59202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Make nand a prefix for nand devices.
5923
5924 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5925
10133b5f
VS
59262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5929 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5930
8e307a62
VS
59312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * include/grub/env.h (grub_env_find): Remove prototype.
5934 * grub-core/kern/env.c (grub_env_find): Make static.
5935 (grub_env_set): Remove useless set.
5936
a4c65f34
VS
59372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/kern/i386/realmode.S: Remove useless align.
5940
d87893d5
VS
59412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * include/grub/dl.h (grub_dl_load_file): Don't export.
5944
50159add
VS
59452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5948 grub_dprintf.
5949
b2582b84
VS
59502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5953 grub_errors.
5954 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5955 not reloading whole superblock but only the part which is really needed.
5956 Remove useless grub_errors.
5957 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5958 grub_errors.
5959
e2a83395
VS
59602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Don't export grub_get_rtc.
5963
5964 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5965 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5966
e7d2a906
VS
59672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5970
6cf1363b
VS
59712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 5974 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 5975
eece3349
VS
59762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 Remove prio_list.
5979
5980 * include/grub/list.h (grub_prio_list): Removed.
5981 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5982 GRUB_COMMAND_PRIO_MASK.
5983 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5984 GRUB_COMMAND_FLAG_ACTIVE.
5985 (grub_prio_list_insert): Removed.
5986 (grub_prio_list_remove): Likewise.
5987 (GRUB_AS_PRIO_LIST): Likewise.
5988 (GRUB_AS_PRIO_LIST_P): Likewise.
5989 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5990 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5991 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5992 * grub-core/kern/command.c (grub_register_command_prio): Inline
5993 the prio_list code.
5994 (grub_unregister_command): Likewise.
5995
94f064b4
VS
59962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Fix interrupt mixup from previous commit.
5999
6000 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6001 (grub_realidt): New var.
6002 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6003 Load idt.
6004 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6005 New declaration.
6006 (grub_relocator16_boot): Set grub_relocator16_idt.
6007 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6008 (LOCAL(realidt)): ... this.
6009 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6010 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6011 (grub_realidt): New variable.
6012
27317084
VS
60132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6016 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6017 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6018 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6019 Gettextize.
6020 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6021 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6022 * po/POTFILES.in: Regenerate.
6023
47b40053
VS
60242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6027 errors.
6028
2b343101
VS
60292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6032 \0.
6033 (add_length): Likewise.
6034
ff27c3dd
LK
60352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
60362012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6037
6038 GDB serial and backtrace support.
6039
6040 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6041 (prot_to_real): Likewise.
6042 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6043 * grub-core/Makefile.core.def (backtrace): New module.
6044 (gdb): Likewise.
6045 * grub-core/gdb/cstub.c: New file.
6046 * grub-core/gdb/gdb.c: Likewise.
6047 * grub-core/gdb/i386/idt.c: Likewise.
6048 * grub-core/gdb/i386/machdep.S: Likewise.
6049 * grub-core/gdb/i386/signal.c: Likewise.
6050 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6051 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6052 * include/grub/backtrace.h: Likewise.
6053 * include/grub/gdb.h: Likewise.
6054 * include/grub/i386/gdb.h: Likewise.
6055
60562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6057
6058 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6059 New function.
6060 (add_length): Likewise.
6061 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6062 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6063 proto.
6064 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6065 __argp_get_display_len.
6066
ff27c3dd 60672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6068
6069 $"..." support in scripts.
6070
6071 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6072 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6073 * grub-core/script/yylex.l: Likewise.
6074 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6075 value.
6076
ff27c3dd 60772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6078
6079 * gentpl.py: Remove obsolete pkglib_DATA handling.
6080
ff27c3dd 60812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6082
6083 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6084 mailing list.
6085
6086 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6087 * util/grub-kbdcomp.in: Likewise.
6088 * util/grub-mkconfig.in: Likewise.
6089 * util/grub-mkconfig_lib.in: Likewise.
6090 * util/grub-mknetdir.in: Likewise.
6091 * util/grub-mkrescue.in: Likewise.
6092 * util/grub-mkstandalone.in: Likewise.
6093 * util/grub-reboot.in: Likewise.
6094 * util/grub-set-default.in: Likewise.
6095 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6096
ff27c3dd 60972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6098
6099 Remove GRUB_PREFIX.
6100
6101 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6102 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6103 used for backward compatibility.
6104
ff27c3dd 61052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6106
6107 Add new all_video module.
6108
6109 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6110 * grub-core/Makefile.core.def (all_video): New module.
6111 * grub-core/genmoddep.awk: Generate dependency of all_video from
6112 video.lst.
6113 * grub-core/lib/fake_module.c: New file.
6114 * grub-core/normal/main.c (features): Add feature_all_video_module.
6115 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6116 don't do explicit search again.
47454da5 6117 insmod all_video in load_video if available.
22c7ce85 6118
ff27c3dd 61192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6120
6121 Another round of string clarification and adding TRANSLATORS comments.
6122
ff27c3dd 61232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6124
6125 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6126
ff27c3dd 61272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6128
6129 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6130 to grub_ssize_t.
6131 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6132 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6133
ff27c3dd 61342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6135
6136 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6137 trailing newline implicitly. All users updated.
6138
ff27c3dd 61392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6140
6141 Implement serial on IEEE1275 and EFI.
6142
6143 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6144 on emu. Mention arc and emu as the only platforms without serial
6145 support.
6146 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6147 ieee1275 platforms.
6148 * grub-core/term/efi/serial.c: New file.
6149 * grub-core/term/ieee1275/serial.c: Likewise.
6150 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6151 specification if no ns8250 driver is available.
6152 (grub_cmd_serial): Likewise.
6153 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6154 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6155 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6156 (grub_efi_parity_type_t): New type.
6157 (grub_efi_stop_bits_t): Likewise.
6158 (grub_efi_serial_io_interface): New struct.
6159 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6160 available for all interfaces.
6161 Add EFI and IEEE1275 fields.
6162 (grub_ofserial_init): New proto.
6163 (grub_efiserial_init): Likeiwse.
6164 * util/grub.d/00_header.in: Don't check for the presence of serial
6165 module.
6166
ff27c3dd 61672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6168
6169 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6170 name as if it was an alias.
6171
114076ef
VS
61722012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/commands/lsacpi.c (options): Fix typo.
6175
6a656b0e
VS
61762012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 Convert grub-emu to argp.
6179
6180 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6181 emu.
6182 * util/argp_common.c: Rename to ...
6183 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6184 Add missing includes.
6185 * grub-core/kern/emu/main.c: Convert to argp.
6186 * po/POTFILES.in: Regenerate.
6187 * util/grub-install.in (usage): Make first letter lowcase in messages
6188 for uniformity.
6189 * util/grub-setup.c (options): Likewise.
6190
1e3f8ae8
VS
61912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6194 Put back accidently commented-out code.
6195
ed167a80
VS
61962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6199 loop check using Brent algorithm.
6200 (grub_hfsplus_btree_search): Likewise.
6201
6753c0ec
VS
62022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * util/grub-install.in: Fix usage of wrong device for PreP install.
6205
4e27343f
VS
62062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * conf/Makefile.common (CFLAGS_GNULIB): Add
6209 -Wno-unsafe-loop-optimizations.
6210 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6211 on tools.
6212 * grub-core/commands/legacycfg.c: Add pragma to skip
6213 -Wunsafe-loop-optimizations.
6214 (check_password_md5_real): Fix loop counter type.
6215 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6216 reading.
6217 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6218 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6219 loop condition.
6220 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6221 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6222 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6223 condition.
6224 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6225 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6226 avoid possible infinite loops.
6227 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6228 and -Wunsafe-loop-optimizations.
6229 * grub-core/script/yylex.l: Likewise.
6230 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6231 (print_glyphs): Avoid infinite loops.
6232 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6233
697f18b0
GS
62342012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6235
6236 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6237 to avoid infinite loop.
6238 (disp_acpi_rsdt_table): Likewise.
6239
274416e8
VS
62402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/font/font.c (grub_font_load): Add support for default
6243 path for fonts ($prefix/fonts).
6244 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6245 for checking if string is a path.
6246 * grub-core/normal/main.c (features): Add feature_default_font_path.
6247 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6248 * util/grub.d/00_header.in: Use default directory if possible.
6249 * util/grub-install.in: Install unicode.pf2.
6250
b3e08622
VS
62512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6254 * po/Rules-swiss: New file.
6255 * po/swiss.sed: Likewise.
6256
fe42ce09
VS
62572012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/fs/btrfs.c (find_device): Fix typos.
6260 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6261 * util/grub-mkrelpath.c (argp_parser): Likewise.
6262 Reported by: Yuri Chornoivan.
6263
72f1d065
DO
62642012-02-23 Dalet Omega <daletomega@gmail.com>
6265
6266 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6267 for usual informative messages.
6268
c5884973
DO
62692012-02-23 Dalet Omega <daletomega@gmail.com>
6270
6271 Starfield theme.
6272
6273 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6274 * conf/Makefile.common: Define starfielddir.
6275 * configure.ac: Configure starfield.
6276 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6277 * themes/starfield/README: Likewise.
6278 * themes/starfield/blob_w.png: Likewise.
6279 * themes/starfield/boot_menu_c.png: Likewise.
6280 * themes/starfield/boot_menu_e.png: Likewise.
6281 * themes/starfield/boot_menu_n.png: Likewise.
6282 * themes/starfield/boot_menu_ne.png: Likewise.
6283 * themes/starfield/boot_menu_nw.png: Likewise.
6284 * themes/starfield/boot_menu_s.png: Likewise.
6285 * themes/starfield/boot_menu_se.png: Likewise.
6286 * themes/starfield/boot_menu_sw.png: Likewise.
6287 * themes/starfield/boot_menu_w.png: Likewise.
6288 * themes/starfield/slider_c.png: Likewise.
6289 * themes/starfield/slider_n.png: Likewise.
6290 * themes/starfield/slider_s.png: Likewise.
6291 * themes/starfield/src/blob_nw.xcf: Likewise.
6292 * themes/starfield/src/bootmenu/: Likewise.
6293 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6294 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
6295 * themes/starfield/src/bootmenu/side.xcf: Likewise.
6296 * themes/starfield/src/slider_c.xcf: Likewise.
6297 * themes/starfield/src/slider_n.xcf: Likewise.
6298 * themes/starfield/src/slider_s.xcf: Likewise.
6299 * themes/starfield/src/terminalbox/: Likewise.
6300 * themes/starfield/src/terminalbox/center.xcf: Likewise.
6301 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
6302 * themes/starfield/src/terminalbox/side.xcf: Likewise.
6303 * themes/starfield/starfield.png: Likewise.
6304 * themes/starfield/terminal_box_c.png: Likewise.
6305 * themes/starfield/terminal_box_e.png: Likewise.
6306 * themes/starfield/terminal_box_n.png: Likewise.
6307 * themes/starfield/terminal_box_ne.png: Likewise.
6308 * themes/starfield/terminal_box_nw.png: Likewise.
6309 * themes/starfield/terminal_box_s.png: Likewise.
6310 * themes/starfield/terminal_box_se.png: Likewise.
6311 * themes/starfield/terminal_box_sw.png: Likewise.
6312 * themes/starfield/terminal_box_w.png: Likewise.
6313 * themes/starfield/theme.txt: Likewise.
6314
17d73325
VS
63152012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * util/grub.d/00_header.in: Add missing export theme.
6318
dbebaf92
VS
63192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
6322 already included.
6323 Reported by: Eren D.
6324
3d68bffb
VS
63252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * conf/Makefile.common (grubdatadir): Removed.
6328 (Makefile.am): Move eveything grubdata to pkgdata.
6329
4b59234d
VS
63302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/commands/acpihalt.c (get_sleep_type):
6333 Remove unused variable.
6334
463dcadc
VS
63352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
6338 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
6339 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
6340 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
6341 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
6342 i18n with gettext no-op.
6343 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
6344 GRUB_ACPI_OPCODE_STRING_CONST.
6345 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
6346 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
6347
e5b90c82
VS
63482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * po/POTFILES.in: Regenerate.
6351
2a704ca9
VS
63522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
6355 -Wno-error=missing-noreturn.
6356
84f9d341
VS
63572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
6360 condition to avoid possibly infinite loops.
6361 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
6362 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
6363
d46683f9
VS
63642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
6367 condition to avoid possibly infinite loops.
6368
c44866b2
VS
63692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
6372 on show_error.
6373
96790539
VS
63742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6377
1ba7e295
VS
63782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6381
21ffe8f1
VS
63822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * util/bin2h.c (usage): Add missing attribute noreturn.
6385
0ccb6b3c
VS
63862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
6389 if the size isn't divisible by 512.
6390
b00d7fb6
VS
63912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 Make list_push and list_remove functions rather than inline functions
6394 to decrease size and avoid aliasing violations.
6395
6396 * include/grub/list.h (grub_list_push): Move to ...
6397 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
6398 * include/grub/list.h (grub_list_remove): Move to ...
6399 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
6400
9d369087
VS
64012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6404 and -Wunused-result.
6405
af0250d9
VS
64062012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
6409 Reported by: Seth Goldberg
6410
aad32b14
VS
64112012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6414
ac96441c
ST
64152012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
6416
6417 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
6418 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
6419 command line.
6420 * docs/grub.texi (Simple configuration): Document
6421 GRUB_CMDLINE_GNUMACH.
6422
64232012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
6424
6425 * conf/Makefile.common (platform_SCRIPTS): New variable.
6426 (platform_PROGRAMS): Likewise.
6427 * gentpl.py: Mark *,module and *.image for install.
6428 * grub-core/gdb_grub.in: Add a notice of expected environment.
6429 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
6430 (gmodule.pl): Likewise.
6431
ac96441c 64322012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
6433
6434 Replace grub_checkkey with grub_getkey_noblock.
6435
6436 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
6437 (grub_getkey_noblock): ... this. All users updated.
6438
ac96441c 64392012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
6440
6441 * grub-core/kern/emu/console.c: Move to ...
6442 * grub-core/term/emu/console.c: ...here.
6443 (grub_ncurses_getkey): Fix return value if no key is detected.
6444
e51b5666
VS
64452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
6448 (grub_unit_test_fini): Likewise.
6449 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
6450
64512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * include/grub/test.h (GRUB_UNIT_TEST)
6454
d9a62292
VS
64552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/script/execute.c (grub_script_break): Clarify logic.
6458 Better error handling.
6459 (grub_script_return): Likewise.
6460 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6461
77c9182f
VS
64622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6465 rimplicit redifinition.
6466
edb13cf9
VS
64672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6470 GRUB.
6471
a9e9dc7c
VS
64722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6475 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6476 prompt here.
6477
b4ba8e02
VS
64782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6481 as GRUB_ERR_BUG. Don't malloc if no device is available.
6482
dded5540
VS
64832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6486 Mark calling with invalid term as GRUB_ERR_BUG.
6487
0cf69874
VS
64882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6491 packets rather than raising an error.
6492
59bfe502
VS
64932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6496 in if.
6497
db5fc596
VS
64982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6501 diagnostic to dprintf.
6502 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6503
e4b7f404
VS
65042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6507 device name.
6508
e7b02f9e
VS
65092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6512 (grub_ntfs_iterate_dir): Likewise.
6513
0331e102
VS
65142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Efiemu stylistic fixes and gettext.
6517
6518 * grub-core/efiemu/i386/loadcore32.c
6519 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6520 * grub-core/efiemu/i386/loadcore64.c
6521 (grub_arch_efiemu_relocate_symbols64): Likewise.
6522 * grub-core/efiemu/i386/pc/cfgtables.c
6523 (grub_machine_efiemu_init_tables): Likewise.
6524 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6525 (grub_efiemu_loadcore_initXX): Add a filename argument.
6526 All users updated.
6527 Improved error message.
6528 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6529 Add a filename argument.
6530 All users updated.
6531 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6532 Reclassify double relocation as GRUB_ERR_BUG.
6533
306fc074
VS
65342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6537 handling.
6538
794d8ef2
VS
65392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6542 on partition.
6543
65442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
6545
6546 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6547
794d8ef2 65482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
6549
6550 Improve string. Gettextize.
6551
78dde88e
VS
65522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6555 utils.
6556 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6557
4786a90f
VS
65582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6561 [GRUB_UTIL]: New function.
6562 (insert_array) [GRUB_UTIL]: Store partmaps.
6563 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6564 partmaps.
6565 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6566 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6567 (probe_abstraction): Print diskfilter and not raid.
6568 Reported by: Lennart Sorensen
6569
0b6225bd
VS
65702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6573 * util/grub-mkimagexx.c (MASK3): New define.
6574 (add_value_to_slot_20b): Use MASK3.
6575 (add_value_to_slot_21): Likewise.
6576 (relocate_addresses): Fix format specification.
6577 (load_image): Explicitly init symtab_section.
6578
b055f8f6
VS
65792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6582 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6583
b77c2fb7
VS
65842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6587 on powerpc.
6588 Reported by: Lennart Sorensen
6589
e3ec28ab
VS
65902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * gentpl.py: Add missing license header.
6593 * docs/grub.texi: Update copyright year.
6594
c8d9ead6
GS
65952012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6596
6597 Source grub-mkconfig_lib from the build directory at build time.
6598 Suggested by: Vladimir Serbinenko.
6599
6600 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6601 * util/grub-install.in: Define pkgdatadir if not already set, and source
6602 grub-mkconfig_lib from there.
6603 * util/grub-kbdcomp.in: Likewise.
6604 * util/grub-mkconfig.in: Likewise.
6605 * util/grub-mknetdir.in: Likewise.
6606 * util/grub-mkrescue.in: Likewise.
6607 * util/grub-mkstandalone.in: Likewise.
6608 * util/grub-reboot.in: Likewise.
6609 * util/grub-set-default.in: Likewise.
6610 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6611
ebcecdf1
VS
66122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Increase warning level.
6615
6616 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6617 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6618 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6619 (TARGET_CFLAGS): Likewise.
6620 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6621 * grub-core/Makefile.core.def (decompressor_xz): Add
6622 -Wno-unreachable-code.
6623 (normal): Add -Wno-redundant-decls.
6624 (xzio): Add -Wno-unreachable-code.
6625 (lzopio): Add -Wno-redundant-decls -Wno-error.
6626 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6627 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6628 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6629 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6630 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6631 * grub-core/kern/i386/coreboot/init.c: Add exception to
6632 -Wsuggest-attribute=noreturn.
6633 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6634 * grub-core/kern/ia64/dl_helper.c: Likewise.
6635 * grub-core/kern/mips/dl.c: Likewise.
6636 * grub-core/kern/sparc64/dl.c: Likewise.
6637 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6638 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6639 (memcmp): Likewise.
6640 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6641 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6642 * grub-core/loader/mips/linux.c: Likewise.
6643 * grub-core/loader/multiboot_elfxx.c: Likewise.
6644 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6645 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6646 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6647 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6648 fixme.
6649 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6650 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6651 Fix prototype.
6652
37bb97fe
VS
66532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6656 address.
6657
29a3550b
VS
66582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6661 Avoid improper use of strings.
6662 (grub_cmd_legacy_initrdnounzip): Likewise.
6663
dfdffd0d
VS
66642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6667 attribute.
6668 (grub_util_info): Likewise.
6669 (grub_util_error): Likewise.
6670
102fae4a
VS
66712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6674 * util/grub-fstest.c (fstest): Likewise.
6675
7e94d044
VS
66762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6679 (grub_md_sha512_real): Likewise.
6680 (grub_util_get_geli_uuid): Likewise.
6681 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6682 (grub_util_biosdisk_open): Fix format specification.
6683 Respect format security.
6684 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6685 (xrealloc): Likewise.
6686 (xasprintf): Likewise.
6687
5ebd9769
VS
66882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * util/import_gcry.py: Include grub/crypto.h in init.c.
6691
495fc8c1
VS
66922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6695 (generate_image): Make prefix a const char *.
6696 Fix format specifications. Respect format security.
6697 Avoid void * arithmetics.
6698 Avoid shadowing.
6699 (argp_parser): Remove unused variable. Respect format security.
6700 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6701 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6702 (count_funcs): Remove unused variable.
6703 (relocate_addresses): Fix format specification.
6704 Disable x86-64 with elf32. Remove unused variables.
6705 (add_fixup_entry): Avoid shadowing.
6706 (make_reloc_section): Fix format specification.
6707 Use assert.
6708 (locate_sections): Fix format specifications.
6709 (load_image): Avoid shadowing.
6710
043c2ea3
VS
67112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6714 Fix format specifications. Respect format security.
6715 Don't translate already translated grub_errmsg.
6716 (argp_parser): Remove unused variable
6717
3ec65a81
VS
67182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6721
a4d9fe4a
VS
67222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6725 (main): Likewise. Use xmalloc. Respect format security.
6726
15b81d49
VS
67272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6730 a const char *.
6731 (argp_parser): Remove unused variable.
6732
31731fc0
VS
67332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6736 (add_pixel): Make static.
6737 (add_font): Likewise.
6738 (write_string_section): Make name and str a const char *.
6739 (write_be16_section): Make name a const char *.
6740 (print_glyphs): Make static.
6741 (write_font_ascii_bitmap): Likewise.
6742 (write_font_width_spec): Likewise.
6743 (write_font_pf2): Likewise.
6744 (argp_parser): Remove unused variable.
6745 Respect format security.
6746 (main): Avoid shadowing. Respect format security.
6747
0809527b
VS
67482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * util/grub-editenv.c (argp_parser): Make static.
6751 (create_envblk_file): Use xmalloc.
6752 (open_envblk_file): Likewise.
6753 Resepect format security.
6754 (set_variables): Respect format security.
6755
45b0c8b7
VS
67562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * util/getroot.c (grub_find_device): Respect format security.
6759 (get_mdadm_uuid): Remove unused variable.
6760 (grub_util_pull_device): Dont call gettext on already translated
6761 grub_errmsg.
6762 (find_system_device): Remove unused variable.
6763 (grub_util_get_grub_dev): Likewise.
6764 (grub_make_system_path_relative_to_its_root): Respect format security.
6765
1b024b4e
VS
67662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * util/grub-fstest.c (execute_command): Make first argument
6769 a const char *.
6770 (read_file): Avoid shadowing.
6771 Reuse underlying error message if device open fails.
6772 (cmd_cmp): Respect format security.
6773 (root): Make const char *.
6774 (fstest): Remove args argument and use global copy.
6775 Respect format security.
6776 (argp_parser): Make static.
6777 (main): Make default_root const char *.
6778
5d1d4e28
VS
67792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * util/grub-mount.c (root): Make const char *.
6782 (execute_command): Make first argument a const char *.
6783 (fuse_init): Respect format security.
6784 (argp_parser): Make static. Remove unused variable.
6785 (main): Make default_root a const char *.
6786 Respect format security.
6787
36eb7379
VS
67882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * util/grub-probe.c (probe): Don't call gettext on already translated
6791 grub_errmsg.
6792 Remove unused variables.
6793 (argp_parser): Remove unused variable.
6794
76fb2ea9
VS
67952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * util/grub-script-check.c (argp_parser): Remove unused variable.
6798 (main): Rename read to curread to avoid shadowing.
6799
56c98584
VS
68002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * util/misc.c (grub_util_write_image_at): Fix format specification.
6803 (grub_util_write_image): Likewise.
6804 (grub_script_execute_argument_to_string): Removed (unused).
6805 (grub_script_execute_menuentry): Likewise.
6806 (grub_putchar): Likewise.
6807
164ebb48
VS
68082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6811 (FUNCTION) [GRUB_UTIL]: Likewise.
6812 (VARIABLE) [GRUB_UTIL]: Likewise.
6813
44318d61
VS
68142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6817 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6818
31a26002
VS
68192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6822 buffer.
6823
68242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6827 (LzmaEnc_SaveState): Removed (unused).
6828 (LzmaEnc_RestoreState): Likewise.
6829 (LzmaEnc_InitPriceTables): Made static.
6830 (LzmaEnc_Construct): Likewise.
6831 (LzmaEnc_FreeLits): Likewise.
6832 (LzmaEnc_Destruct): Likewise.
6833 (LzmaEnc_Init): Likewise.
6834 (LzmaEnc_InitPrices): Likewise.
6835 (LzmaEnc_Finish): Likewise.
6836 (LzmaEnc_PrepareForLzma2): Removed (unused).
6837 (LzmaEnc_MemPrepare): Likewise.
6838 (LzmaEnc_GetNumAvailableBytes): Likewise.
6839 (LzmaEnc_GetCurBuf): Likewise.
6840 (LzmaEnc_CodeOneMemBlock): Likewise.
6841
6fa67967
VS
68422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6845 (grub_util_ldm_embed): Likewise.
6846
9a7428e6
VS
68472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * util/grub-editenv.c (print_var): Rename name to varname to
6850 avoid shadowing.
6851 (main): Rename index to curindex to avoid shadowing.
31a26002 6852 Make filename a const char *.
9a7428e6 6853
4f96abd1
VS
68542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6857 to arg_getline to avoid shadowing.
6858
44d10dad
VS
68592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6862 disk_ to avoid shadowing.
6863
340ba63e
VS
68642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6867 curindex to avoid shadowing.
6868 Make static.
6869 (MatchFinder_GetNumAvailableBytes): Make static.
6870
22965bce
VS
68712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6874 avoid shadowing.
6875
7b5784d4
VS
68762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6879 argument from encrypt to do_encrypt to avoid shadowing.
6880
6f48ca01
VS
68812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6884 incorrect nesting of #if's.
6885
a4ea2dff
VS
68862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6889 checks which are always false on some platforms.
6890 (grub_cmd_lsacpi): Likewise.
6891 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6892 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6893 Likewise.
6894
def9fc1b
VS
68952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6898 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6899
a67b2a04
VS
69002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6903 re_dfa_t to avoid breaking alignment invariants.
6904 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6905 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6906
44c6828d
VS
69072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6910 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6911
bebe0dd0
VS
69122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6915 Fix declaration.
6916
a9cdb3cf
VS
69172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6920 conserve alignment invariants.
6921 (grub_ehci_ehcc_read16): Likewise.
6922 (grub_ehci_oper_read32): Likewise.
6923 (grub_ehci_oper_write32): Likewise.
6924 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6925 Conserve alignment invariants.
6926
ccc3b1b8
VS
69272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6930 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6931 declarations.
6932
987fbd95
VS
69332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6936 Remove unused variable.
6937
0df363f3
VS
69382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6941 Remove set in if.
6942
b2c0c4a6
VS
69432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * include/grub/net.h: Remove double declarations.
6946
690c531f
VS
69472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Remove "payload" command in ia64 Linux loader since I couldn't
6950 find any evidence of it being used for anything.
6951 Replace "relocate" command with an environment variable
6952
6953 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6954 fields.
6955 (ia64_boot_payload): Removed.
6956 (last_payload): Likewise.
6957 (RELOCATE_OFF): Likewise.
6958 (RELOCATE_ON): Likewise.
6959 (RELOCATE_FORCE): Likewise.
6960 (relocate): Likewise.
6961 (free_pages): Don't free payloads.
6962 (grub_load_elf64): Use common error messages.
6963 Use "linux_relocate" variable.
6964 Increase the space after boot_params.
6965 (grub_cmd_payload): Removed.
6966 (grub_cmd_relocate): Likewise.
6967 (grub_cmd_fpswa): Improve messages.
6968 (cmd_payload): Removed.
6969 (cmd_relocate): Likewise.
6970 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6971 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6972
01783768
VS
69732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 Convert UHCI to DMA framework.
6976
6977 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6978 (grub_uhci_pci_iter): Fill new members
6979 (grub_alloc_td): Use P2V and V2P functions.
6980 (grub_free_queue): Likewise.
6981 (grub_alloc_qh): Likewise.
6982 (grub_uhci_setup_transfer): Likewise.
6983 (grub_uhci_check_transfer): Likewise.
6984
43206939
VS
69852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6988 Remove assignment in if while on it.
6989
571e140e
VS
69902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * util/grub-mkstandalone.in: Fix modules directory.
6993
a9d96eeb
VS
69942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6997 on i386-pc target.
6998 (argp_parser): Accept "auto" as compression specification.
6999
e4e37e8d
VS
70002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Fix `help' with unloaded modules.
7003
7004 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7005 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7006 (grub_dyncmd_dispatcher): Small stylistic fix.
7007 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7008 explicit help is requested.
7009
e1ea3ade
VS
70102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7013 Explicitly init restart while on it.
7014
27556881
VS
70152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7018 uninited variable.
7019
d65f6b36
VS
70202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub-mknetdir.in: Use . rather than source for POSIX
7023 compatibility.
7024
0a1e473c
VS
70252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7028
ce6647c8
VS
70292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7032 variable.
7033
66747894
VS
70342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7037 without quotes.
7038
71645f6e
VS
70392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7042
0e1c1f61
VS
70432012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7046 iteration of partitions.
7047
9c4b5c13
VS
70482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 Improve gettext support. Stylistic fixes and error handling fixes while
7051 on it.
7052
215c90cb
VS
70532012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7056 part. Instead setup the correct stack in RM.
7057 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7058 for stack.
7059 * include/grub/i386/relocator_private.h: New file.
7060
b5c1f9bf
VS
70612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7064 argument.
7065 * util/grub-fstest.c (options): Add missing DEVICE part.
7066
b525fd83
VS
70672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Clarify and unify messages.
7070
7071 * grub-core/commands/hashsum.c (options): Unify messages.
7072 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7073 literal-only message as translatable.
7074 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7075 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7076 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7077 commands.
7078 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7079 key, not the key used to unlock. Clarify what it's used for.
7080 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7081 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7082 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7083 * util/grub-editenv.c (options): Unify "verbose" message.
7084 * util/grub-fstest.c (read_file): Unify error message.
7085 (fstest): Add quotes around commands.
7086 (options): Unify "verbose" message.
7087 * util/grub-install.in: Add quotes around variable name.
7088 * util/grub-kbdcomp.in: Unify error message.
7089 * util/grub-mkfont.c (main): Likewise.
7090 * util/grub-mkrescue.in: Likewise.
7091 * util/grub-mklayout.c (options): Unify "verbose" message.
7092 * util/grub-mkstandalone.in: Unify help and verbose messages.
7093 * util/grub-mount.c (options): Unify "verbose" message.
7094 * util/grub-probe.c (options): Likewise.
7095 * util/grub-script-check.c (options): Likewise.
7096 * util/grub-setup.c (setup): Unify no-terminator message.
7097 (options): Use DEVICE and not DEV.
7098 Unify "verbose" message.
7099 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7100
0ae70393
VS
71012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 Improve and unify messages.
7104
7105 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7106 name. All users updated.
7107 Print filename in error.
7108 (read_device_map): Print filename in error.
7109 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7110 (grub_util_get_os_disk): Likewise.
7111 (grub_util_biosdisk_get_grub_dev): Likewise.
7112 (grub_util_check_block_device): Likewise.
7113 (grub_util_check_char_device): Likewise.
7114 (grub_make_system_path_relative_to_its_root): Likewise.
7115 * util/grub-editenv.c (create_envblk_file): Likewise.
7116 (open_envblk_file): Likewise.
7117 (write_envblk): Likewise.
7118 * util/grub-fstest.c (cmd_cp): Likewise.
7119 (cmd_cat): Likewise.
7120 (cmd_cmp): Likewise.
7121 * util/grub-menulst2cfg.c (main): Likewise.
7122 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7123 (write_font_width_spec): Likewise.
7124 (write_font_pf2): Likewise.
7125 * util/grub-mkimage.c (generate_image): New argument outname.
7126 All users updated.
7127 Remove unreacheable message.
7128 (options): Unify messages.
7129 (help_filter): Likewise.
7130 * util/grub-mklayout.c (usage): Removed (unused).
7131 (main): Print filename in error.
7132 * util/grub-mkrescue.in: Fix wrong quoting.
7133 * util/grub-setup.c (setup): Print filename in error.
7134 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7135 (check_sas): Likewise.
7136 * util/misc.c (grub_util_get_fp_size): Removed.
7137 (grub_util_get_image_size): Print filename in error.
7138 (grub_util_read_at): Removed.
7139 (grub_util_read_image): Print filename in error.
7140 (grub_util_load_image): Likewise.
7141 (grub_util_write_image_at): New argument filename. All users updated.
7142 Print filename in error.
7143 (grub_util_write_image): New argument filename. All users updated.
7144 Print filename in error.
7145 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7146 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7147
0a96117d
VS
71482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/Makefile.core.def (pxechain): New module.
7151 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7152 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7153 function.
7154 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7155 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7156
aca002f7
VS
71572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7160 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7161 * include/grub/err.h (grub_error_saved): New struct.
7162 (grub_errmsg): Make array size explicit.
7163 * include/grub/misc.h (grub_error_save): New function.
7164 (grub_error_load): Likewise.
7165 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7166 (grub_error_push): Update `errno' member name.
7167 (grub_error_pop): Likewise
7168 * grub-core/net/tftp.c (tftp_data): New member save_err.
7169 (tftp_receive): Save error.
7170 (tftp_open): Restore error.
7171
a51dab13
VS
71722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7175 to real mode down to execute A20-related code in protected mode as
7176 intended.
7177
eb6e6649
GS
71782012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7179
7180 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7181 NULL when the argument `level' has an unexpected value.
7182
92cd0f6e
VS
71832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 Move platform-dependent files from $prefix to $prefix/$platform.
7186
7187 * config.h.in (GRUB_TARGET_CPU): New definition.
7188 (GRUB_PLATFORM): Likewise.
7189 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7190 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7191 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7192 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7193 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7194 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7195 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7196 * grub-core/normal/term.c (read_terminal_list): Likewise.
7197 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7198 $prefix/locale.
7199 (grub_gettext_init_ext): Likewise.
7200 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7201 grub_platform.
7202 * util/grub-install.in: Update directories.
7203 * util/grub-mknetdir.in: Likewise.
7204 * util/grub-mkrescue.in: Likewise.
7205
db606889
VS
72062012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7209 grub_error framework. All users updated.
7210
c39992a4
VS
72112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7214 lists (by always binsearching), improve caching (cache strings
7215 used for binsearch, not only results), improve
7216 maintainability (by using more structured binary search) and correct
7217 error handling.
7218
1e5ec32f
VS
72192012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/script/execute.c (grub_script_return): Fix warning.
7222
ac576cde
VS
72232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/script/execute.c (grub_script_return): Fix potential
7226 NULL-dereference.
7227 Reported by: Jim Meyering.
7228
498453f6
VS
72292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * po/POTFILES.in: Regenerate.
7232 * util/grub-install.in: Gettextize the strings missed in first pass.
7233
8be63f2e
VS
72342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * Makefile.util.def (grub-mkdevicemap): Removed.
7237 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7238 * include/grub/util/deviceiter.h: Removed.
7239 * util/deviceiter.c: Likewise.
7240 * util/getroot.c (grub_util_get_os_disk): New function.
7241 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7242 replacement for EFI.
7243 * util/grub-mkdevicemap.c: Removed.
7244 * util/grub-probe.c (probe): Handle PRINT_DISK.
7245 (argp_parser): Handle -t disk.
7246
8e1e4e39
VS
72472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * util/grub-mkfont.c: Migrate to argp.
7250 * util/grub-mklayout.c: Likewise.
7251 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7252 * util/grub-mkrelpath.c: Likewise.
7253 * util/grub-probe.c: Likewise.
7254 * util/grub-script-check.c: Likewise.
7255
4459819a
VS
72562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * util/grub-reboot.in: Add missing datarootdir.
7259 Add missing newline.
7260 * util/grub-set-default.in: Add missing datarootdir.
7261 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7262 * util/grub-mkrescue.in: Likewise.
7263
f65741c7
VS
72642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7267
c1a33466
VS
72682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * util/grub-kbdcomp.in: Add decent help and gettextize.
7271 * docs/man/grub-kbdcomp.h2m: New file.
7272
c76899a0
VS
72732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 Migrate grub-mkimage.c to argp.
7276
7277 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7278 (grub-setup): Likewise.
7279 * util/grub-setup.c (print_version): Move to ...
7280 * util/argp_common.c (print_version): ... here.
7281 * util/grub-setup.c (argp_program_version_hook): Move to ...
7282 * util/argp_common.c (argp_program_version_hook): ... here.
7283 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7284 safety.
7285 * util/grub-mkimage.c (main): Migrate to argp.
7286
57db0757
VS
72872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * util/grub-mkrescue.in: Use same message as
7290 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7291 for better translations.
7292
18534ad9
VS
72932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
7296 options with generic grub-mkrescue.in with the goal of future
7297 merge.
7298
c84ba308
VS
72992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/kern/mm.c: Add missing include of i18n.h
7302 * grub-core/lib/relocator.c: Likewise.
7303
347998c2
VS
73042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
7307 error.
7308 (allocate_pages): Check return value.
7309 Replace fatal with error.
7310 (grub_linux_boot): Replace printf with dprintf.
7311 Check find_mmap_size return value.
7312 Replace fatal with error.
7313 Don't call grub_machine_fini.
7314 (grub_load_elf64): Replace printf with dprintf.
7315 (grub_cmd_linux): Likewise.
7316 (grub_cmd_initrd): Likewise.
7317 (grub_cmd_payload): Likewise.
7318
c779226e
VS
73192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
7322 message.
7323 * grub-core/video/radeon_fuloong2e.c
7324 (grub_video_radeon_fuloong2e_setup): Likewise.
7325 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
7326 * grub-core/video/video.c (grub_video_set_mode): Don't override
7327 standard out of memory message.
7328
dc87d45a
GS
73292012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7330
7331 NetBSD disk wedge support.
7332
7333 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
7334 [__NetBSD__]: Handle NetBSD disk wedges.
7335 * util/getroot.c (convert_system_partition_to_system_disk)
7336 [__NetBSD__]: Likewise.
7337
055f856f
MW
73382012-02-03 Mark Wooding <mdw@distorted.org.uk>
7339
7340 * util/grub-mkconfig.in: Use umask rather than chmod to create
7341 grub.cfg.new to avoid insecure grub.cfg.
7342
4a9f8346
VS
73432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * grub-core/commands/ls.c: Gettextize.
7346 * grub-core/commands/setpci.c: Likewise.
7347 * grub-core/commands/videotest.c: Likewise.
7348 * grub-core/disk/geli.c: Likewise.
7349 * grub-core/kern/mm.c: Likewise.
7350 * grub-core/lib/relocator.c: Likewise.
7351 * grub-core/loader/efi/appleloader.c: Likewise.
7352 * grub-core/loader/i386/xnu.c: Likewise.
7353 * grub-core/loader/ia64/efi/linux.c: Likewise.
7354 * grub-core/loader/xnu.c: Likewise.
7355 * grub-core/net/dns.c: Likewise.
7356 * grub-core/net/net.c: Likewise.
7357 * grub-core/script/lexer.c: Likewise.
7358 * grub-core/script/parser.y: Likewise.
7359 * grub-core/script/yylex.l: Likewise.
7360 * util/getroot.c: Likewise.
7361 * util/grub-setup.c: Likewise.
7362
a646a366
VS
73632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
7366 number.
7367
54e2be26
VS
73682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7371
f7c71e68
VS
73722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
7375 macro.
7376 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
7377 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
7378
a32d5c71
VS
73792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
7382 * util/grub-install.in: Gettextize.
7383 * util/grub-mkconfig.in: Likewise.
7384 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
7385 if not available.
7386 (grub_warn): Gettextize.
7387 * util/grub-mknetdir.in: Gettextize.
7388 * util/grub-mkrescue.in: Likewise.
7389 * util/grub-mkstandalone.in: Likewise.
7390 * util/grub-reboot.in: Likewise.
7391 * util/grub-set-default.in: Likewise.
7392 * util/grub.d/00_header.in: Likewise.
7393 * util/grub.d/10_hurd.in: Likewise.
7394 * util/grub.d/10_kfreebsd.in: Likewise.
7395 * util/grub.d/10_linux.in: Likewise.
7396 * util/grub.d/10_netbsd.in: Likewise.
7397 * util/grub.d/10_windows.in: Likewise.
7398 * util/grub.d/20_linux_xen.in: Likewise.
7399 * util/grub.d/30_os-prober.in: Likewise.
7400 * po/POTFILES-shell.in: Regenerate.
7401
69edd81a
RL
74022012-02-03 Richard Laager <rlaager@wiktel.com>
7403
7404 * util/grub-mkimage.c (main): Fix format-security warning.
7405 * util/grub-mkrelpath.c (main): Likewise.
7406 * util/grub-probe.c (main): Likewise.
7407
65f08dbf
RL
74082012-02-03 Richard Laager <rlaager@wiktel.com>
7409
7410 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
7411 failure.
7412 Put back lost PRINT_DRIVE.
7413
e9084abe
RL
74142012-02-03 Richard Laager <rlaager@wiktel.com>
7415
7416 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
7417 (grub_guess_root_devices): Replace strlen with sizeof.
7418 Avoid crash.
7419 (find_root_devices_from_poolname): Remove unused variable.
7420 Handle raidzN.
7421
cf5f7ee7
VS
74222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 Support install on multi-device filesystems.
7425
7426 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
7427 (grub_guess_root_devices): ...this. Return char **. All users updated.
7428 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
7429 Removed.
7430 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
7431 (find_root_devices_from_poolname): ... here.
7432 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
7433 Support zfs-fuse.
7434 (grub_guess_root_device): Rename to ...
7435 (grub_guess_root_devices): ... this. Return char **. All users updated.
7436 * util/grub-install.in: Handle multi-device filesystems.
7437 * util/grub-probe.c (probe). Make device_names a char **. Add delim
7438 argument. All users updated.
7439 Handle multi-device filesystems.
7440 Use 'delim' as separator.
7441 Remove device check to allow filesystems on file.
7442 (main): Support -0 argument. Handle multi-device.
7443 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
7444 Fix a cross-device check while on it.
7445 (arguments): Remove root_dev.
7446 (argp_parser): Remove -r.
7447 (main): Remove root_dev.
7448
2f53a9ed
VS
74492012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7452
17e1d934
VS
74532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
7456 symbol.
7457 Reported by: NODA, Kai <nodakai>.
7458
d3e3fab5
VS
74592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 Fix ehci on amd64.
7462
7463 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7464 pointers.
7465 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7466 (grub_ehci_setup_qh): Likewise.
7467 (grub_ehci_find_qh): Likewise.
7468 (grub_ehci_transaction): Likewise.
7469 (grub_ehci_setup_transfer): Likewise.
7470 (grub_ehci_check_transfer): Likewise.
7471 (grub_ehci_portstatus): Likewise.
7472 (grub_ehci_detect_dev): Likewise.
7473 (grub_ehci_transfer_controller_data): New field td_last_phys.
7474 (grub_ehci_setup_transfer): Fill td_last_phys.
7475 (grub_ehci_check_transfer): Use td_last_phys.
7476
3008675b
SG
74772012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7478
7479 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7480 if no submenu is present.
7481
fc9b5652
AN
74822012-02-01 Aleš Nesrsta <starous@volny.cz>
7483
7484 CBI support.
7485
7486 * include/grub/usb.h (grub_usbms_protocol_t): New values
7487 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7488 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7489 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7490 (grub_usbms_dev): Add subclass, protocol and intrpt.
7491 Remove in_maxsz and out_maxsz.
7492 (grub_usbms_reset): Rename to ...
7493 (grub_usbms_bo_reset): .. this.
7494 (grub_usbms_cbi_cmd): New function.
7495 (grub_usbms_cbi_reset): Likewise.
7496 (grub_usbms_reset): Likewise.
7497 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7498 (grub_usbms_transfer): Rename to ...
7499 (grub_usbms_transfer_bo): ... this.
7500 (grub_usbms_transfer_cbi): Likewise.
7501 (grub_usbms_transfer): Likewise.
7502
a2b81d53
AN
75032012-02-01 Aleš Nesrsta <starous@volny.cz>
75042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7507 the support for the CS5536 modification thereos and few bugfixes.
7508
7509 * grub-core/Makefile.core.def (ehci): New module.
7510 * grub-core/bus/usb/ehci.c: New file.
7511 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7512 port and hubaddr. All users updated.
7513 Save port and hubaddr into dev structure.
7514 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7515 define.
7516 * include/grub/pci.h (grub_dma_phys2virt): New function.
7517 (grub_dma_virt2phys): Likewise.
7518 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7519
b1d51f02
VS
75202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7523 check as some mkfs implementations omit it.
7524
fc694106
VS
75252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7528
6c0920e3
VS
75292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7532 Add new member volname2.
7533 (grub_jfs_label): Use volname2 if available.
7534
d1a46f9a
VS
75352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7538 over last_mounted as seen in image generated by mkfs.nilfs2.
7539 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7540
dec8ed14
VS
75412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7544 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7545 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7546
7397c69b
VS
75472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7550 over the sector.
7551
b3fe42ad
VS
75522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7555 subvolume name (by removing a bogus and useless check).
7556
10476bb0
VS
75572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7560 sizeof while on it.
7561
9c08ad87
VS
75622012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7565 (grub_scsi_read_capacity10): ... this.
7566 (grub_scsi_read_capacity16): New function.
7567 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7568 0xffffffff.
7569 Fix off-by-one error.
7570 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7571 64-bit unsigned.
7572 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7573 (grub_scsi_read_capacity10): ... this.
7574 (grub_scsi_read_capacity_data): Rename to ...
7575 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7576 (grub_scsi_read_capacity16): New struct.
7577 (grub_scsi_read_capacity16_data): Likewise.
7578 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7579 grub_scsi_cmd_read_capacity10.
7580 New command grub_scsi_cmd_read_capacity16.
7581
bc8d0f45
VS
75822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 SCSI >2TiB support.
7585
7586 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7587 (grub_scsi_write16): Likewise.
7588 (grub_scsi_read): Use read16 when necessary.
7589 (grub_scsi_write): Likewise.
7590 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7591 (grub_scsi_write16): Likewise.
7592 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7593
cc774926
VS
75942012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 SCSI write support (for usbms mainly).
7597
7598 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7599 a const pointer.
7600 (grub_scsi_write): Implement.
7601 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7602
67639fd7
VS
76032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7606 variable.
7607
9079d3ed
VS
76082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7611
c6a6f204
VS
76122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * po/POTFILES.in: Regenerate.
7615
ecbf8cd1
VS
76162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7619 with grub_printf to avoid unnecessary fatal failure.
7620
0b3b3b38
VS
76212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7624 (INT_MAX): Likewise.
7625 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7626 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7627 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7628 (strcpy): Likewise.
7629 (strstr): Likewise.
7630 (strchr): Likewise.
7631 (strncpy): Likewise.
7632 (strcat): Likewise.
7633 (strncat): Likewise.
7634 (strcoll): Likewise.
7635 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7636 (GRUB_INT_MAX): Likewise.
7637
db7337a3
VS
76382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7641 unexpected error.
7642 (optimize_utf8): Likewise.
7643 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7644
f37c87e1
VS
76452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/boot/i386/pc/lnxboot.S: Use
7648 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7649 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7650 location.
7651 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7652 definition.
7653 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7654
63fe43f3
VS
76552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7658 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7659 now to avoid double free.
7660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7661 hostdisk.
7662 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7663 * util/grub-probe.c (escape_of_path): Always return a new copy.
7664 (print_full_name): Escape path.
7665 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7666 Fix hints on abstractions.
7667
ebe2c961
VS
76682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7671 Don't add "root" line if no compatibility hont is available.
7672 Suggested by: Seth Goldberg.
7673
2b5336a2
VS
76742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7677 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7678 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7679 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7680
74310bd8
VS
76812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7684
c30582ba
VS
76852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/grub-pe2elf.c (ehdr): Make static.
7688 (shdr): Likewise.
7689 (num_sections): Likewise.
7690 (offset): Likewise.
7691
5f47782c
VS
76922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 Eliminate ofpath limits and possible overflows.
7695
7696 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7697 (OF_PATH_MAX): Removed.
7698 (MAX_DISK_CAT): New const.
7699 (find_obppath): Use allocated rather than preallocated buffer.
7700 Return result. Argument of_path removed. All users updated.
7701 Add missing fdstat.
7702 (xrealpath): New function.
7703 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7704 Allocate rather than use preallocated buffer. All users updated.
7705 (__of_path_common): Use allocated rather than preallocatecd buffer.
7706 Return result. Argument of_path removed. All users updated.
7707 (vendor_is_ATA): Read only needed part form the file.
7708 (check_sas): Allocate depending on contents rather than fixed.
7709 (main) [STANDALONE]: Handle NULL result.
7710
f990cbf9
VS
77112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7714
9c6e84b8
VS
77152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 Cryptodisk write support.
7718
7719 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7720 (grub_cryptodisk_decrypt): Moved logic to ...
7721 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7722 (grub_cryptodisk_write): Implement.
7723 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7724 (grub_util_fd_write): ... this. Make global.
7725 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7726
87cf9744
VS
77272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * include/grub/list.h (grub_list_remove): Don't crash if element is
7730 removed twice.
7731
ca8c0baf
VS
77322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 Rename ofconsole to console.
7735
7736 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7737 as sysnonym to console.
7738 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7739 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7740 Rename grub_ofconsole_ to grub_console_. All users updated
7741 (grub_console_term_output): Rename "ofconsole" to "console".
7742 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7743 as "console".
7744
64c8b8f6
VS
77452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7748 handling.
7749 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7750 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7751 GRUB_DISK_DEVICE_FILE_ID.
7752
f6c434d5
VS
77532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7756 and improve performance.
7757
5858b42d
VS
77582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7761 missing ieee1275/ prefix on whole disk.
7762
4ed3c26b
VS
77632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7766 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7767
df71143e
VS
77682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7771
076e7c0f
VS
77722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Merge common RAID and LVM logic to an abstract diskfilter.
7775 Add LDM support using the same framework.
7776
7777 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7778 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7779 (libgrubmods): Remove grub-core/disk/raid.c and
7780 grub-core/partmap/gpt.c.
7781 * grub-core/Makefile.core.def (ldm): New module.
7782 (raid): Renamed to diskfilter. All users updated.
7783 * grub-core/disk/raid.c: Moved to ...
7784 * grub-core/disk/diskfilter.c: ... here.
7785 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7786 (lv_num): New var.
7787 (find_array): Renamed to ...
7788 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7789 (grub_is_array_readable): Renamed to ...
7790 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7791 (insert_array): New argument id.
7792 (is_node_readable): New function.
7793 (scan_device): Rename to ...
7794 (scan_disk): .. this. Restrict to one disk.
7795 (scan_devices): New function.
7796 (grub_diskfilter_iterate): Support multi-LV.
7797 Skip invisible and nameless LVs.
7798 (grub_diskfilter_memberlist): Support multi-LV.
7799 (grub_diskfilter_read_node): New function.
7800 (grub_raid_read): Most of logic moved to ...
7801 (read_segment): ... here
7802 (read_lv): New function.
7803 (grub_diskfilter_get_vg_by_uuid): New function.
7804 (grub_diskfilter_make_raid): Likewise.
7805 * grub-core/disk/ldm.c: New file.
7806 * grub-core/disk/lvm.c (vg_list): Removed.
7807 (lv_count): Likewise.
7808 (scan_depth): Likewise.
7809 (is_lv_readable): Likewise.
7810 (grub_lvm_getvalue): Advance pointer past the number.
7811 (find_lv): Removed.
7812 (do_lvm_scan): Refactored into ...
7813 (grub_lvm_detect): ... this. Support raid.
7814 (grub_lvm_iterate): Removed.
7815 (grub_lvm_memberlist): Likewise.
7816 (grub_lvm_open): Likewise.
7817 (grub_lvm_close): Likewise.
7818 (read_lv): Likewise.
7819 (read_node): Likewise.
7820 (is_node_readable): Likewise.
7821 (is_lv_readable): Likewise.
7822 (grub_lvm_read): Likewise.
7823 (grub_lvm_write): Likewise.
7824 (grub_lvm_dev): Use diskfilter
7825 (GRUB_MOD_INIT): Likewise.
7826 (GRUB_MOD_FINI): Likewise.
7827 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7828 new interface.
7829 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7830 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7831 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7832 grub_diskfilter_read_node.
7833 Fix a bug with xor.
7834 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7835 grub_diskfilter_read_node.
7836 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7837 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7838 (grub_disk_dev_iterate): Move from here...
7839 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7840 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7841 Make global.
7842 (grub_hostdisk_find_partition_start): Likewise.
7843 (grub_hostdisk_os_dev_to_grub_drive): New function.
7844 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7845 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7846 * util/getroot.c (make_device_name): ... here.
7847 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7848 Move to ...
7849 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7850 * grub-core/kern/emu/hostdisk.c
7851 (convert_system_partition_to_system_disk): Move to ...
7852 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7853 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7854 * util/getroot.c (device_is_wholedisk): ... here.
7855 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7856 * util/getroot.c (find_system_device): ... here.
7857 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7858 Move to ...
7859 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7860 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7861 Move to ...
7862 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7863 Handle LDM.
7864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7865 Move to ...
7866 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7867 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7868 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7869 DISKFILTER.
7870 * include/grub/raid.h: Renamed to ...
7871 * include/grub/diskfilter.h: ... this.
7872 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7873 (GRUB_RAID_LAYOUT_*): Make into array.
7874 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7875 (grub_diskfilter_vg): New struct.
7876 (grub_diskfilter_pv_id): Likewise.
7877 (grub_raid_member): Removed.
7878 (grub_raid_array): Likewise.
7879 (grub_diskfilter_pv): New struct.
7880 (grub_diskfilter_lv): Likewise.
7881 (grub_diskfilter_segment): Likewise.
7882 (grub_diskfilter_node): Likewise.
7883 (grub_diskfilter_get_vg_by_uuid): New proto.
7884 (grub_raid_register): Inline.
7885 (grub_diskfilter_unregister): Likewise.
7886 (grub_diskfilter_make_raid): New proto.
7887 (grub_diskfilter_vg_register): Likewise.
7888 (grub_diskfilter_read_node): Likewise.
7889 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7890 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7891 (grub_util_is_ldm): Likewise.
7892 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7893 (grub_hostdisk_find_partition_start): Likewise.
7894 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7895 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7896 New definition.
7897 (grub_gpt_partition_map_iterate): New proto.
7898 * include/grub/lvm.h (grub_lvm_vg): Removed.
7899 (grub_lvm_pv): Likewise.
7900 (grub_lvm_lv): Likewise.
7901 (grub_lvm_segment): Likewise.
7902 (grub_lvm_node): Likewise.
7903 * util/getroot.c [...]
7904 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7905 (probe_abstraction): Likewise.
7906 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7907 (main): Remove dead logic.
7908
8a7f9b9c
VS
79092012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Simplify root device discover and don't fail when trying to open
7912 incorrect devices.
7913
7914 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7915 function.
7916 (get_diskname_from_path): Likewise.
7917 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7918 of iterating.
7919
30545b85
VS
79202012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7923
28ea58cf
VS
79242012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7927 pastthe end.
7928
692dabca
VS
79292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * util/grub-install.in: Add missing \.
7932 Reported by: gentoofan
7933
f6e4ea70
VS
79342012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7937 (direct_read): Use correct compressed size.
7938 (grub_squash_read_data): Likewise.
7939
79402012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
7941
7942 * docs/grub.texi (Platform limitations): New section.
7943 (Platform-specific operations): Likewise.
7944 * docs/grub-dev.texi (Porting): Likewise.
7945
76261110
VS
79462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 IEEE1275 disk write support.
7949
7950 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7951 const void *.
7952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7953 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7954 and seek loginc to ...
7955 (grub_ofdisk_prepare): ... here.
7956 (grub_ofdisk_write): Implement.
7957
fc36d603
VS
79582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 ARC disk write support.
7961
7962 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7963 (reopen): New argument writable. All users updated.
7964 Handle required access mode.
7965 (grub_arcdisk_write): Implement.
7966 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7967 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7968
e06c2e7a
VS
79692012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7972 (read_sblock): Don't attempt to read superblocks outside the disk size.
7973
ff447958
VS
79742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7977 first superblock to find the second one when possible.
7978
9e88df39
VS
79792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * util/grub-install.in: Fix an ARC bug.
7982 Print a warning if no platform-specific setup is available.
7983
bb26e4ff
VS
79842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Use static allocation rather than scratch pointer in reed_solomon.
7987 It decreases its size significantly and avoids a variable in .text.
7988
7989 * grub-core/lib/reed_solomon.c (scratch): Removed.
7990 (chosenstat): New const or static array.
7991 (sigma): Likewise.
7992 (errpot): Likewise.
7993 (errpos): Likewise.
7994 (sy): Likewise.
7995 (mstat): Likewise.
7996 (errvals): Likewise.
7997 (eqstat): Likewise.
7998 (pol_evaluate): Replace x with log_x argument. All users updated.
7999 (syndroms): Removed.
8000 (gauss_solve): Use statically allocated arrays.
8001 (rs_recover): Likewise.
8002 Calculate syndroms directly.
8003 (decode_block): Use statically allocated arrays.
8004 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8005 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8006
2e13ede5
VS
80072012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Eliminate fixed limit on reed solomon decoder length.
8010
8011 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8012 rather than hardcoding the address.
8013 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8014 no_reed_solomon_length.
8015 Move gate_a20 to no-reed-solomon part.
8016 Don't force a particular size of no reed-solomon part.
8017 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8018 Removed.
8019 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8020 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8021
f8a9ab12
VS
80222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/commands/wildcard.c (match_files): Handle filenames
8025 without explicit device.
8026 (wildcard_expand): Don't add explicit device if not already present.
8027 * tests/grub_script_echo1.in: Add a new expansion test.
8028
87edb894
VS
80292012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Replace single-linked with double-linked lists. It results in more
8032 compact and more efficient code.
8033
8034 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8035 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8036 (grub_list_remove): Moved from here ...
8037 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8038 (grub_prio_list_insert): Set prev.
8039 * include/grub/list.h (grub_list): Add prev. All users updated.
8040
48b391e9
VS
80412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Handle newer autotools. Add some missing quotes while on it.
8044
8045 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8046 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8047 (pkgdata_DATA): ... here.
8048 * Makefile.util.def (update-grub_lib): Removed.
8049 * conf/Makefile.common (pkglib_DATA): Removed.
8050 (pkglib_SCRIPTS): Likewise.
8051 (pkgdata_DATA): New variable.
8052 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8053 needed.
8054 Add missing quotes.
8055 Remove unused variable while on it.
8056 * tests/util/grub-shell.in: Likewise.
8057 * util/grub-install.in: Likewise.
8058 * util/grub-mkconfig.in: Likewise.
8059 * util/grub-mknetdir.in: Likewise.
8060 * util/grub-mkrescue.in: Likewise.
8061 * util/grub-mkstandalone.in: Likewise.
8062 * util/grub.d/00_header.in: Likewise.
8063 * util/grub.d/10_hurd.in: Likewise.
8064 * util/grub.d/10_illumos.in: Likewise.
8065 * util/grub.d/10_kfreebsd.in: Likewise.
8066 * util/grub.d/10_linux.in: Likewise.
8067 * util/grub.d/10_netbsd.in: Likewise.
8068 * util/grub.d/10_windows.in: Likewise.
8069 * util/grub.d/20_linux_xen.in: Likewise.
8070 * util/grub.d/30_os-prober.in: Likewise.
8071 * util/update-grub_lib.in: Removed.
8072
80732012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8074
8075 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8076 a workaround for intel problem.
8077
66832792
PRP
80782012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
80792012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
80802012-01-23 pfsmorigo
8081
8082 * util/grub-install.in: Support dd'in into PreP partition.
8083 * util/grub-probe.c (probe): Support discovering partition type.
8084 (main): Support -t msdos_parttype.
8085
7816a17e
VS
80862012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8089 infinite recursion using counter.
8090 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8091 init to skip it if the magic check fails.
8092 (dec_stream_header): Init s->crc32.
8093
8f9d3a8c
ZB
80942012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
80952012-01-22 Zachary Bedell <pendorbound@gmail.com>
80962012-01-22 Richard Laager <rlaager@wiktel.com>
8097
8098 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8099 All users updated.
8100 (find_bestub): Determine correct size.
8101 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8102 (scan_disk): Align the size down.
8103 Call check pool before find_bestub to have ashift.
8104
b055dd32
VS
81052012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8108 dprintf in no-malloc zone.
8109
d779e9bd
ML
81102012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8111
8112 * configure.ac: Add back in test for limits.h.
8113
b508af69
VS
81142012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Support 4K-sector NTFS.
8117
8118 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8119 (grub_ntfs_data): Remove blocksize.
8120 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8121 Remove data argument. All users updated.
8122
dad9c8b5
VS
81232012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8126 being in .text to avoid dprel references.
8127 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8128 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8129 (grub_arch_highmemsize): Likewise.
8130 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8131 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8132 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8133
d43a777e
VS
81342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8137
8138 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8139 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8140
34e4208f
VS
81412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8144 GRUB_UTIL.
8145 (grub_set_datetime_cmos): Likewise.
8146
3ec0fc1c
VS
81472012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Make XZ compression parameters dependent on target and not host CPU.
8150
8151 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8152 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8153
22489834
VS
81542012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8157 set but not used variable.
8158
8502fbca
VS
81592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8162 created when no uuid support is compiled into mkfs.reiser.
8163
76df2068
VS
81642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8167 (utf8_to_macroman): Do the opposite.
8168 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8169
64e3f8f6
VS
81702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * configure.ac: Refise build qemu_mips w/o unifont.
8173
9c271078
VS
81742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 Eliminate grub_min/grub_max prone to overflow usage.
8177
8178 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8179 (poll_nonroot_hub): Likewise.
8180 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8181 (grub_affs_label): Likewise.
8182 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8183 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8184 (grub_hfs_label): Likewise.
8185 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8186 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8187 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8188 (zap_leaf_array_get): Likewise.
8189 (dnode_get_path): Likewise.
8190 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8191 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8192 * grub-core/script/execute.c (grub_script_break): Likewise.
8193 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8194 grub_max.
8195 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8196 * include/grub/misc.h (grub_min): Removed.
8197 (grub_max): Likewise.
8198
80662dbc
VS
81992012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8200
8201 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8202 direct.inode = 0.
8203
e6da1467
VS
82042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8207
b1ac4cb1
VS
82082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8211
b4bf7c3b
VS
82122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8215 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8216
8ee1101a
VS
82172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8220 rather than a hack for grub_strncasemap.
8221
82222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Support multiple initrds
8225 Note: part of this was accidently committed in r3739.
8226
8227 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8228 initrd.
8229 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8230 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8231 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8232 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8233 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8234
4d1e2bc9
VS
82352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8238 disks with unknown size.
8239 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8240
75b49ebe
VS
82412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Remove defines pertaining to arbitrary limits not affecting GRUB
8244 anymore.
8245
8246 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8247 (EXT2_MAX_SYMLINKCNT): Likewise.
8248 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8249 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8250 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8251 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8252 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8253 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8254 (DN_MAX_OBJECT_SHIFT): Likewise.
8255 (DN_MAX_OFFSET_SHIFT): Likewise.
8256 (DN_MAX_OBJECT): Likewise.
8257 (DNODES_PER_LEVEL_SHIFT): Likewise.
8258 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8259 (SPA_MAXBLOCKSIZE): Likewise.
8260 (SPA_BLOCKSIZES): Likewise.
8261 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8262 (MZAP_MAX_BLKSZ): Likewise.
8263
74a1dce7
VS
82642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8267 handle NULL appropriately.
8268 Remove MIN.
8269
30c7d3ce
VS
82702012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Fix efiemu.
8273
8274 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8275 cpu/types.h.
8276 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8277 * configure.ac: Fix efiemu check.
8278
3c76ea0c
VS
82792012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8282 grub_probe.
8283 Reported by: adamwill
8284
7e532280
SG
82852012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8286
8287 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8288
30492374
VS
82892012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Fix handling of wide characters in gfxterm.
8292
8293 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8294 (clear_char): Likewise.
8295 (paint_char): Skip code == NULL chars.
8296 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
8297
e70cb72f
VS
82982012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/normal/charset.c: Move comment to right place.
8301
5c827cf9
VS
83022012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
8305 (GRUB_AFFS_FLAG_FFS): Put back where it was.
8306 (grub_affs_mount): Revert the correct version checking.
8307
53603892
VS
83082012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * docs/grub.texi (Unicode): Mention several other unsupported features.
8311
ff094b9b
VS
83122011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
8315 case statements as compile-time one.
8316 (direct_read): Prevent spurious warnings.
8317 (grub_squash_read_data): Likewise.
8318
c029da8a
VS
83192011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Various squash4 fixes and LZO and XZ support.
8322
8323 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
8324 Add xzembed source files.
8325 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
8326 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
8327 (grub_squash_inode): New subtype long_dir.
8328 (SQUASH_TYPE_LONG_DIR): New inode type.
8329 (COMPRESSION): New enum.
8330 (XZBUFSIZ): New const.
8331 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
8332 (read_chunk): Use data->decompress.
8333 (zlib_decompress): New function.
8334 (lzo_decompress): Likewise.
8335 (xz_decompress): Likewise.
8336 (squash_mount): Set new data fields.
8337 (grub_squash_iterate_dir): Handle long dir.
8338 (squash_unmount): Free xzdec and xzbuf.
8339 (grub_squash_open): Check ino type.
8340 (direct_read): Stylistic fixes. Use data->decompress.
8341 (grub_squash_read_data): Likewise.
8342 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
8343 (get_byte): Likewise.
8344 (grub_zlib_disk_read): Removed.
8345 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
8346 (GRUB_POSIX_BOOL_DEFINED): New define.
8347 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
8348 * grub-core/lib/xzembed/xz.h: Addmissing includes.
8349 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
8350 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
8351
7a45a539
VS
83522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 Don't override more informative errors.
8355
8356 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
8357 * grub-core/font/font.c (open_section): Likewise.
8358 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8359 filename. Don't override errors.
8360 (grub_cmd_openbsd_ramdisk): Don't override errors.
8361 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
8362 (grub_cmd_initrd): Likewise.
8363 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8364 (grub_cmd_initrd): Likewise.
8365 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
8366 (grub_cmd_linux): Likewise.
8367 (grub_cmd_initrd): Likewise.
8368 (grub_cmd_payload): Likewise.
8369 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8370 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
8371 (grub_cmd_module): Likewise.
8372 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8373 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8374 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
8375 (grub_cmd_xnu_mkext): Likewise.
8376 (grub_cmd_xnu_ramdisk): Likewise.
8377 (grub_xnu_check_os_bundle_required): Likewise.
8378 (grub_xnu_load_kext_from_dir): Likewise.
8379 (grub_cmd_xnu_kextdir): Likewise.
8380 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
8381
b2d004db
VS
83822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
8385 as 1024 in block size field. Found on one of my test images.
8386 Small optimisation while on it.
8387
ec000eac
VS
83882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
8391 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
8392 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
8393 performance fixes while on it.
8394 (grub_sfs_close): Fix memory leak while on it.
8395 (grub_sfs_label): Convert Latin1 to UTF-8.
8396
f50e1165
VS
83972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
8400 space to avoid overflows.
8401 (grub_hfs_label): Convert from macroman to UTF-8.
8402
2ae254de
VS
84032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8406
0108f491
VS
84072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
8410
f45f5f89
VS
84112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * unicode: Import Unicode 6.0 data.
8414
4d8c4765
VS
84152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8416
63fa8ef9
VS
8417 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8418 outside of range.
8419
84202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
8423
8424 * include/grub/charset.h (grub_getend): New function.
8425 * grub-core/script/function.c (grub_script_function_find): Use
8426 grub_getend.
8427 * grub-core/normal/completion.c (add_completion): Likewise.
8428
f3cb4a4e
VS
84292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
8432 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
8433 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
8434 (GRUB_UNICODE_TAG_END): Likewise.
8435 (GRUB_UNICODE_LAST_VALID): Likewise.
8436
5da8dbc5
VS
84372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
8440 len and make it smaller. All users updated.
8441 * util/import_unicode.py: Put length and not end character.
8442 Check length.
8443
8569f13d
VS
84442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Make better Unicode-compliant and unify some UTF-8 code pathes.
8447
8448 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
8449 valid character.
8450 (grub_is_valid_utf8): Use grub_utf8_process.
8451 Check resulting code range.
8452 (grub_utf8_to_ucs4): Use grub_utf8_process.
8453 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
8454 valid character.
8455
cc4fddf5
VS
84562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8459
bbc47747
VS
84602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * docs/grub.texi (Filesystems): Mention AFS.
8463
f63d6bf4
VS
84642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * docs/grub.texi (Filesystems): Clarify restrictions.
8467 (Regexp): Mention non-Unicode regexp behaviour.
8468 (Other): Mention non-Unicode matching behaviour.
8469
74bbf0db
VS
84702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8471
f63d6bf4 8472 Make HFS implementation use MacRoman.
74bbf0db
VS
8473
8474 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8475 (macroman): New const array.
8476 (macroman_to_utf8): New function.
8477 (utf8_to_macroman): Likewise.
8478 (grub_hfs_find_dir): Use utf8_to_macroman.
8479 (grub_hfs_dir): Use macroman_to_utf8.
8480 Set case_insensitive.
8481
4ea0316e
VS
84822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8485
d3c13cbd
VS
84862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 Integrate hints into autogeneration scripts.
8489
8490 * docs/grub.texi (Filesystems): Add a hostdisk example.
8491 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8492 (grub-probe): Add ofpath.
8493 * gentpl.py: Remove group nosparc64.
8494 * grub-core/commands/search.c (cache_entry): New struct.
8495 (cache): New var.
8496 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8497 * grub-core/commands/search_wrap.c (options): Add platform-specific
8498 hint options.
8499 (grub_cmd_search): Handle platform-specific hints.
8500 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8501 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8502 (grub_util_biosdisk_data): Likewise.
8503 (grub_util_biosdisk_open): Set device_map.
8504 (read_device_map): Handle "" as indication of no map.
8505 Set device_map.
8506 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8507 (grub_util_biosdisk_get_compatibility_hint): New function.
8508 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8509 * include/grub/emu/hostdisk.h
8510 (grub_util_biosdisk_get_compatibility_hint): New proto.
8511 * util/grub-install.in: Don't call grub-mkdevicemap.
8512 Add platform-specific hint to load.cfg.
8513 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8514 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8515 hints. Set root preliminary to compatibility hint, not to OS name.
8516 * util/grub-probe.c (PRINT_*): Add hints.
8517 (print): Make static.
8518 (escape_of_path): New function.
8519 (guess_bios_drive): Likewise.
8520 (guess_efi_drive): Likewise.
8521 (guess_baremetal_drive): Likewise.
8522 (print_full_name): Likewise.
8523 (probe): Handle hints.
8524 (main): Likewise.
8525 * util/ieee1275/devicemap.c: Removed.
8526 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8527 updated.
8528 (grub_util_devname_to_ofpath): Return NULL on failure.
8529
8530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8531 resource leak.
8532 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8533
8534 * po/POTFILES.in: Regenerated.
8535
8536 Allow purely long options
8537
8538 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8539 (SHORT_ARG_USAGE): Likewise.
8540 (grub_arg_show_help): Compare opt with help_options.
8541 (parse_option): Receive opt as argument. If makes big simplificatons.
8542 All users updated
8543
00ce2df3
VS
85442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8547 Restructure to avoid warning.
8548
e77e325f
VS
85492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * util/grub-install.in: Account for possible escaped comma in device
8552 name.
8553
165099ea
VS
85542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8557 channel.
8558
ce4a999d
VS
85592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8562 allocation and zero-setting.
8563 (grub_ieee1275_get_devname): Check that alias is complete.
8564
379586ad
VS
85652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8568 unaligned segments.
8569
9197b0ad
VS
85702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8573 prefix.
8574 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8575 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8576 Add ieee1275 prefix.
8577
edddb7f9
VS
85782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * docs/grub.texi (Filesystems): Update.
8581
a1a8b1b9
VS
85822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Support odc, newc and bigendian cpio formats.
8585
8586 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8587 * grub-core/Makefile.core.def (newc): New module.
8588 (odc): Likewise.
8589 (cpio_be): Likewise.
8590 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8591 (MAGIC): Likewise.
8592 (MAGIC2): Likewise.
8593 (head) [MODE_ODC]: Adapt for the format.
8594 (head) [MODE_NEWC]: Likewise.
8595 (head) [!MODE_*]: Write fields of interest as arrays.
8596 (MAGIC_USTAR): Removed.
8597 (read_number) [MODE_NEWC]: Change to hex.
8598 (read_number) [!MODE_*]: Parse binary arrays.
8599 (grub_cpio_find_file): Factor out the code for better structure and
8600 always use read_number.
8601 (grub_cpio_mount): Use MAGIC and MAGIC2.
8602 (grub_cpio_dir): Exit on first hook non-0 return.
8603 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8604 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8605 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8606 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8607 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8608 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8609 * grub-core/fs/newc.c: New file.
8610 * grub-core/fs/odc.c: Likewise.
8611 * grub-core/fs/cpio_be.c: Likewise.
8612
58eba9ee
VS
86132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Fix handling of tar numbers occupying the whole field.
8616
8617 * grub-core/fs/cpio.c (read_number): New function.
8618 (grub_cpio_find_file): Use read_number instead of strtoull.
8619
a54a0e12
VS
86202011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8623 occupying the whole field size.
8624
a6120aca
LA
86252011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8626
8627 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8628
a93964ce
VS
86292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8632
3ea1ca46
SG
86332011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8634
8635 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8636 TARGET_IMG_LDFLAGS.
8637
b87f7ef2
VS
86382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8641 (mountinfo_entry): Increase the field size to take escaping into
8642 account.
8643 (find_root_device_from_libzfs): Add one byte to size of strings for
8644 security.
8645
62092395
VS
86462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8649 an assert.
8650 * util/grub-setup.c (setup): Likewise.
8651
1f0b1a77
VS
86522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8655 _LzmaDecodeA.
8656
8eba9997
VS
86572011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * docs/grub.texi (Internationalisation): New section.
8660
dd0c91e9
VS
86612011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * docs/grub.texi (Loopback booting): New section.
8664
86652011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
8666
8667 * util/grub-mkstandalone.in: Fix minor typo errors.
8668
198e150a
VS
86692011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8672
8673 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8674 net/icmp.c and net/icmp6.c.
8675 (http): New module.
8676 (priority_queue): Likewise.
8677 * grub-core/io/bufio.c: Rewritten.
8678 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8679 TYPE_WITH_CONFIGFILE_OPTION.
8680 (legacy_commands): Add bootp and dhcp.
8681 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8682 (grub_legacy_parse): Likewise.
8683 * grub-core/lib/priority_queue.c: New file.
8684 * grub-core/net/arp.c: Add missing license header.
8685 (arp_find_entry): Removed.
8686 (arp_find_entry): Likewise.
8687 (grub_net_arp_resolve): Rename to ...
8688 (grub_net_arp_send_request): ...this.
8689 (grub_net_arp_receive): New card argument.
8690 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8691 Set router and DNS server.
8692 (grub_net_configure_by_dhcp_ack): Handle routing information.
8693 (grub_cmd_bootp): Set checksum.
8694 (grub_bootp_init): Remove net_dhcp.
8695 * grub-core/net/dns.c: New file.
8696 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8697 completion.
8698 (get_card_packet): Handle allocation.
8699 (grub_efinet_findcards): Set mtu.
8700 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8701 (get_card_packet): Handle allocation.
8702 (emucard): Set mtu.
8703 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8704 (GRUB_MOD_INIT): Set mtu.
8705 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8706 mtu.
8707 (get_card_packet): Handle allocation.
8708 (grub_ofnet_findcards): Set mtu.
8709 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8710 assert.
8711 (grub_net_recv_ethernet_packet): Handle IPv6.
8712 * grub-core/net/http.c: New file.
8713 * grub-core/net/icmp.c: Likewise.
8714 * grub-core/net/icmp6.c: Likewise.
8715 * grub-core/net/ip.c (ip6addr): New type.
8716 (ip6hdr): Likewise.
8717 (reassemble): Likewise.
8718 (cmp): New function.
8719 (reassembles): New variable.
8720 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8721 (id): New variable.
8722 (send_fragmented): New function.
8723 (grub_net_send_ip_packet): Rename to ...
8724 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8725 Handle non-UDP.
8726 (grub_net_recv_ip_packets): Rename to ...
8727 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8728 (free_rsm): New function.
8729 (free_old_fragments): Likewise.
8730 (grub_net_recv_ip4_packets): New function.
8731 (grub_net_send_ip6_packet): Likewise.
8732 (grub_net_send_ip_packet): Likewise.
8733 (grub_net_recv_ip6_packets): Likewise.
8734 (grub_net_recv_ip_packets): Likewise.
8735 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8736 (LINK_LAYER_CACHE_SIZE): New const.
8737 (link_layer_find_entry): New function.
8738 (grub_net_link_layer_add_address): Likewise.
8739 (grub_net_link_layer_resolve_check): Likewise.
8740 (grub_net_link_layer_resolve): Likewise.
8741 (grub_net_ipv6_get_slaac): Likewise.
8742 (grub_net_ipv6_get_link_local): Likewise.
8743 (grub_cmd_ipv6_autoconf): Likewise.
8744 (parse_ip): Handle one number representation.
8745 (parse_ip6): New functoion.
8746 (match_net): Handle IPv6.
8747 (grub_net_resolve_address): Handle IPv6 and DNS.
8748 (grub_net_resolve_net_address): Handle IPv6.
8749 (route_cmp): New function.
8750 (grub_net_route_address): Find best route.
8751 (grub_net_addr_to_str): Handle IPv6.
8752 (grub_net_addr_cmp): New function.
8753 (grub_net_add_addr): Register local route.
8754 (print_net_address): Handle net address.
8755 (grub_net_poll_cards): Retransmit TCP.
8756 (grub_net_poll_cards_idle_real): Likewise.
8757 (have_ahead): New function.
8758 (grub_net_seek_real): Use underlying seek.
8759 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8760 * grub-core/net/tcp.c: New file.
8761 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8762 (cmp): New function.
8763 (ack): Likewise.
8764 (tftp_receive): Handle unordered input.
8765 (destroy_pq): New function.
8766 (tftp_close): Close pq.
8767 * grub-core/net/udp.c: Put missing license header.
8768 (grub_net_udp_socket): New function.
8769 (udp_socket_register): Likewise.
8770 (grub_net_udp_close): Likewise.
8771 (grub_net_recv_udp_packet): Check checksum.
8772 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8773 * include/grub/misc.h (grub_memchr): New function.
8774 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8775 (grub_net_card_driver): Return buf in recv.
8776 (grub_net_slaac_mac_list): New struct.
8777 (grub_network_level_protocol_id): Add ipv6.
8778 (grub_net_network_level_addr): Likewise.
8779 (grub_net_network_level_net_addr): Likewise.
8780 (grub_net_app_protocol): Add seek.
8781 (grub_net_socket): Removed.
8782 (grub_net_sockets): Likewise.
8783 (grub_net_socket_register): Likewise.
8784 (grub_net_socket_unregister): Likewise.
8785 (FOR_NET_SOCKETS): Likewise.
8786 (grub_net_add_addr): Add const.
8787 (GRUB_NET_BOOTP_*): New enum.
8788 (grub_net_addr_cmp): New proto.
8789 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8790 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8791 (grub_net_hwaddr_to_str): NEw proto.
8792 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8793 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8794 (grub_dns_init): New proto.
8795 (grub_dns_fini): Likewise.
8796 (grub_net_tcp_retransmit): Likewise.
8797 (grub_net_link_layer_add_address): Likewise.
8798 (grub_net_link_layer_resolve_check): Likewise.
8799 (grub_net_link_layer_resolve): Likewise.
8800 (grub_net_dns_lookup): Likewise.
8801 (grub_net_add_dns_server): Likewise.
8802 (grub_net_remove_dns_server): Likewise.
8803 (GRUB_NET_TRIES): New const.
8804 (GRUB_NET_INTERVAL): Likewise.
8805 * include/grub/net/arp.h: Mostly rewritten.
8806 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8807 * include/grub/net/ip.h: Mostly rewritten.
8808 * include/grub/net/netbuff.h: Indent.
8809 * include/grub/net/tcp.h: New file.
8810 * include/grub/net/udp.h: Mostly rewritten.
8811 * include/grub/priority_queue.h: New file.
8812 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8813 (grub_swap_bytes64_compile_time): Likewise.
8814 (grub_cpu_to_be16_compile_time): Likewise.
8815 (grub_cpu_to_be32_compile_time): Likewise.
8816 (grub_cpu_to_be64_compile_time): Likewise.
8817 (grub_be_to_cpu64_compile_time): Likewise.
8818
215c1800
VS
88192011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8822 UINT_TO_PTR with cast.
8823
c17e546c
VS
88242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8827 don't use them.
8828
ff6b18b6
VS
88292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8832 already there.
8833
70ffcc93
VS
88342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8837 confusing ipxe.
8838
e5f4d260
VS
88392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8842 Add missing const attribute.
8843 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8844 Likewise.
8845 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8846 Likewise.
8847
8e54b4b7
VS
88482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8851 misaligned access.
8852 (serpent_setkey): Likewise.
8853 (serpent_encrypt_internal): Likewise.
8854 (serpent_decrypt_internal): Likewise.
8855 (serpent_encrypt): Don't put an alignment-increasing cast.
8856 (serpent_decrypt): Likewise.
8857 (serpent_test): Likewise.
8858
813c0a2b
VS
88592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8862
f2b60fbd
VS
88632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8866
8867 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8868 grub_addr_t casts.
8869 (PTR_TO_UINT64): Likewise.
8870 (PTR_TO_UINT32): Likewise.
8871
5ef5c511
VS
88722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8875 because of stack.
8876 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8877 limit.
8878
c476e6df
VS
88792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8882 text_width > available width a bit more gracefully.
8883
384ad7cc
VS
88842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8887 current address calculation.
8888
96f8caf8
VS
88892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8892 stack.
8893 (encode_block): Likewise.
8894
276b7a8b
VS
88952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8898 certainety.
8899
e3fd394a
VS
89002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8903 non-RS part to avoid RS messing with GDT.
8904 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8905 Increase to suit in realmode routines.
8906
89072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/kern/i386/realmode.S: Increase alignment.
8910 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8911
ee9c2e7a
VS
89122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8915 be deterministic.
8916 (syndroms): Compute 0 syndrom.
8917 (rs_recover): Use 0 syndrom.
8918
7a7f7cc9
VS
89192011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8922
a14b16d1
VS
89232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8926 brackets.
8927
9f59e9fc
VS
89282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8929
ca1b552c
VS
8930 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8931 account.
8932 (get_top_pad): Likewise.
8933 (get_right_pad): Likewise.
8934 (get_bottom_pad): Likewise.
8935
89362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 8939
e739d698
VS
89402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8943 attribute as the structure isn't guaranteed to be properly aligned.
8944 (grub_efi_pci_device_path): Likewise.
8945 (grub_efi_pccard_device_path): Likewise.
8946 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8947 specify the size of `memory_type'.
8948 (grub_efi_vendor_device_path): Likewise.
8949 (grub_efi_controller_device_path): Likewise.
8950 (grub_efi_acpi_device_path): Likewise.
8951 (grub_efi_expanded_acpi_device_path): Likewise.
8952 (grub_efi_atapi_device_path): Likewise.
8953 (grub_efi_scsi_device_path): Likewise.
8954 (grub_efi_fibre_channel_device_path): Likewise.
8955 (grub_efi_1394_device_path): Likewise.
8956 (grub_efi_usb_device_path): Likewise.
8957 (grub_efi_usb_class_device_path): Likewise.
8958 (grub_efi_i2o_device_path): Likewise.
8959 (grub_efi_mac_address_device_path): Likewise.
8960 (grub_efi_ipv4_device_path): Likewise.
8961 (grub_efi_ipv6_device_path): Likewise.
8962 (grub_efi_infiniband_device_path): Likewise.
8963 (grub_efi_uart_device_path): Likewise.
8964 (grub_efi_vendor_messaging_device_path): Likewise.
8965 (grub_efi_hard_drive_device_path): Likewise.
8966 (grub_efi_cdrom_device_path): Likewise.
8967 (grub_efi_vendor_media_device_path): Likewise.
8968 (grub_efi_file_path_device_path): Likewise.
8969 (grub_efi_protocol_device_path): Likewise.
8970 (grub_efi_piwg_device_path): Likewise.
8971 (grub_efi_bios_device_path): Likewise.
8972
cb8f88ea
VS
89732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8976 (grub_ucs4_to_utf8_alloc): Likewise.
8977 (grub_ucs4_to_utf8): Likewise.
8978 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8979 (grub_ucs4_to_utf8_alloc): Likewise.
8980
309e5352
VS
89812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 AFFS never uses unicode.
8984
8985 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8986 (grub_latin1_to_utf8): New inline function.
8987 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8988
e7987e1b
VS
89892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8992 overflow.
8993
efc2616e
VS
89942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8997 (grub_squash_dirent_header): Likewise.
8998 (read_chunk): Don't double swap.
8999 (grub_squash_iterate_dir): Fix swap sizes.
9000
3c349f5a
VS
90012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9004
b453412d
VS
90052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9008 (grub_hfs_iterate_dir): Likewise.
9009
12e9d4d1
VS
90102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 Fix video on platforms where unaligned access is forbidden.
9013 Make several optimisations while on it.
9014
9015 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9016 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9017 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9018 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9019 Disable.
9020 (grub_video_fbblit_replace_16bit_1bit):
9021 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9022 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9023 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9024 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9025 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9026 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9027 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9028 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9029 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9030 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9031 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9032 (grub_video_fbblit_replace_index_RGB888): Likewise.
9033 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9034 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9035 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9036 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9037 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9038 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9039 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9040 Disable.
9041 (grub_video_fbblit_blend_XXX565_1bit):
9042 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9043 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9044 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9045 void *.
9046 * grub-core/video/fb/video_fb.c (common_blitter)
9047 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9048 (grub_video_fb_create_render_target_from_pointer)
9049 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9050 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9051 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9052 definition.
9053 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9054
ace96609
VS
90552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9058 HH22 and HM10 relocations.
9059
fd261d73
VS
90602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9063
e59b7857
VS
90642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9067 allocation succeeded.
9068
9b4baaa4
VS
90692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9072 argument a u8 pointer. All users updated.
9073 Handle unaligned buffers.
9074
dc713193
VS
90752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9078 add_part to workaround compiler bug.
9079
30dd48c2
VS
90802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9083
0c6087a8
VS
90842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9087 Reserve alignment invariants.
9088 (grub_multiboot_load): Likewise.
9089 (retrieve_video_parameters): Likewise.
9090 (grub_multiboot_make_mbi): Likewise.
9091
c2e77777
VS
90922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9095 incorrect pointer.
9096
b70b6d11
VS
90972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9100 (grub_pata_pio_write): Likewise.
9101
02a2bf83
VS
91022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 Add noreturn attributes and remove unreachable code.
9105
9106 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9107 code.
9108 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9109 code. Mark as noreturn.
9110 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9111 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9112 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9113 unreachable code.
9114 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9115 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9116 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9117 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9118 * include/grub/kernel.h (grub_main): Mark as noreturn.
9119 * include/grub/reader.h (grub_rescue_run): Likewise.
9120
2019d09e
VS
91212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9124 redundant declaration.
9125
d1c501ee
VS
91262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9129 redundant declaration.
9130 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9131
61664420
VS
91322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9135 to ensure alignment.
9136 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9137 alignment. Ensure tmp alignment.
9138 (grub_cmd_hdparm): Ensure buf alignment.
9139 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9140 to ensure alignment.
9141 (grub_ata_dumpinfo): Ensure text alignment.
9142 (grub_atapi_identify): Preserve alignment invariant.
9143 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9144
0d51ee20
VS
91452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9148 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9149 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9150 * include/grub/misc.h (grub_reboot)
9151 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9152 (grub_halt) [__mips__]: Likewise.
9153
753ef8c1
VS
91542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9157 Remove redundant declaration.
9158 (grub_mmap_get_post64): Likewise.
9159 (grub_mmap_get_upper): Likewise.
9160 (grub_mmap_get_lower): Likewise.
9161
85c85365
VS
91622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9165 uint32_t * to ensure alignment.
9166 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9167
a23f2cc4
VS
91682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9169
93018f64
VS
9170 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9171 uint16_t * to ensure alignment.
9172 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9173 alignment.
9174
91752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9178 to ensure alignment.
9179 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9180
58acccd6
VS
91812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9184 Handle unaligned pointers.
9185 (u32at): Likewise.
9186 (u64at): Likewise.
9187 (fixup): Use byte access instead of v16at.
9188 (find_attr): Fix imporper usage of v32at.
9189 (read_data): Likewise.
9190 (list_file): Handle byte-swapping and unaligned strings.
9191 (grub_ntfs_label): Likewise.
9192
9b05cad7
VS
91932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9196 as it's not necessarily aligned.
9197
b3950b84
VS
91982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9201 redundant declaration.
9202 (grub_serial_init): Likewise.
9203 (grub_terminfo_init): Likewise.
9204
fcd232b7
VS
92052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9208 function.
9209 (ZAP_HASH_IDX): Likewise.
9210 (ZAP_LEAF_HASH_SHIFT): Likewise.
9211 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9212 (LEAF_HASH): Likewise.
9213 (ZAP_LEAF_NUMCHUNKS): Likewise.
9214 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9215 alignment invariants. Return pointer. All users updated.
9216 (ZAP_LEAF_ENTRY): Make into inline function.
9217 (NBBY): Removed.
9218 (xor): LIkewise.
9219 (xor_out): Use grub_crypto_xor.
9220 (dnode_get_path): Use grub_get_unaligned.
9221 (nvlist_find_value): Likewise.
9222 (grub_zfs_nvlist_lookup_uint64): Likewise.
9223 (grub_zfs_nvlist_lookup_string): Likewise.
9224 (get_nvlist_size): Likewise.
9225 (grub_zfs_open): Likewise.
9226 (fill_fs_info): Likewise.
9227 (grub_zfs_dir): Likewise.
9228 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9229 alignment invariants.
9230 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9231 necessarily aligned.
9232
f138623a
VS
92332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9236
564840dc
VS
92372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9240 arithmetic to conserve alignment invariants.
9241
9b40df20
VS
92422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9245 redundant declaration.
9246 (grub_efiemu_mm_obtain_request): Likewise.
9247 (grub_efiemu_prepare): Likewise.
9248
d1c930f9
VS
92492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9252 to match types.
9253
4c5f3056
VS
92542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9257 case of aunaligned recptr.
9258 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9259 alignment.
9260 (grub_hfsplus_btree_search): Handle unaligned index.
9261
728cba91
VS
92622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9265 to get freetag and skip.
9266
eb561f31
VS
92672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9270 array.
9271 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9272 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9273
20993fbb
VS
92742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9277 name for checksum and fix allocation algorithm.
9278
1f313b94
VS
92792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * include/grub/types.h (grub_properly_aligned_t): New type.
9282 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9283 (grub_get_unaligned16): Add explicit casts.
9284 (grub_get_unaligned32): Likewise.
9285 (grub_get_unaligned64): Likewise.
9286 (grub_set_unaligned16): New function.
9287 (grub_set_unaligned32): Likewise.
9288
47ae27ec
VS
92892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9292
78c2cd1c
VS
92932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
9296 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
9297 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
9298
53072f9b
VS
92992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9302 conditionals.
9303
055dc239
VS
93042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
9307 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
9308
496bd074
VS
93092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Unify and improve RAID and crypto xor.
9312
9313 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
9314 changed to grub_crypto_xor
9315 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
9316 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
9317 Use bigger types when possible.
9318
ef6e4335
VS
93192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/disk/raid.c (scan_devices): Fix condition.
9322
5d048bf2
VS
93232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
9326 Make name a const ptr.
9327
ee533335
VS
93282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
9331 first argument a const pointer.
9332 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9333 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
9334 proto.
9335 (grub_children_iterate): Likewise.
9336 (grub_machine_mmap_iterate): Remove redundant declaration.
9337
cc8f3668
VS
93382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
9341 (grub_cmd_acpi) [!x86]: Disable EBDA.
9342
c5fc563a
VS
93432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Enable UTF8 in gnulib regexp.
9346
9347 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
9348 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
9349 (isupper): Use grub_isupper.
9350 (isascii): New inline function.
9351 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
9352 * grub-core/lib/posix_wrap/wctype.h: Likewise.
9353 * grub-core/normal/charset.c (grub_utf8_process): New function.
9354 (grub_utf8_to_utf16): Use grub_utf8_process.
9355 (grub_encode_utf8_character): New function.
9356 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
9357 * include/grub/charset.h (grub_utf8_process): New declaration.
9358 (grub_encode_utf8_character): Likewise.
9359 * include/grub/misc.h (grub_islower): New inline function.
9360 (grub_isupper): Likewise.
9361 (grub_strchrsub): Moved down to fix the definitions.
9362
0af2346f
VS
93632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
9366 specification.
9367
74dbd244
VS
93682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * include/grub/loader.h (grub_loader_register_preboot_hook):
9371 Use struct preboot * and not void * for handle. All users updated.
9372 (grub_loader_unregister_preboot_hook): Likewise.
9373
1bc8f60d
VS
93742011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
9377 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
9378 UTF-16-BE. All users updated.
9379 (grub_hfsplus_cmp_catkey): Fix unicode handling.
9380 (grub_hfsplus_iterate_dir): Likewise.
9381 (grub_hfsplus_label): Likewise.
9382
48d6e456
VS
93832011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9386
bf3a3857
VS
93872011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 Add missing const qualifiers.
9390
9391 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
9392 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
9393 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
9394 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
9395 (grub_lvm_check_flag): Likewise.
9396 * grub-core/efiemu/i386/coredetect.c
9397 (grub_efiemu_get_default_core_name): Likewise
9398 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9399 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
9400 * grub-core/fs/ntfs.c (fixup): Likewise.
9401 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
9402 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
9403 (fzap_lookup): Likewise.
9404 (zap_lookup): Likewise.
9405 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
9406 * grub-core/lib/legacy_parse.c (check_option): Likewise.
9407 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
9408 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
9409 (grub_freebsd_add_meta_module): Likewise.
9410 (grub_cmd_freebsd_module): Likewise.
9411 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
9412 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
9413 (grub_xnu_writetree_get_size): Likewise.
9414 (grub_xnu_writetree_toheap_real): Likewise.
9415 (grub_xnu_find_key): Likewise.
9416 (grub_xnu_create_key): Likewise.
9417 (grub_xnu_create_value): Likewise.
9418 (grub_xnu_register_memory): Likewise.
9419 (grub_xnu_check_os_bundle_required): Likewise.
9420 (grub_xnu_scan_dir_for_kexts): Likewise.
9421 (grub_xnu_load_kext_from_dir): Likewise.
9422 * grub-core/normal/color.c (color_list): Likewise.
9423 * grub-core/normal/completion.c (current_word): Likewise.
9424 * grub-core/normal/menu_entry.c (insert_string): Likewise.
9425 * grub-core/term/serial.c (grub_serial_find): Likewise.
9426 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
9427 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
9428 Likewise.
9429 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
9430 (grub_freebsd_add_meta_module): Likewise.
9431 * include/grub/lib/arg.h (grub_arg_option): Likewise.
9432 * include/grub/net.h (grub_net_card_driver): Likewise.
9433 (grub_net_card): Likewise.
9434 (grub_net_app_protocol): Likewise.
9435 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
9436 * include/grub/serial.h (grub_serial_find): Likewise.
9437 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
9438 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
9439 (grub_xnu_create_value): Likewise.
9440 (grub_xnu_find_key): Likewise.
9441 (grub_xnu_scan_dir_for_kexts): Likewise.
9442 (grub_xnu_load_kext_from_dir): Likewise.
9443
9444 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
9445 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
9446 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
9447 Moved from here ...
9448 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
9449
112b4837
CW
94502011-11-28 Colin Watson <cjwatson@ubuntu.com>
9451
9452 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9453
49e891ac
VS
94542011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
9457 (read_device): Fix size calculation.
9458
fd258e5c
RM
94592011-11-25 Robert Millan <rmh@gnu.org>
9460
9461 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9462 (find_root_device_from_libzfs): Add zpool output parser to be used
9463 as fallback when libzfs isn't available.
9464
78845dc2
SG
94652011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9466
9467 * po/Makefile.in.in: Add missing escape-continuation.
9468
adac5211
VS
94692011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9472
10b64f1c
VS
94732011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9476
bb416954
VS
94772011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9480
bdfe9eeb
VS
94812011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9484
581ffa8a
VS
94852011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/lib/adler32.c: Add missing license specification.
9488 * grub-core/lib/crc64.c: Likewise.
9489 * grub-core/loader/i386/pc/plan9.c: Likewise.
9490 * grub-core/partmap/plan.c: Likewise.
9491
2536cf64
LK
94922011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9493
9494 Add facility to debug GRUB with gdb under qemu.
9495
9496 * grub-core/gdb_grub.in: New file.
9497 * grub-core/gmodule.pl.in: Likewise.
9498 * grub-core/Makefile.core.def (gmodule.pl): New script.
9499 (gdb_grub): Likewise.
9500
bc108a4a
VS
95012011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * util/grub-mount.c (argp_parser): Accept relative pathes.
9504 * util/grub-fstest.c (argp_parser): Likewise.
9505
111c1778
VS
95062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 Plan9 support.
9509
9510 * Makefile.util.def (libgrubmods): Add
9511 grub-core/partmap/plan.c.
9512 * docs/grub.texi: Notice Plan9 support.
9513 * grub-core/Makefile.core.def (plan9): New module.
9514 (part_plan): Likewise.
9515 * grub-core/loader/i386/pc/plan9.c: New file.
9516 * grub-core/partmap/plan.c: Likewise.
9517 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9518 define.
9519 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9520 * include/grub/mm.h (grub_extend_alloc): New inline function.
9521
c30be3b6
VS
95222011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Make Reed-Solomon faster by using power of generator representation of
9525 GF(256)*.
9526
9527 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9528 (gf_double_t): Likewise.
9529 (gf_invert): Removed.
9530 (gf_powx): New array.
9531 (gf_powx_inv): Likewise.
9532 (scratch): Move higher.
9533 (gf_reduce): Removed.
9534 (gf_mul): Use powx.
9535 (gf_invert): Likewise.
9536 (init_inverts): Replaced with ...
9537 (init_powx): ...this. All users updated.
9538 (pol_evaluate): Replace multiplications with additions.
9539 (rs_encode): Likewise.
9540 (gauss_eliminate): Call gf_invert.
9541 (grub_reed_solomon_add_redundancy): Call init_powx.
9542 (grub_reed_solomon_recover): Call init_powx unconditionally.
9543
fa5aeffc
VS
95442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9547
a346b81c
VS
95482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9551 disk->partiton for safety.
9552
d89ee414
VS
95532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9556 Fix a memory leak.
9557 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9558
91ee7b6d
VS
95592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9562
91e5a33d
VS
95632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9566
9edd7be2
VS
95672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Fix spaces handling in proc/self/mountinfo.
9570
9571 * util/getroot.c (unescape): New function.
9572 (grub_find_root_device_from_mountinfo): Use unescape.
9573
ba102053
VS
95742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Support ZFS embedding.
9577
9578 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9579 (grub_zfs_fs): Register grub_zfs_embed.
9580
aa94b870
VS
95812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 Fix MIPS compilation.
9584
9585 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9586 * include/grub/offsets.h: Rename decompressor fields from
9587 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9588 * util/grub-mkimage.c (image_targets): Use new names.
9589
5fbdac14
VS
95902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 Defer multiboot device parsing until we're in compressed part.
9593
9594 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9595 bsd_part. setdevice has fallen into disuse.
9596 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9597 (bsd_part): Likewise.
9598 (boot_dev): New variable.
9599 (multiboot_trampoline): Don't parse multiboot device.
9600 Pass multiboot device in %edx.
9601 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9602 grub_boot_device.
9603 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9604 Likewise.
9605 * grub-core/kern/i386/pc/startup.S: Save edx.
9606 (grub_boot_drive): Removed.
9607 (grub_install_dos_part): Likewise.
9608 (grub_install_bsd_part): Likewise.
9609 (grub_boot_device): New variable.
9610 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9611 (grub_install_bsd_part): Likewise.
9612 (grub_boot_drive): Likewise.
9613 (grub_boot_device): New variable.
9614 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9615 Removed.
9616 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9617 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9618 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9619 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9620 * util/grub-install.in: Remove redundant condition.
9621
691cbb58
VS
96222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 Fix bug introduced by previous commit.
9625
9626 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9627
60240b8b
VS
96282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 Use decompressors framework on i386-pc. It increases core size
9631 by 46 bytes but improves compatibility and maintainability.
9632
9633 * grub-core/Makefile.core.def (lzma_decompress): New image.
9634 (kernel): Add i386_pc_ldflags.
9635 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9636 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9637 to real_to_prot, prot_to_real and device info.
9638 * include/grub/offsets.h: Renamed decompressor offsets.
9639 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9640 (image_target_desc): Remove raw_size and rename decompressor fields.
9641 (compress_kernel): Handle lzma.
9642 (generate_image): Handle decompressors on i386-pc.
9643
e9d3421c
VS
96442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * configure.ac: Add -fno-asynchronous-unwind-tables.
9647
2b23074a
VS
96482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 Move assembly code to C by using intwrap. It increases core size
9651 by 88 bytes but improves compatibility and maintainability.
9652
9653 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9654 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9655 ... here. Translated to C.
9656 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9657 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9658 ... here. Translated to C.
9659 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9660 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9661 ... here. Translated to C.
9662 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9663 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9664 ... here. Translated to C.
9665 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9666 * grub-core/term/i386/pc/console.c (grub_console_cls):
9667 ... here. Translated to C.
9668 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9669 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9670 ... here. Translated to C.
9671 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9672 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9673 Translated to C.
9674 * grub-core/term/i386/pc/console.c (int10_9): New function.
9675 (grub_console_putchar): Likewise.
9676 * include/grub/i386/pc/console.h: Removed the not anymore shared
9677 functions.
9678
678f4b67
VS
96792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 Move grub_chainloader_real_boot out of the kernel.
9682
9683 * grub-core/Makefile.am: Remove machine/loader.h.
9684 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9685 Removed.
9686 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9687 variable.
9688 (grub_relocator16_keep_a20_enabled): Likewise.
9689 (grub_relocator16_boot): Fill new variables.
9690 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9691 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9692 relocator.
9693 (grub_chainloader_unload): Likewise.
9694 (grub_chainloader_cmd): Likewise.
9695 * include/grub/i386/pc/loader.h: Removed.
9696 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9697 and esi. All initialisers updated.
9698
4626edf6
VS
96992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
97002011-11-12 Colin Watson <cjwatson@ubuntu.com>
9701
9702 * Makefile.util.def (grub-mount): New util.
9703 * .bzrignore: Add grub-mount.
9704 * configure.ac: Check for fuse and enable grub-mount if available.
9705 * docs/man/grub-mount.h2m: New file.
9706 * util/grub-mount.c: Likewise.
9707
10f0117b
VS
97082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/commands/efi/fixvideo.c: Gettextize.
9711 * grub-core/commands/hashsum.c: Likewise.
9712 * grub-core/commands/i386/cmostest.c: Likewise.
9713 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9714 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9715 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9716 * grub-core/commands/lsmmap.c: Likewise.
9717 * grub-core/commands/menuentry.c: Likewise.
9718 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9719 * grub-core/commands/setpci.c: Likewise.
9720 * grub-core/loader/i386/bsd.c: Likewise.
9721 * grub-core/loader/i386/linux.c: Likewise.
9722 * util/getroot.c: Likewise.
9723 * util/grub-editenv.c: Likewise.
9724 * util/grub-fstest.c: Likewise.
9725 * util/grub-mkfont.c: Likewise.
9726 * util/grub-mkimage.c: Likewise.
9727 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9728 * util/grub-pe2elf.c: Likewise.
9729 * util/grub-probe.c: Likewise.
9730 * util/grub-setup.c: Likewise.
9731 * util/ieee1275/ofpath.c: Likewise.
9732 * util/misc.c: Likewise.
9733 * util/raid.c: Likewise.
9734
566f779b
RM
97352011-11-11 Robert Millan <rmh@gnu.org>
9736
9737 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9738 __attribute__((unused)) from `os_dev', which *is* being used.
9739
b50787de
VS
97402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9743 forgotten define.
9744 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9745 GRUB_IA64_DL_GOT_ALIGN.
9746 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9747 GRUB_IA64_DL_TRAMP_ALIGN.
9748
119d11c8
VS
97492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 Replace grub_fatal with normal errors in i386 linux loader.
9752
9753 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9754 (allocate_pages): Check find_efi_mmap_size return value.
9755 (grub_e820_add_region): Return error.
9756 (grub_linux_boot): Check mmap return value.
9757
6e0632e2
VS
97582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/commands/acpihalt.c: Gettextized.
9761 * grub-core/commands/cacheinfo.c: Likewise.
9762 * grub-core/commands/cmp.c: Likewise.
9763 * grub-core/commands/efi/loadbios.c: Likewise.
9764 * grub-core/commands/gptsync.c: Likewise.
9765 * grub-core/commands/ieee1275/suspend.c: Likewise.
9766 * grub-core/commands/legacycfg.c: Likewise.
9767 * grub-core/commands/memrw.c: Likewise.
9768 * grub-core/commands/minicmd.c: Likewise.
9769 * grub-core/commands/parttool.c: Likewise.
9770 * grub-core/commands/time.c: Likewise.
9771 * grub-core/commands/videoinfo.c: Likewise.
9772 * grub-core/disk/geli.c: Likewise.
9773 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9774 * grub-core/disk/luks.c: Likewise.
9775 * grub-core/disk/lvm.c: Likewise.
9776 * grub-core/font/font_cmd.c: Likewise.
9777 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9778 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9779 * grub-core/gfxmenu/view.c: Likewise.
9780 * grub-core/kern/emu/hostdisk.c: Likewise.
9781 * grub-core/kern/emu/main.c: Likewise.
9782 * grub-core/kern/emu/misc.c: Likewise.
9783 * grub-core/kern/emu/mm.c: Likewise.
9784 * grub-core/kern/mips/arc/init.c: Likewise.
9785 * grub-core/kern/mips/loongson/init.c: Likewise.
9786 * grub-core/kern/partition.c: Likewise.
9787 * grub-core/lib/i386/halt.c: Likewise.
9788 * grub-core/lib/mips/arc/reboot.c: Likewise.
9789 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9790 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9791 * grub-core/loader/i386/xnu.c: Likewise.
9792 * grub-core/loader/multiboot.c: Likewise.
9793 * grub-core/net/bootp.c: Likewise.
9794 * grub-core/net/net.c: Likewise.
9795 * grub-core/normal/term.c: Likewise.
9796 * grub-core/partmap/bsdlabel.c: Likewise.
9797 * grub-core/parttool/msdospart.c: Likewise.
9798 * grub-core/term/gfxterm.c: Likewise.
9799 * grub-core/term/terminfo.c: Likewise.
9800 * grub-core/video/i386/pc/vbe.c: Likewise.
9801 * util/grub-menulst2cfg.c: Likewise.
9802 * util/grub-mkdevicemap.c: Likewise.
9803 * util/grub-mklayout.c: Likewise.
9804 * util/grub-mkrelpath.c: Likewise.
9805 * util/grub-script-check.c: Likewise.
9806 * util/ieee1275/grub-ofpathname.c: Likewise.
9807 * util/resolve.c: Likewise.
9808
073aa7a9
VS
98092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 Support %1$d syntax.
9812
9813 * tests/printf_unit_test.c: New file.
9814 * Makefile.util.def (printf_test): New test.
9815 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9816
c76b5417
VS
98172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9820 fix.
9821
df067ad1
VS
98222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9825 dprintf.
9826 * grub-core/font/font.c (grub_font_load): Likewise.
9827
5b289bc5
VS
98282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * util/grub-macho2img.c: Add comment concerning gettext.
9831 * grub-core/lib/legacy_parse.c: Likewise.
9832
c1860f87
VS
98332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9836 (grub_xvasprintf): Likewise.
9837
d35d0d37
VS
98382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 Add const keyword to grub_env_get and gettextize week days.
9841
9842 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9843 (grub_read_hook_datetime): Return const char *.
9844 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9845 updated.
9846 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9847 Mark for gettext.
9848 (grub_get_weekday_name): Return const char *. Call gettext.
9849 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9850 char * and len as the argument. All users updated.
9851 (grub_script_argv_split_append): Receive const char *.
9852 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9853 * include/grub/env.h (grub_env_get): Likewise.
9854 (grub_env_read_hook_t): Return const char *.
9855 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9856 (grub_script_argv_split_append): Likewise.
9857
9aed8a71
VS
98582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9861
067fdf00
VS
98622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9865 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9866
a8bd9d39
VS
98672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9870 Fix prototype.
9871
f7ce5baf
VS
98722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Fix mips compilation.
9875
9876 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9877 normal decoder.
9878 (hashes): Use in embed decoder as well (for sizes).
9879 (dec_stream_header): Fix embed decompressor logic.
9880 (dec_stream_footer): Likewise.
9881
9bb182f3
VS
98822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9885 an error and not a fatal on unrecognised relocation types.
9886
63a9e6f6
VS
98872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9890 Issue error rather than printf on unknown arguments.
9891
4c458569
VS
98922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9895 Make buf a const.
9896
e2d22baf
VS
98972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9900 Fix module name.
9901
53dc8590
VS
99022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9905 leftover debug printf.
9906
6c189294
VS
99072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9910
f7688369
VS
99112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9914 A stylistic fix.
9915
11a775a3
VS
99162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9919
33f784e8
SL
99202011-11-10 Shea Levy <slevy@tieronedesign.com>
9921
9922 Allow all modules to perform serial IO
9923
9924 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9925 * include/grub/serial.h (grub_serial_port_configure): New inline
9926 function.
9927 (grub_serial_port_fetch): Likewise.
9928 (grub_serial_port_put): Likewise.
9929 (grub_serial_port_fini): Likewise.
9930 (grub_serial_find): New proto.
9931
f6276525
VS
99322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 Put symlink at the end of the node and fix a potential
9935 memory corruption.
9936
9937 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9938 Make symlink into an array.
9939 (set_rockridge): Set have_symlink and alloc_dirents.
9940 (grub_iso9660_read_symlink): Use new layout.
9941 (grub_iso9660_iterate_dir): Fix memory corruption.
9942 Use new layout.
9943 (grub_iso9660_dir): Set have_symlink.
9944 (grub_iso9660_open): Likewise.
9945
c3591189
VS
99462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Remove local keyword.
9949
9950 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9951 (version_test_gt): Likewise.
9952 (version_find_latest): Likewise.
9953 (gettext_printf): Likewise.
9954 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9955
cb544caa
VS
99562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9959
45bd824d
VS
99602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Fix ZFS memory and resource leaks.
9963
9964 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9965 All users updated.
9966 Free type on exit.
9967 (fill_vdev_info): New parameter inserted. All users updated.
9968 (check_pool_label): Likewise.
9969 (scan_disk): Likewise.
9970 (scan_devices): Close non-inserted disks.
9971 (fzap_iterate): Free l.
9972 (unmount_device): Free children descripto memory.
9973
ad9a2f44
VS
99742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9977 argument (access out of bounds).
9978
6b68db81
VS
99792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9982 >= 6 drives.
9983
28840fda
VS
99842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9987 Fix declaration.
9988
8a5a3a5b
VS
99892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 Fix several memory leaks.
9992
9993 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9994 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9995 (grub_cpio_dir): Likewise.
9996 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9997 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9998 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9999 (grub_romfs_label): Likewise.
10000 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10001 (squash_unmount): New function.
10002 (grub_squash_dir): Fix memory leak.
10003 (grub_squash_open): Likewise.
10004 (grub_squash_read): Likewise.
10005 (grub_squash_mtime): Likewise.
10006 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10007 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10008 * util/grub-fstest.c (fstest): Likewise.
10009
57b01250
VS
100102011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10013 avoid accessing beyond the array.
10014
19e81ba7
VS
100152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10018
52b656c0
VS
100192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Several AFFS fixes.
10022
10023 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10024 (GRUB_AFFS_FLAG_FFS): Removed.
10025 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10026 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10027 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10028 (grub_fshelp_node): Make block 32-bit.
10029 Add block_cache and last_block_cache.
10030 (grub_affs_read_block): Fill and use block cache.
10031 (grub_affs_read_file): Removed.
10032 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10033 boot block.
10034 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10035 safety.
10036 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10037 space.
10038 (grub_affs_close): Free block cache.
10039 (grub_affs_read): Use grub_fshelp_read_file directly.
10040
438a746a
VS
100412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10044 with no error set.
10045
49a45021
VS
100462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10049 used variable.
10050 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10051 Likewise.
10052
3ae17eb8
VS
100532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10056
10057 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10058 byteswap when needed.
10059
27610c38
VS
100602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 Fix FreeBSD compilation.
10063
10064 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10065 to avoid circular dependency.
10066 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10067 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10068 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10069
4a19b601
VS
100702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 Fix ZFS crypto error types.
10073
10074 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10075 (grub_gcm_decrypt): Likewise.
10076 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10077 from PBKDF2.
10078
958ee221
VS
100792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 Illumos support.
10082
10083 * Makefile.util.def (10_illumos): New script.
10084 * configure.ac: Set COND_HOST_ILLUMOS.
10085 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10086 Support Illumos calls.
10087 (find_partition_start) [__sun__]: Likewise.
10088 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10089 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10090 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10091 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10092 device.
10093 * util/grub-probe.c (probe) [__sun__]: Do character check.
10094 * util/grub.d/10_illumos.in: New file.
10095
cac14fb6
VS
100962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 Support escaped commas in hostdisk.
10099
10100 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10101 (find_grub_drive): Use unescape_cmp.
10102 (make_device_name): Escape commas.
10103
78e08dc3
VS
101042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10107
9f421dd1
VS
101082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10111 variable.
10112
ed64e9e2
VS
101132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Support trampoline jumps on powerpc.
10116
10117 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10118 __ia64__ path.
10119 (grub_dl_load_segments): Set mod->sz.
10120 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10121 segments.
10122 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10123 (jump): Likewise.
10124 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10125 function.
10126 (trampoline): New struct.
10127 (trampoline_template): New const.
10128 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10129 * include/grub/dl.h (grub_dl): Add sz element.
10130 [__powerpc__]: Follow __ia64__.
10131 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10132 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10133 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10134 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10135
3084ede4
VS
101362011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 ZFS crypto support.
10139
10140 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10141 * grub-core/Makefile.core.def (zfscrypt): New module.
10142 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10143 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10144 it. All users updated.
10145 (grub_zfs_decrypt): New var.
10146 (grub_zfs_load_key): Likewise.
10147 (zio_checksum_functions): Add SHA256+MAC.
10148 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10149 (zio_read): Handle encrypted blocks.
10150 (zap_verify): Remove incorrect check.
10151 (fzap_iterate): Handle non-standard fzap.
10152 (zap_iterate): Likewise.
10153 (zap_iterate_u64): New function.
10154 (dnode_get_fullpath): Load keys.
10155 * grub-core/fs/zfs/zfscrypt.c: New file.
10156 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10157 (grub_crypto_ecb_encrypt): Make input const.
10158 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10159 (grub_crypto_ecb_encrypt): Make input const.
10160 (GRUB_CIPHER_AES): New macro.
10161 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10162 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10163 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10164 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10165 prefix. All users updated.
10166 (grub_zfs_add_key): New proto.
10167 (grub_zfs_decrypt): Likewise.
10168 (grub_zfs_load_key): Likewise.
10169 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10170 * util/grub-fstest.c (options): Add -K option.
10171 (argp_parser): Likewise.
10172
b632b404
VS
101732011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 Support zle compression on ZFS.
10176
10177 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10178 (decomp_table): Add zle.
10179 * include/grub/zfs/zio.h (zio_compress): Add zle.
10180
c7ba4f69
VS
101812011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 Support BtrFS embedding.
10184
10185 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10186 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10187 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10188 * util/grub-setup.c (setup): Use fs embedding if available.
10189 Add additional sanity check.
10190
455377d9
VS
101912011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * util/grub-install.in: Fix condition for config_opt.
10194
c2fd16ca
VS
101952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 Support third redundancy strip on raidz3.
10198
10199 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10200 Return error on singularity. All users updated.
10201 (read_device): Don't stop on 3rd failure on raidz3.
10202
8622923b
VS
102032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Support case-insensitive ZFS subvolumes.
10206
10207 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10208 All users updated.
10209 (zap_hash): Likewise.
10210 (name_cmp): New function.
10211 (zap_leaf_array_equal): New parameter case_insensitive.
10212 All users updated.
10213 (zap_leaf_lookup): Likewise.
10214 (fzap_lookup): Likewise.
10215 (zap_lookup): Likewise.
10216 (dnode_get_path): New parameter case_insensitive. Retrieve case
10217 sensitiviness of a volume. All users updated.
10218 (dnode_get_fullpath): New parameter case_insensitive.
10219 All users updated.
10220 (grub_zfs_dir): Set info.case_insensitiveness.
10221
95f2e860
VS
102222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 Support second redundancy strip on raidz(2,3).
10225
10226 * grub-core/fs/zfs/zfs.c (powx): New array.
10227 (powx_inv): Likewise.
10228 (poly): New const.
10229 (xor_out): New function.
10230 (gf_mul): Likewise.
10231 (recovery): Likewise.
10232 (read_device): Use second redundancy strip.
10233
11ee4389
VS
102342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 Use a power of generator representation of GF(256) multiplication group
10237 to save space time and complexity.
10238
10239 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10240 (raid6_table2): Likewise.
10241 (powx): New array.
10242 (powx_inv): Likewise.
10243 (poly): New const.
10244 (grub_raid_block_mul): Replace with ...
10245 (grub_raid_block_mulx): ...this.
10246 (grub_raid6_init_table): Rewritten.
10247 (grub_raid6_recover): Use power of generator representation.
10248
09e2763f
VS
102492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10252 for the right device.
10253
8bec9a28
VS
102542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10257 expected by grub-mkimage and it's more clear since there is no implicit
10258 padding.
10259
dbd3a32e
VS
102602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10263 disk.
10264 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10265
182c872a
PMH
102662011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10267
10268 * util/grub-mkrescue.in: Fix handling xorriso option.
10269
1e51cabd
VS
102702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10273 NULL.
10274
9cc3581d 102752011-11-03 crocket <crockabiscuit@gmail.com>
10276
10277 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10278
158dc1ea
VS
102792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 XZ CRC64 and SHA256 support.
10282
10283 * Makefile.util.def (libgrubmods): Add crc64.c.
10284 * grub-core/Makefile.core.def (crc64): New module.
10285 * grub-core/lib/crc64.c: New file.
10286 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10287 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10288 Fix the type.
10289 (MAX_HASH_SIZE): New define.
10290 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10291 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10292 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10293 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10294 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
10295 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
10296 Handle non-crc32 hashes.
10297 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
10298 (dec_stream_header): Handle non-crc32 hashes.
10299 (dec_stream_footer): Likewise.
10300 (dec_block_header): Likewise.
10301 (dec_main): Likewise.
10302 (xz_dec_init): Likewise.
10303 (xz_dec_reset): Likewise.
10304 (xz_dec_end): Likewise.
10305 * util/import_gcry.py: Add CRC64 line.
10306
9d9b3d2f
VS
103072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
10310 as well.
10311
7d0ac931
VS
103122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 Make reiserfs label retrieval similar to other *_label functions.
10315
10316 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
10317 (REISERFS_MAX_LABEL_LENGTH): Removed.
10318 (REISERFS_LABEL_OFFSET): Likewise.
10319 (grub_reiserfs_label): Rewritten.
10320
103212011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
10324 field.
10325
cf5ba824
VS
103262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10329
17744004
VS
103302011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
10333 drive failure on both raidz and raidz2.
10334
aca5aefc
VS
103352011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 Fix RAIDZ(2) for >= 5 devices.
10338
10339 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
10340 asize argument. All users updated.
10341
ce8ca56e
VS
103422011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 Fix RAIDZ(2).
10345
10346 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
10347 (fill_vdev_info_real): Set ashift.
10348 (read_device): Rewrite RAIDZ part based on reverse engineering.
10349
7c01e783
VS
103502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
10353 don't report potentially unavialiable fields in debug output.
10354 (find_path): Fix double-free and memory leak.
10355
ce109e84
VS
103562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 Read label on UFS1.
10359
10360 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
10361 (grub_ufs_fs): Always set .label.
10362
87661123
VS
103632011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 Use shifts in UFS.
10366
10367 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
10368 (grub_ufs_data): New field log2_blksz.
10369 (grub_ufs_read_file): Use shifts.
10370 (grub_ufs_mount): Check block size and logarithm it.
10371
46bc1dc2
VS
103722011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
10375 long symlinks.
10376
19ee2987
VS
103772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 Handle symlinks and long names on tar and cpio.
10380
10381 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
10382 (ATTR_FILE): Likewise.
10383 (ATTR_DIR): Likewise.
10384 (ATTR_LNK): Likewise.
10385 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
10386 (grub_cpio_find_file): Fill mode, handle linkname field as well as
10387 L and K entries.
10388 (grub_cpio_mount): Zero-fill data.
10389 (handle_symlink): New function.
46bc1dc2
VS
10390 (grub_cpio_dir): Handle symlinks.
10391 (grub_cpio_open): Likewise.
10392 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 10393
c83a08d8
VS
103942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 Fix iso9660 filename limitations and fix memory leaks.
10397
10398 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
10399 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
10400
45cdd3ea
VS
104012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 Fix JFS file name length limitations.
10404
10405 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
10406 (grub_jfs_diropen): Fix maximum filename length.
10407 (grub_jfs_getent): Fix filename length.
10408 (grub_jfs_lookup_symlink): Fix size checks.
10409
94ef05c2
VS
104102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10413 string.
10414
785ab8c7
VS
104152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10416
eb0b6b45
VS
10417 Leverage BFS implementation to read AFS.
10418
10419 * Makefile.util.def (libgrubmods): Add afs.c.
10420 * grub-core/Makefile.core.def (afs): New module
10421 * grub-core/fs/afs.c: New file.
10422 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
10423
104242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 10427
c4a1628f
VS
104282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/fs/bfs.c: Run indent.
10431
5825b379
VS
104322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 BFS implementation based on the specification.
10435
10436 * grub-core/fs/bfs.c: New file.
10437 * Makefile.util.def (libgrubmods): Add bfs.c.
10438 * grub-core/Makefile.core.def (bfs): New module.
10439
42b2a706
VS
104402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * util/grub-fstest.c (cmd_cp): Clarify error message.
10443 (cmd_cmp): Likewise.
10444
61b99bfc
YB
104452011-10-30 Yves Blusseau <blusseau@zetam.org>
10446
10447 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
10448 and befs_be.
10449
faba3d16
VS
104502011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 Remove afs and befs because of copyright problem.
10453
10454 * grub-core/fs/afs.c: Removed.
10455 * grub-core/fs/afs_be.c: Removed.
10456 * grub-core/fs/befs.c: Removed.
10457 * grub-core/fs/befs_be.c: Removed.
10458 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
10459 * grub-core/Makefile.core.def (afs): Removed.
10460 (afs_be): Likewise.
10461 (befs): Likewise.
10462 (befs_be): Likewise.
10463
c39224b0
VS
104642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 Prefer rockridge over Joliet.
10467
10468 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10469 to ...
10470 (set_rockridge): ... here.
10471 (grub_iso9660_mount): Check rockridge on the primary label when
10472 discovering. Ignore Joliet if Rockridge is present.
10473
e551115a
VS
104742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 Use shifts in nilfs2.
10477
10478 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10479 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10480 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10481 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10482 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10483 (grub_nilfs2_entries_per_block): Replaced with ...
10484 (grub_nilfs2_log_entries_per_block_log): ... this.
10485 (grub_nilfs2_blocks_per_group): Replaced with ...
10486 (grub_nilfs2_blocks_per_group_log): ... this.
10487 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10488 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10489 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10490 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10491 (grub_nilfs2_palloc_entry_offset): Replaced ...
10492 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10493 (grub_nilfs2_dat_translate): Use shifts.
10494 (grub_nilfs2_read_inode): Likewise.
10495 (GRUB_MOD_INIT): Ensure that logs are correct.
10496
564dd58c
VS
104972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Use shifts in minix filesystem.
10500
10501 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10502 (GRUB_MINIX_ZONE2SECT): Likewise.
10503 (grub_minix_data): Replace block_size with log_block_size.
10504 (grub_minix_read_file): Use shifts.
10505 (grub_minix_mount): Check block size and take a logarithm.
10506
ed9ba06d
VS
105072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 Use shifts in squash4.
10510
10511 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10512 (squash_mount): Check block size and take logarithm.
10513 (direct_read): Use shifts.
10514
ad03fe76
VS
105152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 Correct befs block counting logic.
10518
10519 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10520 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10521 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10522 (grub_afs_read_inode): Use block_shift.
10523 (RANGE_SHIFT): New definition.
10524 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10525 unexpected conditions, use shifts and appropriate types.
10526 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10527
6563f63d
VS
105282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * grub-core/disk/raid.c (scan_devices): Check partition.
10531 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10532
5b1ae25f
VS
105332011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Support BFS (befs) UUID.
10536
10537 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10538 (grub_afs_small_data_element_header): New struct.
10539 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10540 (grub_afs_read_attribute) [MODE_BFS]: New function.
10541 (grub_afs_iterate_dir): Allocate for complete inode.
10542 (grub_afs_mount): Likewise.
10543 (grub_afs_uuid) [MODE_BFS]: New function.
10544 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10545
f8d82408
VS
105462011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10549 (zfs_unmount): Fix memory leak.
10550
5773fb64
VS
105512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 Support NTFS reparse points.
10554
10555 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10556 (symlink_descriptor): New struct.
10557 (grub_ntfs_read_symlink): New function.
10558 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10559 (grub_ntfs_open): Likewise.
10560
91c3fdde
VS
105612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10564
3be82e10
VS
105652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 fstest xnu_uuid subcommand.
10568
10569 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10570 grub-core/commands/xnu_uuid.c.
10571 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10572 (fstest): Handle xnu_uuid.
10573 (options): Document xnu_uuid.
10574 (argp_parser): Parse xnu_uuid.
10575
8e32442e
VS
105762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10579 -l argument. Add newline at the end if printing.
10580 (GRUB_MOD_INIT): Document -l.
10581
52a05075
VS
105822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10585
1869edb5
VS
105862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 ZFS multi-device and version 33 support.
10589
10590 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10591 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10592 (grub_zfs_data): Add multidev-ice-related fields.
10593 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10594 (dva_get_offset): Make dva const.
10595 (zfs_fetch_nvlist): New function.
10596 (fill_vdev_info_real): Likewise.
10597 (fill_vdev_info): Likewise.
10598 (check_pool_label): Likewise.
10599 (scan_disk): Likewise.
10600 (scan_devices): Likewise.
10601 (read_device): Likewise.
10602 (read_dva): Likewise.
10603 (zio_read_gang): Use read_dva.
10604 (zio_read_data): Likewise.
10605 (zap_leaf_lookup): Add missing endian conversion.
10606 (zap_verify): Add missing endian conversion. All users updated.
10607 (fzap_lookup): Likewise.
10608 (fzap_iterate): Likewise.
10609 (dnode_get_path): Handle SA bonus.
10610 (nvlist_find_value): Make input const. All users updated.
10611 (unmount_device): New function.
10612 (zfs_unmount): Use unmount_device.
10613 (zfs_mount): Use scan_disk.
10614 (zfs_mtime): New function.
10615 (grub_zfs_open): Handle system attributes.
10616 (fill_fs_info): Likewise.
10617 (grub_zfs_dir): Likewise.
10618 (grub_zfs_fs): Add mtime.
10619 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10620 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10621 (SA_MTIME_OFFSET): Likewise.
10622 (SA_SYMLINK_OFFSET): Likewise.
10623 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10624 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10625 (fstest): Support zfsinfo.
10626 (argp_parser): Likewise.
10627
186b4028
VS
106282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10631 error.
10632
106332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
10634
10635 ZFS fixes.
10636
10637 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10638 sharing the same block. Iterate over correct number of indices.
10639 (dnode_get_path): Handle symlinks correctly.
10640
c0584900
VS
106412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10644
67e2bd71
VS
106452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 Read label on HFS+.
10648
10649 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10650 (grub_hfsplus_btree_search): Fix types.
10651 (grub_hfsplus_label): Implement.
10652
e9cc6b7b
VS
106532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10656
19832ddb
VS
106572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10660
66b40850
VS
106612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 Fix symlink handling on iso9660.
10664
10665 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10666 All users updated.
10667 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10668 (grub_iso9660_read_symlink): Moved most of code ...
10669 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10670
db821363
VS
106712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10674 Use union to avoid breaking strict-aliasing rules.
10675
e1211949
VS
106762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 Support multi-extent iso files.
10679
10680 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10681 Add node.
10682 (grub_fshelp_node): Revamp. All users updated.
10683 (FLAG_*): New enum.
10684 (read_node): New function.
10685 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10686 All users updated.
10687 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10688 (get_node_size): New function.
10689 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10690 entries.
10691 Fix memory leak on . and ..
10692 (grub_iso9660_read): Use read_node.
10693 (grub_iso9660_close): Free node.
10694
d4888031
VS
106952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 Fix tar 4G limit and handle paths containing dot.
10698
10699 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10700 (canonicalize): New function.
10701 (grub_cpio_find_file): Use canonicalize. Store offs in
10702 grub_disk_addr_t.
10703 (grub_cpio_dir): Use grub_disk_addr_t.
10704 (grub_cpio_open): Likewise.
10705
9f12e664
VS
107062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10709
10710 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10711 unused flags.
10712 (grub_squash_inode): Add long_file and block_size.
10713 (grub_squash_cache_inode): New struct.
10714 (grub_squash_dirent): Make types into enum.
10715 (SQUASH_TYPE_LONG_REGULAR): New type.
10716 (grub_squash_frag_desc): Add field size.
10717 (SQUASH_BLOCK_FLAGS): New enum.
10718 (grub_squash_data): Use grub_squash_cache_inode.
10719 (grub_fshelp_node): Make ino_chunk 64-bit.
10720 (read_chunk): Minor argument change. All users updated.
10721 (squash_mount): Use correct le_to_cpu.
10722 (grub_squash_open): Handle LONG_REGULAR.
10723 (direct_read): New function.
10724 (grub_squash_read_data): Handle blocks correctly.
10725
9f326fba
VS
107262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10729
f4d9b64b
VS
107302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10733
5bbd28b8
VS
107342011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Fix 2G limit on ZFS.
10737
10738 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10739 types.
10740 (uberblock_verify): Likewise.
10741 (dmu_read): Likewise.
10742 (grub_zfs_read): Likewise. Remove invalid cast.
10743
68c72069
VS
107442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10747 (grub_jfs_blkno): Fix incorrect shift.
10748 (grub_jfs_read_file): Use more appropriate types.
10749
6e536dc8
VS
107502011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Support triple indirect on minix2 and minix3.
10753
10754 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10755 Declare triple_indir_zone.
10756 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10757 indirect.
10758
e0864e7a
VS
107592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Minix FS fixes.
10762
10763 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10764 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10765 Rename ctime to mtime. All users updated.
10766 (grub_minix_get_file_block): Fix types and double indirect computations.
10767
89481cab
VS
107682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10771 if no label is found.
10772 (grub_fat_iterate_dir): Fix file size type.
10773 (grub_fat_iterate_dir): Likewise.
10774
f646e143
VS
107752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10778 save some space.
10779 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10780 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10781
534d769e
VS
107822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10785
e084ba18
VS
107862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * util/import_gcry.py: Accept space between # and include.
10789
3471ecdf
VS
107902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10793
124df5f6
VS
107942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10797
10798 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10799 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10800 yylex_strncpy.
10801 * grub-core/script/yylex.l: Add fine-grained #pragma.
10802
4defb8d5
VS
108032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10806 New inline function.
10807 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10808 Likewise.
10809 (memset) [GRUB_UTIL]: Likewise.
10810 (memcmp) [GRUB_UTIL]: Likewise.
10811
4e94ae65
VS
108122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10815 inline function rather than a define.
10816
18c575e5
VS
108172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * util/grub-setup.c: Add missing include.
10820
f8bc22a8
VS
108212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * util/ieee1275/grub-ofpathname.c: Add missing include.
10824
3ce69fc9
VS
108252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10828 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10829 Likewise.
10830
d1e293bb
VS
108312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10834 grub_memcmp usage.
10835
7a5c54a4
VS
108362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * util/grub-install.in: Add datarootdir as per automake manual
10839 suggestion.
10840 * util/grub-mknetdir.in: Likewise.
10841
108422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
10843
10844 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10845 suggestion.
10846 * util/grub.d/10_kfreebsd.in: Likewise.
10847 * util/grub.d/10_linux.in: Likewise.
10848 * util/grub.d/10_netbsd.in: Likewise.
10849 * util/grub.d/10_windows.in: Likewise.
10850 * util/grub.d/20_linux_xen.in: Likewise.
10851
766f7d08
VS
108522011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 Remove redundant grub_kernel_image_size.
10855
10856 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10857 _edata and _start.
10858 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10859 the small code. It moves it only by few bytes but simplifies the code.
10860 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10861 _start.
10862 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10863 (grub_kernel_image_size): Removed.
10864 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10865 (grub_kernel_image_size): Removed.
10866 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10867 compiled with Apple toolchain.
10868 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10869 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10870 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10871 (grub_total_module_size): Likewise.
10872 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10873 Removed.
10874 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10875 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10876 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10877 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10878 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10879 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10880 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10881 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10882 Removed.
10883 (grub_total_module_size): Removed.
10884 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10885 (image_targets): Likewise.
10886 Set .compressed_size to no field on sparc.
10887 (generate_image): Remove kernel_image_size handling.
10888
fcf1d672
SJ
108892011-10-19 Szymon Janc <szymon@janc.net.pl>
10890
10891 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10892 NULL pointer dereference.
10893
de9c615e
VS
108942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10897 done with a dedicated section.
10898
10899 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10900 Ensure the correct position of boot_path.
10901 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10902 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10903 other fields.
10904 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10905 * include/grub/boot.h: Removed. All references removed.
10906 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10907 Removed.
10908 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10909
e55599dc
VS
109102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10913 name.
10914
36dd20ad
VS
109152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10918
f8f72eb8
VS
109192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10922 Don't add the bogus brackets.
10923
a374751b
VS
109242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 ExFAT support.
10927
10928 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10929 * grub-core/Makefile.core.def (exfat): New module.
10930 * grub-core/fs/exfat.c: New file.
10931 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10932 (GRUB_FAT_ATTR_*): Make into an enum.
10933 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10934 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10935 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10936 (GRUB_FAT_MAXFILE): Removed.
10937 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10938 (grub_current_fat_bpb_t): New type.
10939 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10940 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10941 (grub_fat_dir_node_t): New type.
10942 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10943 (fat_log2) [MODE_EXFAT]: Removed.
10944 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10945 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10946 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10947 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10948 (grub_fat_label) [MODE_EXFAT]: New function.
10949 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10950 reserved_first_sector to 0.
10951
544c2487
VS
109522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 Move grub_reboot out of the kernel.
10955
10956 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10957 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10958 * grub-core/lib/efi/reboot.c: ... here.
10959 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10960 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10961 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10962 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10963 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10964 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10965 * grub-core/lib/ieee1275/reboot.c: ... here.
10966 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10967 * grub-core/lib/mips/arc/reboot.c: ... here.
10968 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10969 * grub-core/lib/mips/loongson/reboot.c: ...here.
10970 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10971 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10972 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10973 * include/grub/i386/reboot.h: New file.
10974 * include/grub/mips/loongson/ec.h: Fix includes.
10975 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10976 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10977 * grub-core/lib/i386/reboot.c: New file.
10978
a97501d2
VS
109792011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 Make grub_prefix into module to fix the arbitrary limit and save
10982 some space.
10983
10984 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10985 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10986 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10987 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10988 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10989 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10990 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10991 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10992 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10993 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10994 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10995 * include/grub/ia64/efi/kernel.h: Removed.
10996 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10997 (grub_prefix): Removed.
10998 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10999 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11000 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11001 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11002 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11003 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11004 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11005 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11006 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11007 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11008 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11009 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11010 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11011 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11012 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11013 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11014 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11015 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11016 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11017 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11018 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11019 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11020 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11021 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11022 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11023 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11024 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11025 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11026 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11027 from module.
11028 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11029 prefix_end.
11030 (image_targets): Likewise.
11031 (generate_image): Put prefix as a module.
11032
39705fad
VS
110332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 Replace grub_module_iterate with FOR_MODULES.
11036
11037 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11038 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11039 (grub_efi_modules_addr): ...this.
11040 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11041 (grub_efi_init): Set grub_modbase.
11042 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11043 (grub_modbase): New variable.
11044 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11045 (grub_modbase): New variable.
11046 (grub_machine_init): Set grub_modbase.
11047 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11048 (grub_modbase): New variable.
11049 (grub_machine_init): Set grub_modbase.
11050 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11051 (grub_modbase): New variable.
11052 (grub_machine_init): Set grub_modbase.
11053 * grub-core/kern/main.c (grub_module_iterate): Remove.
11054 (grub_modules_get_end): Use grub_modbase.
11055 (grub_load_modules): Use FOR_MODULES.
11056 (grub_load_config): Likewise.
11057 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11058 (grub_modbase): New variable.
11059 (grub_machine_init): Set grub_modbase.
11060 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11061 (grub_modbase): New variable.
11062 (grub_machine_init): Set grub_modbase.
11063 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11064 Removed.
11065 (grub_modbase): New variable.
11066 (grub_machine_init): Set grub_modbase.
11067 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11068 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11069 (grub_module_iterate): Likewise.
11070 (grub_modbase): New variable declaration.
11071 (FOR_MODULES): New macro.
11072
2afb7f6c
VS
110732011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11076 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11077
366e34fa
VS
110782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 Fix few obvious type discrepancies.
11081
11082 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11083 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11084 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11085 variable.
11086 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11087 and connected types.
11088 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11089 offset.
11090 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11091 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11092 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11093 and connected types.
11094
177b960e
VS
110952011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 Fix python 3.x incompatibilities.
11098
11099 * gentpl.py: Put brackets around print strings.
11100 * util/import_gcry.py: Open explicitly as utf-8.
11101 Use in instead of has_key.
11102
3b619ae1
VS
111032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11106 (GRUB_XFS_INO_AGBITS): Make into inline function.
11107 (GRUB_XFS_INO_INOINAG): Likewise.
11108 (GRUB_XFS_INO_AG): Likewise.
11109 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11110 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11111 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11112 (GRUB_XFS_EXTENT_SIZE): Likewise.
11113 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11114 (GRUB_XFS_NEXT_DIRENT): Likewise.
11115 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11116 (grub_xfs_read_file): Fix offset type.
11117
8bcebcb8
RM
111182011-10-15 Robert Millan <rmh@gnu.org>
11119
11120 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11121
0017e5ef
RM
111222011-10-15 Robert Millan <rmh@gnu.org>
11123
11124 Fix build problem on FreeBSD and GNU/kFreeBSD.
11125
11126 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11127
d8919552
VS
111282011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11131
11132 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11133 types.
11134 (grub_hfsplus_btree_recoffset): Likewise.
11135 (grub_hfsplus_btree_recptr): Likewise.
11136 (grub_hfsplus_find_block): Likewise.
11137 (grub_hfsplus_btree_search): Likewise.
11138 (grub_hfsplus_read_block): Likewise.
11139 (grub_hfsplus_read_file): Likewise.
11140 (grub_hfsplus_mount): Likewise.
11141 (grub_hfsplus_btree_iterate_node): Likewise.
11142 (grub_hfsplus_btree_search): Likewise.
11143 (grub_hfsplus_iterate_dir): Likewise.
11144 (grub_hfsplus_read): A small code simplification.
11145
c81296b6
VS
111462011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/kern/emu/hostdisk.c
11149 (convert_system_partition_to_system_disk): Don't assume that children
11150 of mapper nodes are mapper nodes.
11151
0eb8ffb1
VS
111522011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11155 * include/grub/misc.h (grub_isxdigit): New function.
11156 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11157 switched to grub_isxdigit.
11158 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11159 number starting with a letter.
11160
a98f4a08
RM
111612011-10-09 Robert Millan <rmh@gnu.org>
11162
11163 LVM support for FreeBSD and GNU/kFreeBSD.
11164
11165 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11166 GNU/kFreeBSD.
11167 (LVM_DEV_MAPPER_STRING): Move from here ...
11168 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11169 * util/getroot.c: Include `<grub/util/lvm.h>'.
11170 (grub_util_get_dev_abstraction): Enable
11171 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11172 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11173 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11174 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11175 support it.
11176 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11177 GNU/kFreeBSD.
11178 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11179 when LVM abstraction is required for ${GRUB_DEVICE}.
11180
050e8e90
SJ
111812011-10-06 Szymon Janc <szymon@janc.net.pl>
11182
11183 Add support for LZO compression in GRUB:
11184 - import of minilzo library,
11185 - LZO decompression for btrfs,
11186 - lzop files decompression.
11187
11188 * grub-core/io/lzopio.c: New file.
11189 * grub-core/lib/adler32.c: Likewise.
11190 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11191 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11192 * grub-core/lib/minilzo/minilzo.c: Likewise.
11193 * grub-core/lib/minilzo/minilzo.h: Likewise.
11194 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11195 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11196 grub-core/lib/minilzo/minilzo.c to common.
11197 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11198 cflags in cppflags.
11199 * grub-core/Makefile.core.def (btrfs): Likewise.
11200 * grub-core/Makefile.core.def (lzopio): New module.
11201 (adler32): Likewise.
11202 * grub-core/fs/btrfs.c: Include minilzo.h.
11203 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11204 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11205 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11206 (grub_btrfs_lzo_decompress): New function.
11207 (grub_btrfs_extent_read): Add support for LZO compression type.
11208 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11209 (GRUB_USHRT_MAX): Likewise.
11210 (GRUB_UINT_MAX): Likewise.
11211 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11212 (UINT_MAX): Likewise.
11213 (CHAR_BIT): Likewise.
11214 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11215 grub-core/lib/posix_wrap/limits.h
11216 (UCHAR_MAX): Likewise.
11217 * include/grub/file.h (grub_file_filter_id): New compression filter
11218 GRUB_FILE_FILTER_LZOPIO.
11219 * include/grub/file.h (grub_file_filter_id): Set
11220 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11221 * include/grub/types.h (grub_get_unaligned16): New function.
11222 (grub_get_unaligned32): Likewise.
11223 (grub_get_unaligned64): Likewise.
11224 * util/import_gcry.py (cryptolist): Add adler32.
11225
0eb8ffb1
VS
112262011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11229 in perspective decreases the complexity of build system and fixes
11230 compilation right now.
11231
ce79cc99 112322011-10-01 Ales Nesrsta <starous@volny.cz>
11233
11234 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11235 (fixed problem related to using UHCI with coreboot).
11236
8667a314
BC
112372011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11238
11239 * gentpl.py: Use Autogen macros so that the output template file
11240 (Makefile.tpl) size is reduced.
11241
fc5efcc0
MK
112422011-09-29 Mads Kiilerich <mads@kiilerich.com>
11243
11244 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11245 extra_dist.
11246
d1ab689d
ML
112472011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11248
11249 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11250 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11251
c05de032
ML
112522011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11253
11254 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11255 _fullpath.
11256
cca7ccd8
ML
112572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11258
11259 Remove extra declaration of sleep for mingw32.
11260
11261 * util/misc.c (sleep) [__MINGW32__]: Removed.
11262 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11263
e0b0dc83
GS
112642011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11265
11266 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11267 type and packname.
11268 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11269 Resurrected.
11270 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11271 (grub_netbsd_btinfo_bootwedge): New struct.
11272 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11273 New function.
11274 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11275
91a1a164
TH
112762011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11277
11278 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11279 loader.
11280
2ded951e
AB
112812011-09-28 Andreas Born <futur.andy@googlemail.com>
11282
11283 Fix incorrect identifiers in bash-completion.
11284
11285 * util/bash-completion.d/grub-completion.bash.in
11286 (_grub_mkpasswd-pbkdf2): Rename to ...
11287 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11288 (_grub_script-check): Rename to ...
11289 (_grub_script_check): ... this. All users updated.
11290
69915030
VS
112912011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11294 Return 0 if disk isn't biosdisk.
11295
20fd15f9
GS
112962011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11297
11298 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
11299 on NetBSD.
11300 * Makefile.util.def (grub-fstest): Likewise.
11301
1a7d7db9
GS
113022011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11303
11304 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
11305 Get sector size from disk label.
11306
2221ab6c
CW
113072011-09-05 Colin Watson <cjwatson@ubuntu.com>
11308
11309 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
11310 */README* as well as README*.
11311 Reported by: Axel Beckert.
11312
ca51c4a0
VS
113132011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
11316 case of less than 256 MiB of RAM.
11317
ab80f326
VS
113182011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/commands/wildcard.c (make_regex): Handle @.
11321
4155e697
VS
113222011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11325
ab178c08
SJ
113262011-08-21 Szymon Janc <szymon@janc.net.pl>
11327
11328 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
11329 AC_LANG_CONFTEST macros.
11330
7dc3c686
SJ
113312011-08-20 Szymon Janc <szymon@janc.net.pl>
11332
11333 Add grub-fstest option to uncompress data for commands.
11334
11335 * util/grub-fstest.c (uncompress): New var.
11336 (options): New option -u.
11337
fe8d4a7b
SJ
113382011-08-20 Szymon Janc <szymon@janc.net.pl>
11339
11340 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
11341 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
11342
a5219af1
SJ
113432011-08-20 Szymon Janc <szymon@janc.net.pl>
11344
11345 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
11346 file type was not recognized correctly (not gzip or corrupted).
11347
f87abff5
VS
113482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
11351 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
11352
d94497ea
VS
113532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
11356 loongson.
11357 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11358 video_radeon_fuloong2e.
11359 * grub-core/video/radeon_fuloong2e.c: New file.
11360 * include/grub/video.h (grub_video_id_t): Add new ID
11361 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
11362
0d1fd011
VS
113632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
11366 define.
11367 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
11368 that PRID matches the detected subplatform and reset the subplatform
11369 if it doesn't.
11370
84beb0ee
VS
113712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11374
1227c133
VS
113752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Fix PCI iterating on functions >= 4.
11378
11379 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
11380 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
11381 Removed.
11382 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
11383 (grub_pci_read): Fix bitmask.
11384 (grub_pci_read_word): Likewise.
11385 (grub_pci_read_byte): Likewise.
11386 (grub_pci_write): Likewise.
11387 (grub_pci_write_word): Likewise.
11388 (grub_pci_write_byte): Likewise.
11389
9594c689
VS
113902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
11393 can still be specified in TARGET_CFLAGS)
11394
14a2562c
VS
113952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
11398
11399 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
11400 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
11401 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
11402 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
11403 (FULOONG): Rename to ...
11404 (FULOONG2F): ... this. All users updated.
11405 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
11406 (machtype_fuloong2f_str): ... this.
11407 (machtype_fuloong2e_str): New string.
11408 Check for machtype_fuloong2e_str.
11409 * grub-core/loader/mips/linux.c (loongson_machtypes)
11410 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
11411 * grub-core/term/serial.c (loongson_defserial)
11412 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
11413 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
11414 loongson_defserial.
11415 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
11416 Rename to ...
11417 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
11418 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
11419 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
11420 to IMAGE_FULOONG2F_FLASH. All users updated.
11421 (image_targets): Rename images.
11422 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
11423
b526cbb6
SJ
114242011-08-19 Szymon Janc <szymon@janc.net.pl>
11425
11426 Make enable of disk cache statistics code configurable.
11427
11428 * configure.ac: --enable-cache-stats added.
11429 * config.h.in (DISK_CACHE_STATS): New define.
11430 * grub-core/Makefile.core.def (cacheinfo): New command.
11431 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
11432 * grub-core/commands/cacheinfo.c: New file.
11433 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
11434 moved to cacheinfo.c.
11435 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
11436 debug code.
11437 * include/grub/disk.h: Likewise.
11438
fb739ccd
SJ
114392011-08-19 Szymon Janc <szymon@janc.net.pl>
11440
11441 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
11442 * grub-core/Makefile.am: Likewise.
11443
2bba8cfd
VS
114442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
11447 non-zero pull.
11448
43526629
VS
114492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
11452 All users updated.
11453 (grub_jfs_lookup_symlink): Use correct starting inode.
11454
5c144cc8
VS
114552011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * util/grub-setup.c (main): Add missing gcry initialisation.
11458
b1257f65
VS
114592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Don't accept text modes on EFI when booting Linux.
11462
11463 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11464 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11465
828bc390
ML
114662011-08-15 Mario Limonciello <mario_limonciello@dell.com>
114672011-08-15 Colin Watson <cjwatson@ubuntu.com>
11468
11469 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11470 use of "/path/.." as in grub-install for EFI as well as handling
11471 symlinks correctly.
11472 Fixes Debian bug #637768.
11473
5f60ccac
CW
114742011-08-15 Colin Watson <cjwatson@ubuntu.com>
11475
11476 * util/grub-probe.c: Remove duplicate #include.
11477
6dc212f9
RM
114782011-08-10 Robert Millan <rmh@gnu.org>
11479
11480 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11481
11482 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11483 function.
11484 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11485 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11486
66816d85
RM
114872011-08-03 Robert Millan <rmh@gnu.org>
11488
11489 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11490 la_array as packed.
11491 Reported by: Zachary Bedell
11492
20168fca
CW
114932011-07-26 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * configure.ac: The Loongson port requires grub-mkfont due to its
11496 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11497 be built.
11498
303b6246
CW
114992011-07-26 Colin Watson <cjwatson@ubuntu.com>
11500
11501 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11502 processing arguments (otherwise help2man fails when GRUB has not yet
11503 been installed).
11504
6795300e
VS
115052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11506
41aa28ea
VS
11507 New script grub-mkstandalone.
11508
11509 * Makefile.util.def (grub-mkstandalone): New script.
11510 * docs/man/grub-mkstandalone.h2m: New file.
11511 * util/grub-mkstandalone.in: Likewise.
11512
115132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 Support ATA disks with 4K sectors.
6795300e
VS
11516
11517 * include/grub/ata.h (grub_ata): New member log_sector_size.
11518 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11519 (grub_ata_identify): Read sector size.
11520 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11521
92227597
VS
115222011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * util/grub-install.in: Don't use uhci outside of x86.
11525
c77069f5
VS
115262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * util/grub-mkrescue.in: Add missing quotes.
11529
115302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
11531
11532 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11533 dereference.
11534
583168a2
VS
115352011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11538
6be1c01f
VS
115392011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * include/grub/video.h: add missing EXPORT_FUND on
11542 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11543
a1167439
VS
115442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * include/grub/mips/kernel.h: Fix define conflict.
11547
bf66054f
VS
115482011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11551 all four ways.
11552
8fc4fa45
CW
115532011-07-21 Colin Watson <cjwatson@ubuntu.com>
11554
11555 Preferred resolution detection for VBE.
11556
11557 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11558 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11559 the Flat Panel extension, in line with the X.org VESA driver.
11560 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11561 New function.
11562 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11563 (grub_vbe_bios_read_edid): Likewise.
11564 (grub_vbe_get_preferred_mode): Likewise.
11565 (grub_video_vbe_setup): When the mode is "auto", try to get the
11566 preferred mode from VBE, and use the largest mode that is no larger
11567 than the preferred mode (some BIOSes expose a preferred mode that is
11568 not in their mode list!). If this fails, fall back to 640x480 as a
11569 safe conservative choice.
11570 (grub_video_vbe_get_edid): New function.
11571 (grub_video_vbe_adapter): Add get_edid.
11572 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11573 (struct grub_video_adapter): Add get_edid.
11574 (grub_video_edid_checksum): Add prototype.
11575 (grub_video_edid_preferred_mode): Likewise.
11576 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11577 structure.
11578
11579 * grub-core/commands/videoinfo.c (print_edid): New function.
11580 (grub_cmd_videoinfo): Print EDID if available.
11581
11582 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11583 is more appropriate on a wider range of platforms than 640x480.
11584 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11585 documentation.
11586
ca5572a9
VS
115872011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11590
e4bcf625
VS
115912011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * po/POTFILES.in: Regenerate.
11594
c4edd548
VS
115952011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11598 incorrect memory usage.
11599
16a2bab0
VS
116002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * util/grub-install.in: Source grub-mkconfig_lib.
11603
2e418de6
VS
116042011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 Remove getroot.c from core on emu platform.
11607
11608 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11609 kern/emu/raid.c.
11610 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11611 useless.
11612 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11613 * util/getroot.c (get_win32_path): ... here.
11614 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11615 * util/getroot.c (fini_libzfs): ... here.
11616 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11617 * util/getroot.c (grub_get_libzfs_handle): ... here.
11618 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11619 Moved from here...
11620 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11621 * grub-core/kern/emu/misc.c
11622 (grub_make_system_path_relative_to_its_root): Moved from here...
11623 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11624 * grub-core/kern/emu/getroot.c: Moved from here ...
11625 * util/getroot.c: ... here. All users updated.
11626 * grub-core/kern/emu/raid.c: Moved from here ...
11627 * util/raid.c: ... here. All users updated.
11628
def9832a
VS
116292011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * po/POTFILES.in: Regenerate.
11632
cd8fe79a
VS
116332011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 Fix compilation on GNU/Linux.
11636
11637 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11638 Disable geli.
11639 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11640 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11641 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11642
a251b719
VS
116432011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
116442011-07-07 Michael Gorven <michael@gorven.za.net>
116452011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11646
11647 LUKS and GELI support.
11648
11649 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11650 grub-core/disk/luks.c, grub-core/disk/geli.c,
11651 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11652 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11653 grub-core/lib/arg.c.
11654 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11655 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11656 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11657 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11658 (grub-bin2h): Add libgcry.a.
11659 (grub-mkimage): Likewise.
11660 (grub-mkrelpath): Likewise.
11661 (grub-script-check): Likewise.
11662 (grub-editenv): Likewise.
11663 (grub-mkpasswd-pbkdf2): Likewise.
11664 (grub-pe2elf): Likewise.
11665 (grub-fstest): Likewise.
11666 (grub-mkfont): Likewise.
11667 (grub-mkdevicemap): Likewise.
11668 (grub-probe): Likewise.
11669 (grub-ofpath): Likewise.
11670 (grub-mklayout): Likewise.
11671 (example_unit_test): Likewise.
11672 (grub-menulst2cfg): Likewise.
11673 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11674 * grub-core/Makefile.core.def (cryptodisk): New module.
11675 (luks): Likewise.
11676 (geli): Likewise.
11677 * grub-core/disk/AFSplitter.c: New file.
11678 * grub-core/disk/cryptodisk.c: Likewise.
11679 * grub-core/disk/geli.c: Likewise.
11680 * grub-core/disk/luks.c: Likewise.
11681 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11682 grub_util_is_lvm.
11683 (grub_util_get_dm_abstraction): New function.
11684 (grub_util_follow_gpart_up): Likewise.
11685 (grub_util_get_geom_abstraction): Likewise.
11686 (grub_util_get_dev_abstraction): Use new functions.
11687 (grub_util_pull_device): Pull GELI and LUKS.
11688 (grub_util_get_grub_dev): Handle LUKS and GELI.
11689 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11690 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11691 (follow_geom_up): Removed.
11692 (grub_util_fd_seek): New function.
11693 (open_device): Use grub_util_fd_seek.
11694 (nread): Rename to ..
11695 (grub_util_fd_read): ... this. All users updated.
11696 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11697 (grub_crypto_cbc_decrypt): Likewise.
11698 (grub_crypto_hmac_write): Likewise.
11699 (grub_crypto_hmac_buffer): Likewise.
11700 (grub_password_get): Extend to util.
11701 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11702 New member modname.
11703 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11704 * include/grub/cryptodisk.h: New file.
11705 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11706 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11707 LUKS and GELI.
11708 (grub_util_follow_gpart_up): New proto.
11709 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11710 (grub_util_fd_read): Likewise.
11711 (grub_cryptodisk_cheat_mount): Likewise.
11712 (grub_util_cryptodisk_print_uuid): Likewise.
11713 (grub_util_get_fd_sectors): Likewise.
11714 * util/grub-fstest.c (mount_crypt): New var.
11715 (fstest): Mount crypto if requested.
11716 (options): New option -C.
11717 (argp_parser): Parse -C.
11718 (main): Init and fini gcry.
11719 * util/grub-install.in: Support cryptodisk install.
11720 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11721 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11722 cryptodisk.
11723 (prepare_grub_to_access_device): Likewise.
11724 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11725 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11726 (probe_cryptodisk_uuid): New function.
11727 (probe_abstraction): Likewise.
11728 (probe): Use new functions.
11729 * util/import_gcry.py: Create Makefile.utilgcry.def.
11730 Add modname member.
11731
9bfdcbbc
VS
117322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 Lazy device scanning.
11735
11736 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11737 (grub-setup): Remove util/raid.c.
11738 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11739 * grub-core/disk/lvm.c (scan_depth): New variable.
11740 (grub_lvm_iterate): Rescan if necessary.
11741 (find_lv): New function based on grub_lvm_open.
11742 (grub_lvm_open): Use find_lv. Rescan on error.
11743 (is_node_readable): New function.
11744 (is_lv_readable): Likewise.
11745 (grub_lvm_scan_device): Skip already found disks.
11746 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11747 Stop if searched device is found and readable.
11748 * grub-core/disk/raid.c (inscnt): New variable.
11749 (scan_depth): Likewise.
11750 (scan_devices): New function based on grub_raid_register. Abort if
11751 looked for device is found.
11752 (grub_raid_iterate): Rescan if needed.
11753 (find_array): NEw function based on -grub_raid_open.
11754 (grub_raid_open): Use find_array and rescan.
11755 (insert_array): Set became_readable_at.
11756 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11757 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11758 New function.
11759 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11760 (grub_util_pull_device): New function.
11761 (grub_util_get_grub_dev): Call grub_util_pull_device.
11762 * util/raid.c: Moved to ..
11763 * grub-core/kern/emu/raid.c: ... here.
11764 (grub_util_raid_getmembers): New parameter "bootable".
11765 All users updated. Support 1.x.
11766 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11767 All users updated.
11768 * include/grub/disk.h (grub_disk_pull_t): New enum.
11769 (grub_disk_dev): Change iterate prototype.
11770 All users updated.
11771 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11772 New proto.
11773 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11774 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11775 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11776 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11777 All users updated.
11778 * include/grub/util/raid.h: Removed.
11779
1c358e59
VS
117802011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * po/POTFILES.in: Regenerate.
11783
abee94ed
VS
117842011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 Unify sparc init with other ieee1275.
11787
11788 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11789 instead of kern/sparc64/ieee1275/init.c.
11790 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11791 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11792 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11793 grub/machine/kernel.h.
11794 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11795 (grub_claim_heap) [__sparc__]: Use sparc version.
11796 (grub_machine_init): Moved args parsing to
11797 (grub_parse_cmdline): ...this.
11798 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11799 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11800 New definition.
11801 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11802
11803 Move BOOTP to separate file.
11804
11805 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11806 * grub-core/net/net.c: Move all BOOTP functions to
11807 * grub-core/net/bootp.c: ... here.
11808
11809 Use frame interface on PXE.
11810
11811 * grub-core/Makefile.core.def (pxecmd): Removed.
11812 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11813 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11814 * grub-core/i386/pc/pxe.c: Moved from here ...
11815 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11816 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11817 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11818
11819 EFI network support.
11820
11821 * grub-core/Makefile.core.def (efinet): New module.
11822 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11823 here...
11824 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11825 All users updated.
11826 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11827 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11828 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11829 * grub-core/net/drivers/efi/efinet.c: New file.
11830 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11831 (grub_efi_net_config): New extern var.
11832
11833 Various cleanups and bugfixes.
11834
11835 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11836 error.
11837 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11838 disk declared as partition.
11839 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11840 leak on failure.
11841 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11842 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11843 (grub_debug_zalloc): Likewise.
11844 (grub_debug_realloc): Likewise.
11845 (grub_debug_memalign): Likewise.
11846 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11847 Check that target is IPv4.
11848 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11849 local-mac-address as fallback.
11850 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11851 memory leak.
11852 * grub-core/net/ip.c (ipchksum): Rename to ...
11853 (grub_net_ip_chksum): ... this. All users updated.
11854 (grub_net_recv_ip_packets): Special handling for DHCP.
11855 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11856
11857 Unify prefix handling
11858
11859 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11860 (grub_machine_get_bootlocation): ... this.
11861 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11862 (grub_machine_get_bootlocation): ... this.
11863 (grub_prefix): New variable.
11864 (prefix): Removed.
11865 (root_dev): New variable.
11866 (dir): Likewise.
11867 (main): Use new variables.
11868 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11869 Revamped into ...
11870 (grub_machine_get_bootlocation): ... this.
11871 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11872 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11873 (grub_machine_get_bootlocation): ... this.
11874 (grub_machine_set_prefix): Removed.
11875 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11876 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11877 Revamped into ...
11878 (grub_machine_get_bootlocation): ... this.
11879 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11880 (grub_set_prefix_and_root): ... this. All users updated.
11881 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11882 Revamped into ...
11883 (grub_machine_get_bootlocation): ... this.
11884 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11885 (grub_machine_get_bootlocation): New proto.
11886 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11887
11888 Less intrusive and more reliable seek on network implementation.
11889
11890 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11891 (grub_file_seek): Don't call grub_file_net_seek.
11892 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11893 (grub_net_fs_read_real): .. this.
11894 (grub_net_seek_real): Use net->offset.
11895 (grub_net_fs_read): Seek if necessary.
11896
11897 Unify IEEE1275 netwotk config with the other platforms.
11898
11899 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11900 New variable.
11901 (grub_machine_get_bootlocation): Support network.
11902 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11903 Support type and device parsing.
11904 (grub_ieee1275_get_device_type): New function.
11905 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11906 into ...
11907 (grub_ieee1275_net_config_real): ... this.
11908 (grub_ofnet_probecards): Removed.
11909 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11910 * include/grub/ieee1275/ofnet.h: Removed.
11911 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11912 extern var.
11913 (grub_ieee1275_get_device_type): New function.
11914
11915 Unify network device closing across platforms and make more robust.
11916
11917 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11918 grub_grubnet_fini.
11919 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11920 already.
11921 * grub-core/net/net.c (grub_net_network_level_interface_register):
11922 Update num_ifaces.
11923 (grub_net_card_unregister): Close all interfaces.
11924 (receive_packets): Don't poll if no iterfaces are registered.
11925 Open if necessary.
11926 (grub_net_fini_hw): New function.
11927 (grub_net_restore_hw): Likewise.
11928 (fini_hnd): New variable.
11929 (GRUB_MOD_INIT): Register preboot hook.
11930 (GRUB_MOD_FINI): Run and unregister preboot hook.
11931
11932 Poll network cards when idle.
11933
11934 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11935 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11936 * grub-core/net/net.c (receive_packets): Save last poll time.
11937 (grub_net_poll_cards_idle_real): New function.
11938 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11939 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11940 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11941
11942 Rename ofnet interfaces.
11943
11944 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11945 (grub_ofnet_findcards): Use ofnet_%s names.
11946
11947 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11948
11949 Cleanup socket opening.
11950
11951 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11952 (grub_net_fs_close): Likewise.
11953 (grub_net_fs_read_real): Use eof member.
11954 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11955 (+grub_net_udp_close): New inline function.
11956
11957 * include/grub/net/tftp.h: Moved to the top of ...
11958 * grub-core/net/tftp.c: ... here.
11959 * include/grub/net/ip.h: Moved mostly to the top of ...
11960 * grub-core/net/ip.c: ... here.
11961 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11962 * grub-core/net/ethernet.c: ... here.
11963
11964 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11965
11966 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11967 FS name.
11968
11969 * include/grub/net/ip.h (ipv4_ini): Removed.
11970 (ipv4_fini): Likewise.
11971
11972 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11973 (grub_net_send_ip_packets): Likewise.
11974
cf1337aa
VS
119752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11978 grub_read_cmos prototype.
11979
93c06ff9
VS
119802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 VGA text support in qemu-mips
11983
11984 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11985 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11986 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11987 text.
11988 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11989 * grub-core/kern/vga_init.c: ... this.
11990 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11991 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11992 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11993 Adjust.
11994 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11995 GRUB_MACHINE_PCI_IO_BASE.
11996
748ccabe
VS
119972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 MIPS qemu flash support.
12000
12001 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12002 magic.
12003 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12004 (grub_machine_init): Probe memory if its size isn't known.
12005 * util/grub-mkimage.c (image_targets): Add flash targets.
12006 (generate_image): Handle flash targets.
12007
d7345994
VS
120082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 MIPS qemu at_keyboard support.
12011
12012 * gentpl.py (videoinkernel): Add qemu-mips.
12013 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12014 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12015 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12016 modules.
12017 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12018 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12019 * grub-core/term/serial.c (grub_serial_register)
12020 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12021
a07a81b3
VS
120222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 CMOS support on sparc.
12025
12026 * gentpl.py (cmos): Add powerpc and sparc.
12027 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12028 powerpc and sparc.
12029 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12030 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12031 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12032 grub_set_datetime_cmos.
12033 * grub-core/lib/ieee1275/cmos.c: New file.
12034 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12035 (find_rtc): Set no_ieee1275_rtc on error.
12036 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12037 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12038 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12039 fail. Move value to argument. All users updated
12040 (grub_cmos_write): Likewise.
12041 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12042 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12043 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12044 grub_get_datetime_cmos and grub_set_datetime_cmos.
12045
77546584
GS
120462011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12047
12048 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12049 sourcing grub-mkconfig_lib.
12050 * util/update-grub_lib.in: Likewise.
12051 * util/grub.d/00_header.in: Likewise.
12052 * util/grub.d/10_hurd.in: Likewise.
12053 * util/grub.d/10_kfreebsd.in: Likewise.
12054 * util/grub.d/10_linux.in: Likewise.
12055 * util/grub.d/10_netbsd.in: Likewise.
12056 * util/grub.d/10_windows.in: Likewise.
12057 * util/grub.d/20_linux_xen.in: Likewise.
12058 * util/grub.d/30_os-prober.in: Likewise.
12059
54894791
CW
120602011-06-28 Colin Watson <cjwatson@ubuntu.com>
12061
12062 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12063 default_bg_color rather than black.
12064 (grub_gfxterm_fullscreen): Likewise.
12065 (grub_gfxterm_background_color_cmd): Save new background color in
12066 default_bg_color.
12067
8d5d8444
VS
120682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12071
5afeb5bd
VS
120722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12075 mismerge.
12076
ba7df45e
VS
120772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 Chainloading on coreboot support.
12080
12081 * grub-core/Makefile.core.def (chain): Add coreboot.
12082 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12083
d0b526b2
VS
120842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12087 if it happens.
12088
5ff1d945
VS
120892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Implement time command.
12092
12093 * grub-core/Makefile.core.def (time): New module.
12094 * grub-core/commands/time.c: New file.
12095 * grub-core/script/parser.y: Remove "time" keyword.
12096 * grub-core/script/yylex.l: Likewise.
12097
5ebaad7e
VS
120982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12101
bdea3798
VS
121022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12105 when handling leftovers.
12106
b28c5655
VS
121072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12110 so that help2man doesn't fail.
12111
b6f945dc
VS
121122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12115 type in pointers on sparc64.
12116 (get_card_packet): Likewise.
12117
f9b75e8a
CW
121182011-06-27 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12121 with `*'.
12122 (grub_cmd_videoinfo): Fetch current video mode.
12123
1e3d9b86
VS
121242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12127 because of underlying system restrictions.
12128
efff4b1c
VS
121292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12132 necessary.
12133
9fc9ce37
VS
121342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 Coreboot video support.
12137
12138 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12139 (vbe): Likewise.
12140 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12141 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12142 here ...
12143 * grub-core/kern/i386/int.S: ... here.
12144 * grub-core/video/i386/pc/vbe.c: Updated includes.
12145 * grub-core/video/i386/pc/vga.c: Likewise.
12146 * include/grub/i386/coreboot/memory.h
12147 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12148 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12149 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12150 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12151 Disable interrupts.
12152 * include/grub/i386/pc/vga.h: Removed. All users updated.
12153
41bec7fe
VS
121542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12157 definitions for dprintf.
12158 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12159
ca80309d
VS
121602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12163 prototype.
12164 (get_card_packet): Likewise.
12165
9e322ce8
YB
121662011-06-26 Yves Blusseau <blusseau@zetam.org>
12167
12168 Display the path of the file when file is not found
12169
12170 * grub-core/fs/fat.c: Display the filename when file is not found.
12171 * grub-core/fs/fshelp.c: Likewise.
12172 * grub-core/fs/hfs.c: Likewise.
12173 * grub-core/fs/jfs.c: Likewise.
12174 * grub-core/fs/minix.c: Likewise.
12175 * grub-core/fs/ufs.c: Likewise.
12176 * grub-core/fs/btrfs.c: Likewise.
12177 * grub-core/commands/i386/pc/play.c: Likewise.
12178
cbf597af
SJ
121792011-06-26 Szymon Janc <szymon@janc.net.pl>
12180
12181 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12182 pointer checks before calling grub_free().
12183 * grub-core/commands/wildcard.c (match_devices): Likewise.
12184 * grub-core/commands/wildcard.c (match_files): Likewise.
12185 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12186 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12187 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12188 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12189 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12190 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12191 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12192 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12193 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12194
6295b32f
P
121952011-06-25 Patrick <p55@mailinator.com>
12196
12197 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12198
77c0840b
VS
121992011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12202 (grub_pxe_send): Likewise.
12203 (GRUB_MOD_INIT): Fix types.
12204
40ea05de
SJ
122052011-06-24 Szymon Janc <szymon@janc.net.pl>
12206
12207 * grub-core/io/xzio.c: Fix code style issues
12208
90162423
MRA
122092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
122102011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
12211
12212 Network infrastructure.
12213 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12214
12215 * include/grub/net/arp.h: New file.
90162423
MRA
12216 * include/grub/net/device.h: Likewise.
12217 * include/grub/net/ethernet.h: Likewise.
12218 * include/grub/net/ip.h: Likewise.
12219 * include/grub/net/netbuff.h: Likewise.
12220 * include/grub/net/tftp.h: Likewise.
12221 * include/grub/net/udp.h: Likewise.
12222 * include/grub/ieee1275/ofnet.h: Likewise.
12223 * include/grub/emu/export.h: Likewise.
12224 * include/grub/net.h: Likewise.
12225 * grub-core/net/arp.c: Likewise.
12226 * grub-core/net/ethernet.c: Likewise.
12227 * grub-core/net/ip.c: Likewise.
12228 * grub-core/net/udp.c: Likewise.
12229 * grub-core/net/tftp.c: Likewise.
12230 * grub-core/net/netbuff.c: Likewise.
12231 * grub-core/net/net.c: Likewise.
12232 * grub-core/net/drivers/emu/emunet.c: Likewise.
12233 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12234 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12235 export.h.
12236 * grub-core/Makefile.core.def (net): New module.
12237 (tftp): Likewise.
12238 (ofnet): Likewise.
12239 (emunet): Likewise.
12240 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12241 network protocols.
12242 * grub-core/kern/device.c (grub_net_open) : New variable.
12243 (grub_device_open): Handle network device.
12244 (grub_device_close): Likewise.
12245 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12246 (grub_grubnet_fini): Likewise.
12247 (grub_file_seek): Seek in network device.
12248 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12249 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12250 network root.
12251 (grub_machine_fini): Call grub_grubnet_fini.
12252 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12253 network.
12254 (grub_ieee1275_get_aliasdevname): New function.
12255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12256 Add unofficial Solaris network info.
12257 (grub_multiboot_make_mbi): Likewise.
12258 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12259 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12260 * include/grub/device.h (grub_fs): Removed.
12261 * include/grub/err.h (grub_err_t): Add network-related values.
12262 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12263 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12264 (grub_ieee1275_get_aliasdevname): New proto.
12265 * include/grub/net.h: Rewritten.
423a1849 12266
031f22a0
VS
122672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12270 names.
12271
4388ca72
VS
122722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12275 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12276 it truncates the output.
12277 Reported by: Ximin Luo.
12278
98e2f506
VS
122792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12282
2a5e94d8
VS
122832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12286 partmap before abstraction.
12287
535c1910
AK
122882011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12289
12290 * util/grub-mkconfig_lib.in: Add missing quotes.
12291
bc09e1a2
VS
122922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
12295 old method if mountinfo would return /dev/root and /dev/root doesn't
12296 exist.
12297
290766fb
VS
122982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 ZFS zlib support
12301
12302 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
12303 (decomp_table): Add zlib entries.
12304 (zio_read): USe 8 bits for compression function rather than 3.
12305 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
12306
123072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/disk/ahci.c: Add missing license statements.
12310 * grub-core/fs/romfs.c: Likewise.
12311 * grub-core/lib/ia64/setjmp.S: Likewise.
12312 * grub-core/loader/i386/pc/freedos.c: Likewise.
12313 * grub-core/loader/ia64/efi/linux.c: Likewise.
12314 * grub-core/video/colors.c: Likewise.
12315 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
12316
5ab3f48a
VS
123172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 AHCI support.
12320
12321 * grub-core/Makefile.core.def (ata_pthru): Removed.
12322 (ahci): New module.
12323 (pata): Likewise.
12324 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
12325 on unload.
12326 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
12327 readwrite.
12328 (grub_hdparm_do_check_powermode_cmd): Likewise.
12329 (grub_hdparm_do_smart_cmd): Likewise.
12330 (grub_hdparm_set_val_cmd): Likewise.
12331 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
12332 * grub-core/disk/ahci.c: New file.
12333 * grub-core/disk/ata.c: Factor out the low-level part into ...
12334 * grub-core/disk/pata.c: ... here.
12335 * grub-core/disk/ata_pthru.c: Contents moved to ...
12336 * grub-core/disk/pata.c: ... here.
12337 * grub-core/disk/scsi.c (grub_scsi_names): New array.
12338 (grub_scsi_iterate): Use grub_scsi_names.
12339 (grub_scsi_open): Likewise.
12340 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
12341 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
12342 (grub_ata_regs_t): New struct.
12343 (grub_disk_ata_pass_through_parms): Likewise.
12344 (grub_ata_device): Renamed to ...
12345 (grub_ata): ... this.
12346 (grub_ata_dev): New struct.
12347 Removed all low-level inline functions.
12348 * include/grub/scsi.h: Add PATA and AHCI subsystems.
12349 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
12350 iterate hooks and open. All users updated.
12351 * util/grub-install.in: Handle AHCI disk module.
12352
c31dc5f5
SJ
123532011-06-23 Szymon Janc <szymon@janc.net.pl>
12354
12355 Add support for DRI and RSTn markers in JPEG files.
12356
12357 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
12358 (JPEG_MARKER_RST0): Likewise.
12359 (JPEG_MARKER_RST1): Likewise.
12360 (JPEG_MARKER_RST2): Likewise.
12361 (JPEG_MARKER_RST3): Likewise.
12362 (JPEG_MARKER_RST4): Likewise.
12363 (JPEG_MARKER_RST5): Likewise.
12364 (JPEG_MARKER_RST6): Likewise.
12365 (JPEG_MARKER_RST7): Likewise.
12366 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
12367 (grub_jpeg_decode_dri): New function.
12368 (grub_jpeg_decode_sos): Move image data related part into
12369 grub_jpeg_decode_data function.
12370 (grub_jpeg_decode_data): New function.
12371 (grub_jpeg_reset): New function.
12372 (grub_jpeg_decode_jpeg): Handle new markers.
12373
fe12fd5b
VS
123742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * util/ieee1275/ofpath.c (check_sas): Close fd.
12377 (main): Free of_path.
12378 Reported by: David Volgyes <dvolgyes>.
12379
03147f46
VS
123802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
12383 Reported by: David Volgyes <dvolgyes>.
12384
cad3237f
VS
123852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
12388 file after stat.
12389 Reported by: David Volgyes <dvolgyes>.
12390
13548d26
VS
123912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
12394
12395 Reported by: David Volgyes <dvolgyes>.
12396
e061a1b5
VS
123972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12400 Prevent memory leak.
12401
1abe47dc
VS
124022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
12405 (main): Close file.
e061a1b5 12406 Reported by: David Volgyes <dvolgyes>.
1abe47dc 12407
fbc62666
VS
124082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
12411 to continue if allocation is failed.
12412
12413 Reported by: David Volgyes <dvolgyes>.
12414
e98c83e9
DV
124152011-06-23 David Volgyes <dvolgyes>
12416
12417 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12418 dereference.
12419
a199a8cd
VS
124202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 Fix spurious warning.
12423
12424 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
12425 (acorn_partition_map_find): Use .bin member.
12426
e2d1dba0
VS
124272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
12430 /dev/root as a valid device.
12431
8a5d6919
JM
124322011-06-23 Jim Meyering <meyering@redhat.com>
12433
e2d1dba0
VS
12434 Avoid NULL deref in grub_device_open.
12435
8a5d6919
JM
12436 * grub-core/kern/device.c (grub_device_open): Don't dereference
12437 a NULL pointer upon failed grub_env_get.
12438
f7db6f4a
VS
124392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 Support non-512B sectors and agglomerate reads.
12442
12443 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
12444 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
12445 (disk_io_guid): Removed.
12446 (make_devices): Locate solely by BlockIO.
12447 (grub_efidisk_open): Fill log_sector_size and total_sectors.
12448 (grub_efidisk_read): Use read_blocks.
12449 (grub_efidisk_write): Use write_blocks.
12450 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
12451 log_sector_size.
12452 (get_safe_sectors): Handle non-512B sectors.
12453 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
12454 sectors.
12455 (grub_biosdisk_write): Handle non-512B sectors.
12456 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
12457 (grub_scsi_read): Remove special non-512B block handling (now handled
12458 one level up).
12459 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12460 and do sanity checks.
12461 (grub_disk_adjust_range): Handle non-512B sectors.
12462 (transform_sector): New function.
12463 (grub_disk_read_small): Likewise.
12464 (grub_disk_read): Rewritten.
12465 (grub_disk_write): Handle non-512B sectors.
12466 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12467 log_sector_size.
12468 (open_device): Use log_sector_size.
12469 (grub_util_biosdisk_read): Likewise.
12470 (grub_util_biosdisk_write): Likewise.
12471 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12472 non-512B sectors.
12473 (pc_partition_map_embed): Likewise.
12474 * include/grub/disk.h (grub_disk): New field log_sector_size.
12475 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12476 (GRUB_DISK_CACHE_BITS): Increased to 6.
12477 * util/grub-fstest.c (fstest): New command testload.
12478 (argp_parser): Likewise.
12479
881ac815
RM
124802011-06-16 Robert Millan <rmh@gnu.org>
12481
12482 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12483 `ata' driver on kernel of FreeBSD 9.
12484
12485 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12486 (get_ataraid_disk_name): New functions.
12487 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12488 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12489 get_ataraid_disk_name() and get_ada_disk_name().
12490
1e9aef7d
CW
124912011-06-13 Colin Watson <cjwatson@ubuntu.com>
12492
12493 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12494 input format.
12495
351c7c8a
CW
124962011-05-29 Colin Watson <cjwatson@ubuntu.com>
12497
12498 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12499 `ftp.gnu.org' for `alpha.gnu.org'.
12500
6b4e6430
CW
125012011-05-27 Colin Watson <cjwatson@ubuntu.com>
12502
12503 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12504 partitions under /dev/disk/by-id/.
12505
c64db050
CW
125062011-05-27 Colin Watson <cjwatson@ubuntu.com>
12507
12508 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12509 after ten consecutive open failures. Scanning all the way up to
12510 10000 is excessive and can cause serious performance problems in
12511 some configurations.
12512 Fixes Ubuntu bug #787461.
12513
245f4aba
VS
125142011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12517 opening new one.
12518
f767c929
VS
125192011-05-21 Colin Watson <cjwatson@ubuntu.com>
125202011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Don't stat devices unless we have to.
12523
12524 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12525 dir == /dev/mapper.
12526 (grub_guess_root_device): Use already known os_dev if possible.
12527 * grub-core/kern/emu/hostdisk.c
12528 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12529 if device is known to be a dm one.
12530
f35fa3a6
CW
125312011-05-20 Colin Watson <cjwatson@ubuntu.com>
12532
12533 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12534 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12535 Reported by: Pawel Tecza.
12536
9a79fcf2
VS
125372011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12540 (lsefisystab): Likewise.
12541 (lssal): Likewise.
12542 (lsefimmap): Likewise.
12543 (hdparm): Enable on qemu-mips.
12544 (setjmp): Add ia64 nodist.
12545 (serial): Simplify tags.
12546
63e3eea9
CW
125472011-05-18 Colin Watson <cjwatson@ubuntu.com>
12548
12549 * Makefile.util.def (grub-ofpathname): Install manual page.
12550
09728256
CW
125512011-05-18 Colin Watson <cjwatson@ubuntu.com>
12552
12553 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12554
8b63a142
CW
125552011-05-18 Colin Watson <cjwatson@ubuntu.com>
12556
12557 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12558
e775d8ed
VS
125592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12562 into dprintf.
12563
bf947d36
VS
125642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Use full 64-bit division.
12567
12568 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12569 (grub_divmod64): ... this.
12570 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12571 version.
12572
b84f26c5
CW
125732011-05-18 Colin Watson <cjwatson@ubuntu.com>
12574
12575 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12576 `source'.
12577
5626056f
CW
125782011-05-18 Colin Watson <cjwatson@ubuntu.com>
12579
12580 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12581 to avoid accidents when debugging with 'sh -x'.
12582 * grub-core/gensyminfo.sh.in: Likewise.
12583 * tests/example_scripted_test.in: Likewise.
12584 * tests/grub_cmd_regexp.in: Likewise.
12585 * tests/grub_script_blanklines.in: Likewise.
12586 * tests/grub_script_dollar.in: Likewise.
12587 * tests/grub_script_expansion.in: Likewise.
12588 * tests/grub_script_final_semicolon.in: Likewise.
12589 * tests/partmap_test.in: Likewise.
12590 * tests/util/grub-shell-tester.in: Likewise.
12591 * tests/util/grub-shell.in: Likewise.
12592
e2965f4a
CW
125932011-05-18 Colin Watson <cjwatson@ubuntu.com>
12594
12595 Move gfxmenu color handling to video, so that gfxterm can use it
12596 too.
12597
12598 * grub-core/gfxmenu/named_colors.c: Move to ...
12599 * grub-core/video/colors.c: ... here. Rename
12600 grub_gui_get_named_color to grub_video_get_named_color.
12601 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12602 * grub-core/video/colors.c (my_isxdigit): ... here.
12603 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12604 Move to ...
12605 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12606 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12607 to ...
12608 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12609
12610 * include/grub/gui.h (grub_gui_color_t): Move to ...
12611 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12612 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12613 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12614 * include/grub/gui.h (grub_gui_map_color): Move to ...
12615 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12616 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12617 to ...
12618 * include/grub/video.h (grub_video_get_named_color): ... here.
12619 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12620 * include/grub/video.h (grub_video_parse_color): ... here.
12621
12622 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12623 video/colors.c.
12624 (gfxmenu): Remove gfxmenu/named_colors.c.
12625 (video) [videomodules]: Add video/colors.c.
12626
12627 Add a background_color command.
12628
12629 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12630 function.
12631 (GRUB_MOD_INIT): Register background_color command.
12632 (GRUB_MOD_FINI): Unregister background_color command.
12633 (redraw_screen_rect): Allow blend/replace of text layer to be
12634 controlled independently from whether there is a background bitmap.
12635 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12636 changing bitmap.
12637
1e4b4390
VS
126382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12639
26618ff0
VS
12640 Patch BPB in ntldr and chainloader --bpb.
12641
1e4b4390
VS
12642 * grub-core/fs/fat.c: Include grub/fat.h.
12643 (grub_fat_bpb): Moved to ...
12644 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12645 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12646 grub/ntfs.h.
12647 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12648 Moved from here...
12649 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12650 here.
12651 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12652 New function.
12653 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12654 (GRUB_MOD_INIT): Show --bpb.
12655 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12656 * grub-core/normal/main.c (features): New variable.
12657 (GRUB_MOD_INIT): Set feature_* variables.
12658 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12659 proto.
12660 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12661
cf02731e
VS
126622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12665 for cleanness.
12666
e3a1073f
VS
126672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 FreeDOS direct loading support.
12670
12671 * docs/grub.texi (Supported OS): Add FreeDOS.
12672 * grub-core/Makefile.core.def (freedos): New module.
12673 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12674 variable.
12675 (grub_relocator16_boot): Handle %ebx.
12676 * grub-core/lib/i386/relocator16.S: Likewise.
12677 * grub-core/loader/i386/pc/freedos.c: New file.
12678
05caa461
VS
126792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 Long Linux command line support.
12682
12683 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12684 (maximal_cmdline_size): New variable.
12685 (allocate_pages): Use maximal_cmdline_size.
12686 (grub_cmd_linux): Set and use maximal_cmdline_size.
12687 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12688 (allocate_pages): Use maximal_cmdline_size.
12689 (grub_cmd_linux): Set and use maximal_cmdline_size.
12690 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12691 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12692 and cmdline_size.
12693
a2491e23
VS
126942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
126952011-05-18 Colin Watson <cjwatson@ubuntu.com>
12696
12697 Improve devmapper support
12698
12699 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12700 (grub_util_is_lvm): New function.
12701 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12702 than lvm if not dmraid.
12703 Handle mapped md nodes.
12704 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12705 (grub_util_device_is_mapped): ... this. Make always available. All users
12706 updated.
12707 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12708 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12709 dmraid nodes.
12710 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12711
6ad6223e
VS
127122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12715
12716 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12717 * grub-core/modinfo.sh.in: New file.
12718 * grub-core/Makefile.core.def (modinfo.sh): New script.
12719 * util/grub-mknetdir.in: Use modinfo.sh.
12720 * util/grub-mkrescue.in: Likewise.
12721
543a8f6e
VS
127222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12725 Fix potential usage of Elf32 instead of Elf64 when compiling on
12726 32-bit architecture. Add endianness macros while on it.
12727
4959e111
VS
127282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Use mipsel- rather than mips- in directories involving mipsel ports to
12731 allow both endiannesses coexist.
12732
12733 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12734 mips. All conditions adjusted.
12735 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12736 variable.
12737 * util/grub-install.in: Adjust conditions to take renaming into account.
12738 * util/grub-mkimage.c (image_targets): Likewise. New target
12739 mips-qemu_mips-elf for bigendian mips.
12740
35341bbc
VS
127412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 Avoid unnecessary copying on MIPS.
12744
12745 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12746 early if src == dest.
12747 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12748 compression is none.
12749
b772baed
VS
127502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 Reduce memory footprint on SGI by putting modules before the kernel
12753 as opposed to after.
12754
12755 * grub-core/Makefile.core.def (kernel): Increase linking address.
12756 (none_decompress): Likewise.
12757 (xz_decompress): Likewise.
12758 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12759 address.
12760 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12761 layout change.
12762 (grub_arch_modules_addr): New function.
12763 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12764 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12765 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12766 here.
12767 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12768 (grub_total_modules_size): ... this. Make global.
12769 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12770 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12771 New definition.
12772 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12773 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12774 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12775 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12776 * util/grub-mkimage.c (image_target_desc): New flag
12777 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12778 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12779 (generate_image): Handle images with modules before kernel.
12780
566a1917
VS
127812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 Prevent potential loss of memory map by overwrite on qemu-mips.
12784
12785 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12786 Save ram size in $s4.
12787 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12788 All users changed to grub_arch_memsize.
12789 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12790 Loongson.
12791 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12792 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12793 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12794 external variable.
12795
5d420cd9
CW
127962011-05-17 Colin Watson <cjwatson@ubuntu.com>
12797
12798 * .bzrignore: Remove grub-dumpbios.
12799
d064b830
CW
128002011-05-17 Colin Watson <cjwatson@ubuntu.com>
12801
12802 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12803 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12804 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12805 existing options which append).
12806 * docs/grub.texi (Simple configuration): Document new options.
12807 Reported by: Ian Jackson. Fixes Debian bug #617538.
12808
3ca2b466
CW
128092011-05-17 Colin Watson <cjwatson@ubuntu.com>
12810
12811 * util/grub-fstest.c (cmd_cat): New function.
12812 (fstest): Handle CMD_CAT.
12813 (options): Add cat.
12814 (argp_parser): Handle cat.
12815
24c9143a
CW
128162011-05-17 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * Makefile.util.def (grub-bin2h): Don't install.
12819 * docs/man/grub-bin2h.h2m: Remove.
12820
90f7ac19
VS
128212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12824 place.
12825
8d4a5178
VS
128262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 Reenable qemu-mips port.
12829
12830 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12831 Fix small arc bug while on it.
12832 * gentpl.py: Handle qemu_mips.
12833 * grub-core/Makefile.am: Likewise.
12834 * grub-core/Makefile.core.def: Likewise.
12835 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12836 inappropriate includes.
12837 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12838 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12839 * grub-core/kern/main.c (grub_modules_get_end)
12840 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12841 * grub-core/kern/mips/qemu-mips: Moved to ..
12842 * grub-core/kern/mips/qemu_mips: ... this.
12843 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12844 (grub_machine_init): Call terminfo_init and serial_init.
12845 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12846 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12847 New variable.
12848 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12849 parameter passing.
12850 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12851 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12852 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12853 * include/grub/mips/qemu_mips/cmos.h: New file.
12854 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12855 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12856 Removed.
12857 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12858 Use correct mips-style address.
12859 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12860 (GRUB_TICKS_PER_SECOND): Removed.
12861 (grub_get_rtc): Likewise.
12862 (grub_cpu_idle): Likewise.
12863 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12864 New definition.
12865 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12866 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12867 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12868 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12869 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12870 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12871 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12872 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12873
400b9371
VS
128742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 SGI ARCS port.
12877
12878 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12879 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12880 platforms.
12881 * configure.ac: New target mips-arc.
12882 * gentpl.py: Likewise.
12883 * grub-core/Makefile.am: Likewise.
12884 * grub-core/Makefile.core.def: Likewise.
12885 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12886 (none_decompress): Likewise.
12887 (lsdev): New module.
12888 (datetime): Use lib/arc/datetime.c on ARC.
12889 (part_dvh): New module.
12890 * grub-core/commands/arc/lsdev.c: New file.
12891 * grub-core/disk/arc/arcdisk.c: Likewise.
12892 * grub-core/kern/mips/arc/init.c: Likewise.
12893 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12894 aligned addresses.
12895 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12896 support.
12897 (grub_arch_dl_relocate_symbols): Likewise.
12898 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12899 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12900 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12901 platforms.
12902 * grub-core/lib/arc/datetime.c: New file.
12903 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12904 pci.h on non-loongson.
12905 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12906 (grub_linux_boot): Set unused registers to 0.
12907 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12908 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12909 * grub-core/mmap/mips/uppermem.c: ...here.
12910 * grub-core/partmap/dvh.c: New file.
12911 * grub-core/term/arc/console.c: Likewise.
12912 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12913 (grub_terminfo_set_current): Add terminal "arc".
12914 (grub_terminfo_readkey): Support ARC sequences.
12915 * include/grub/arc/arc.h: New file.
12916 * include/grub/arc/console.h: Likewise.
12917 * include/grub/disk.h (grub_disk_dev_id): Add
12918 GRUB_DISK_DEVICE_ARCDISK_ID.
12919 * include/grub/mips/arc/kernel.h: New file.
12920 * include/grub/mips/arc/memory.h: Likewise.
12921 * include/grub/mips/arc/time.h: Likewise.
12922 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12923 * include/grub/mips/kernel.h (grub_halt): ... here.
12924 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12925 here...
12926 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12927 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12928 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12929 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12930 proto.
12931 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12932 from here ...
12933 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12934 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12935 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12936 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12937 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12938 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12939 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12940 (grub_phys_addr_t): Moved from here ...
12941 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12942 (grub_vtop): Moved from here ...
12943 * include/grub/mips/memory.h (grub_vtop): ... here.
12944 (grub_map_memory): Moved from here ...
12945 * include/grub/mips/memory.h (grub_map_memory): ... here.
12946 (grub_unmap_memory): Moved from here ...
12947 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12948 (grub_machine_mmap_iterate): Moved from here ...
12949 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12950 (grub_mmap_get_lower): Moved from here ...
12951 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12952 (grub_mmap_get_upper): Moved from here ...
12953 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12954 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12955 here ...
12956 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12957 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12958 here ...
12959 * include/grub/mips/time.h (grub_get_rtc): ... here.
12960 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12961 here ...
12962 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12963 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12964 here ...
12965 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12966 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12967 definition.
12968 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12969 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12970 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12971 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12972 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12973 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12974 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12975 (GRUB_MACHINE_LINK_ADDR): Likewise.
12976 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12977 to 6.
12978 * util/grub-install.in: Run dvhtool on ARC.
12979 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 12980 (generate_image): Handle ECOFF output for mips-arc.
400b9371 12981
c8ecc840
VS
129822011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12985 blocks.
12986
153a4b55
VS
129872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12990 after enabling port.
12991
ff44d107
VS
129922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 Skip incorrect USB devices.
12995
12996 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12997 configcnt == 0.
12998 * include/grub/usb.h (grub_usb_err_t): New enum value
12999 GRUB_USB_ERR_BADDEVICE.
13000
638dbe4f
VS
130012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 Fuloong video init support.
13004
13005 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13006 well.
13007 (grub_vga_read_arx): New function.
13008 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13009 definition.
13010 (framebuffer): New members io, mmioptr and mmiobase.
13011 (read_sis_cmd): New function.
13012 (write_sis_cmd): Likewise.
13013 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13014 rather than 640x400.
13015 * grub-core/video/sis315_init.c: New file.
13016
c3fc520c
VS
130172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13020 non-loongson.
13021 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13022 to grub_dl_register_symbol.
13023
67b1e5c9
VS
130242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 Fix compilation errors.
13027
13028 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13029 potentially unused.
13030 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13031 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13032 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13033 to loongson machines.
13034
b756f75f
VS
130352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 Several FS mtime support.
13038
13039 * grub-core/fs/affs.c (grub_affs_time): New struct.
13040 (grub_affs_file): New field mtime.
13041 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13042 type. Removed 'size'. New field 'di'. All users updated.
13043 (grub_affs_mount): Simplify checsum checking.
13044 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13045 (grub_affs_dir): Handle mtime.
13046 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13047 (grub_cpio_dir): Likewise.
13048 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13049 (grub_hfs_filerec): New field mtime.
13050 (grub_hfs_dir): Handle mtime.
13051 (grub_hfs_mtime): New function.
13052 (grub_hfs_fs): Register grub_hfs_mtime.
13053 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13054 (grub_iso9660_dir): New field mtime.
13055 (grub_fshelp_node): New field dirent.
13056 (iso9660_to_unixtime): New function.
13057 (iso9660_to_unixtime2): Likewise.
13058 (grub_iso9660_read_symlink): Use node->dirent.
13059 (grub_iso9660_iterate_dir): Likewise.
13060 (grub_iso9660_dir): Set mtime.
13061 (grub_iso9660_mtime): New function.
13062 (grub_iso9660_fs): Register grub_iso9660_mtime.
13063 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13064 (grub_jfs_inode): New fields atime, ctime and mtime.
13065 (grub_jfs_dir): Set mtime.
13066 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13067 * grub-core/fs/ntfs.c (list_file): Set mtime.
13068 (grub_ntfs_dir): Likewise.
13069 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13070 (grub_reiserfs_iterate_dir): Set mtime.
13071 (grub_reiserfs_dir): Likewise.
13072 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13073 (grub_fshelp_node): Likewise.
13074 (grub_sfs_iterate_dir): Set mtime.
13075 (grub_sfs_dir): Likewise.
13076 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13077 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13078 (grub_xfs_inode): New fields atime, mtime, ctime.
13079 (grub_xfs_dir): Set mtime.
13080 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13081 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13082 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13083
13084 Support UDF symlinks.
13085
13086 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13087 (grub_ufs_read_symlink): New function. All users updated.
13088
13089 Check amiga partmap checksum.
13090
13091 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13092 (grub_amiga_partition): Likewise.
13093 (amiga_partition_map_checksum): New function.
13094 (amiga_partition_map_iterate): Check checksum.
13095
5470225d
VS
130962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 ROMFS support.
13099
13100 * Makefile.util.def (libgrubmods.a): Add romfs.
13101 * grub-core/Makefile.core.def (romfs): New module.
13102 * grub-core/fs/romfs.c: New file.
13103
d4680a35
VS
131042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Squashfs v4 support.
13107
13108 * Makefile.util.def (libgrubmods.a): Add squash4.
13109 * grub-core/Makefile.core.def (squash4): New module.
13110 * grub-core/fs/squash4.c: New file.
13111 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13112 disk_input_start, disk_input.
13113 (get_byte): Handle disk_input.
13114 (grub_zlib_disk_read): New function.
13115 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13116
bcb18e74
FZ
131172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
131182011-05-15 Feiran Zheng <famcool@gmail.com>
13119
13120 * Makefile.util.def (libgrubmods.a): Add minix3.
13121 * grub-core/Makefile.core.def (minix3): New module.
13122 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13123 (GRUB_MINIX_BSIZE): Removed.
13124 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13125 (grub_minix_ino_t): New type.
13126 (grub_minix_le_to_cpu_ino): New macro.
13127 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13128 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13129 (grub_minix_data): New field block_size.
13130 (grub_minix_read_file): Handle 64-bit correctly.
13131 * grub-core/fs/minix3.c: New file.
13132
32297d5f
TG
131332011-05-15 Tristan Gingold <gingold@free.fr>
131342011-05-15 Robert Millan <rmh.grub@aybabtu.com>
131352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 IA64 support.
13138
13139 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13140 * configure.ac: Add ia64-efi target.
13141 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13142 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13143 * gentpl.py: Add ia64_efi platform.
13144 Rename x86_efi to efi and Add ia64-efi. All users updated.
13145 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13146 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13147 Remove kern/generic/rtc_get_time_ms.c on EFI.
13148 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13149 kern/ia64/dl_helper.c on ia64-efi.
13150 Add kern/emu/cache.c on emu.
13151 (linux): Use on loader/ia64/efi/linux.c on ia64.
13152 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13153 whether symbol is a function.
13154 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13155 (grub_symbol): New field 'isfunc'.
13156 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13157 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13158 (grub_dl_load_segments): Place all sections into the same region.
13159 [__ia64__]: Create trampolines and got.
13160 [GRUB_MACHINE_EMU]: Call mprotect.
13161 (grub_dl_resolve_symbols): Resolve symbol type as well.
13162 [__ia64__]: Create function descriptors.
13163 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13164 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13165 (grub_get_rtc): New function.
13166 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13167 * grub-core/kern/emu/cache.S: Renamed to ...
13168 * grub-core/kern/emu/cache_s.S: ... this.
13169 [__ia64__]: Add a nop.
13170 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13171 [__ia64__]: New function.
13172 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13173 * grub-core/kern/ia64/dl.c: New file.
13174 * grub-core/kern/ia64/dl_helper.c: Likewise.
13175 * grub-core/kern/ia64/efi/init.c: New file.
13176 * grub-core/kern/ia64/efi/startup.S: Likewise.
13177 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13178 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13179 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13180 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13181 * grub-core/loader/ia64/efi/linux.c: New file.
13182 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13183 (GRUB_MOD_DEP): Likewise.
13184 (grub_dl) [__ia64__]: New fields got and tramp.
13185 (grub_dl): New field 'base'.
13186 (grub_dl_register_symbol): New argument isfunc. All users updated.
13187 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13188 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13189 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13190 (grub_ia64_dl_get_tramp_got_size): New proto.
13191 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13192 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13193 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13194 * include/grub/efi/api.h: Skip call wrappers on ia64.
13195 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13196 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13197 * include/grub/elf.h (ELF_ST_INFO): New definition.
13198 * include/grub/ia64/efi/kernel.h: New file.
13199 * include/grub/ia64/efi/memory.h: Likewise.
13200 * include/grub/ia64/efi/time.h: Likewise.
13201 * include/grub/ia64/kernel.h: Likewise.
13202 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13203 * include/grub/ia64/time.h: New file.
13204 * include/grub/ia64/types.h: Likewise.
13205 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13206 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13207 New protos.
13208 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13209 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13210 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13211 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13212 All users updated.
13213 (EFI64_HEADER_SIZE): New definition. All users updated.
13214 (image_targets): Add ia64-efi.
13215 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13216 jumpers_addr. All users updated.
13217 Create function descriptors.
13218 (count_funcs): New function.
13219 (unaligned_uint32): New struct.
13220 (MASK20): New definition.
13221 (MASK19): Likewise.
13222 (MASKF21): Likewise.
13223 (add_value_to_slot_20b): New function.
13224 (add_value_to_slot_21_real): Likewise.
13225 (add_value_to_slot_21): Likewise.
13226 (ia64_kernel_trampoline): New struct.
13227 (nopm): New variable.
13228 (jump): Likewise.
13229 (make_trampoline): New function.
13230 (relocate_addresses): Handle ia64.
13231 (make_reloc_section): Likewise.
13232 (load_image): Likewise.
13233
983b414d
VS
132342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13237 warning. Move variables before code while on it.
13238
5d063cdc
VS
132392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 Fuloong support.
13242
13243 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13244 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13245 * grub-core/boot/mips/loongson/fuloong.S: New file.
13246 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13247 Explicitly init CS5536.
13248 [FULOONG]: Don't use serial until CS5536 is available.
13249 Set GPIO based on dumps.
13250 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13251 [FULOONG]: Handle GPIO and memory controller differences.
13252 Parse machine type in $a2.
13253 * grub-core/boot/mips/startup_raw.S: Determine and save the
13254 architecture.
13255 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13256 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13257 init on architecture type.
13258 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13259 SIS315E. Don't init at_keyboard on fuloong.
13260 (grub_halt): Support Fuloong.
13261 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13262 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13263 (loongson_machtypes): New array.
13264 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13265 type.
13266 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13267 config. All users updated. Handle CS5536 serial.
13268 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13269 default port on machine type. Register serial as inactive.
13270 * grub-core/video/sis315pro.c: New file.
13271 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13272 definition.
13273 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13274 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13275 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13276 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13277 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13278 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13279 to ...
13280 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13281 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13282 definition.
13283 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13284 (grub_arch_machine): New extern var.
13285 * include/grub/mips/loongson/serial.h
13286 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13287 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13288 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13289 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13290 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13291 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13292 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13293 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13294 * include/grub/term.h (grub_term_register_input_inactive): New inline
13295 function.
13296 (grub_term_register_output_inactive): Likewise.
13297 * include/grub/video.h (grub_video_driver_id): New value
13298 GRUB_VIDEO_DRIVER_SIS315PRO.
13299 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
13300 New field "names". All users updated.
13301 New field value IMAGE_FULOONG_FLASH.
13302 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
13303
6ada82d1
JU
133042011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
13305
13306 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
13307 and add some clarification.
13308
90c571a4
VS
133092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
13312 platforms if kernel is compressed.
13313
de04eecf
VS
133142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
13317 unused modules since currently referrence counter isn't reliable and
13318 there isn't much memory to recover there anyway.
13319
57688121
VS
133202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
13323 rather than resetting it to allow modules to reference themselves
13324 in init.
13325
3d2c7e35
VS
133262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
13329 counter on dependencies since grub_dl_unref already handles this.
13330
b25db218
VS
133312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
13334 on error if not already done.
13335
25a45338
VS
133362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 Fix few potential memory misusage.
13339
13340 * grub-core/font/font.c (load_font_index): Don't free char_index to
13341 avoid double free.
b25db218
VS
13342 (grub_font_load): Zero-fill font at alloc for safety.
13343 Close file on error.
13344 (free_font): Free bmp_idx.
25a45338 13345
0cac83df
VS
133462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * docs/grub.texi (Installation): Fix several outdated claims.
13349
2217a143
VS
133502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 Handle module_license on windows.
13353
13354 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
13355 sections shifted.
13356 (insert_string): Make argument const char * instead of char *.
13357 (write_section_data): Handle long section names.
13358 Handle module_license.
13359
d4de6b01
VS
133602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
13363 handle class-free menuentries.
13364 (grub_normal_add_menu_entry): Add a check to be sure.
13365
4c2a3b43
VS
133662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
13369 PgUp and PgDown.
13370
85c6210f
VS
133712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * configure.ac: Bump version to 1.99.
13374
36084912
VS
133752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 Give ATA device a bit more time on first try in order to allow disks
13378 to spin up.
13379
13380 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
13381 if dev->present is 1. Reset dev->present on failure.
13382 (grub_ata_device_initialize): Set dev->present to 1.
13383 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
13384 (grub_ata_device): New member 'present'.
13385
bda0e219
VS
133862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * util/grub-mkimage.c (generate_image): Update hash.
13389
19e1c41b
VS
133902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 Flush caches on DMA memory.
13393
13394 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
13395 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
13396 (grub_dma_free): Likewise.
13397 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
13398
91bbcc0c
VS
133992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
13402 to avoid asm treating ld and sd as macros.
13403
60ddfad3
VS
134042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13407 decompressor.
13408
a298aa04
VS
134092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
13412 grub_decompress_core since later would fail if grub_decompress_core
13413 is too far.
13414
9b44feca
VS
134152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
13418 R_MIPS_JALR since it's used by newer compiler.
13419
56dbe7b4
VS
134202011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13423
52856af2
VS
134242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
13427 file_path to 0 for surety.
13428 (grub_chainloader_boot): Set exit_data to NULL.
13429 Unset the loader once done.
13430 (grub_cmd_chainloader): Fix confusing error message if file is empty.
13431
9c9bfc6d
VS
134322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
13435 unknown key into a dprintf.
13436
dd94a3df
VS
134372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
13440 on first non-existant partition.
13441
fa68d99c
VS
134422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
13445 openning fails.
13446 Reported by: Mark Korenberg.
13447
157effb7
VS
134482011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13451 overflow.
13452
ea75312f
VS
134532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/grub-mkimage.c (main): Explicitely flush and sync the output
13456 before closing to ensure that it will be readable by grub-setup.
13457
072b5d31
VS
134582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13461 (devpath_1): Use MAKE_PIWG_PATH.
13462 (devpath_2): Likewise.
13463 (devpath_3): Likewise.
13464 (devpath_4): Likewise.
13465 (devpath_5): Likewise.
13466 (devpath_6): Likewise.
13467
13468 The appleldr.mod was checked that to be binary identical to previous
13469 version.
13470
7fae0051
Z
134712011-05-05 Zach <mikezackles>
13472
13473 Support 2010 Macbooks.
13474
13475 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13476 (devs): Add devpath_6.
13477
7c515bee
VS
134782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13481 /dev/random. /dev/urandom is good enough for our purposes (salting).
13482
ed660bd8
VS
134832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13486
ee5614b7
VS
134872011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13490 hexadecimal.
13491
664889a6
VS
134922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13495 and not 0 on failure.
13496
bd405bbc
CW
134972011-05-03 Colin Watson <cjwatson@ubuntu.com>
13498
13499 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13500 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13501 disk; otherwise grub_fs_probe will not fall back to the next
13502 filesystem.
13503 (grub_pxefs_open): Likewise, for consistency.
13504 Reported and tested by: Ezekiel Grave.
13505
4ebff753
CW
135062011-05-03 Colin Watson <cjwatson@ubuntu.com>
13507
13508 * tests/partmap_test.in: Don't hardcode path to parted.
13509 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13510
8f942553
CW
135112011-05-01 Colin Watson <cjwatson@ubuntu.com>
13512
13513 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13514 of `ls' to find out which devices are available.
13515
3c62402d
VS
135162011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13519 than source address for efi mmap buffer.
13520
723f63f2
VS
135212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13524 wrong action on non-detecting the magic.
13525
68797f92
VS
135262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13529 already supplied by another part of the module (fixes compilation on
13530 FreeBSD).
13531
6be8715d
VS
135322011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13535 match the one used by mdadm.
13536
e91dba5b
CW
135372011-04-21 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * po/README: Add instructions for creating po/LINGUAS.
13540
c85140b3
CW
135412011-04-21 Colin Watson <cjwatson@ubuntu.com>
13542
13543 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13544 #551428.
13545
13546 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13547 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13548 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13549 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13550 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13551 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13552 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13553 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13554 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13555 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13556 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13557 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13558 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13559 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13560 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13561 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13562 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13563 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13564 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13565 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13566 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13567 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13568
92051871
CW
135692011-04-21 Colin Watson <cjwatson@ubuntu.com>
13570
13571 * grub-core/kern/emu/getroot.c
13572 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13573 test that was incorrectly reintroduced in r3214.
13574 Reported by: Ian Dall. Fixes Savannah bug #33133.
13575
b13f79a4
CW
135762011-04-21 Colin Watson <cjwatson@ubuntu.com>
13577
13578 Fix stack pointer handling in 16-bit relocator.
13579
13580 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13581 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13582 Fixes Ubuntu bug #683904.
13583
9b710a88
VS
135842011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * configure.ac: Bump version to 1.99~rc2.
13587
d97e7b59
VS
135882011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13591 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13592 * grub-core/lib/x86_64/setjmp.S: Likewise.
13593 * grub-core/lib/mips/setjmp.S: Likewise.
13594 * grub-core/lib/powerpc/setjmp.S: Likewise.
13595 * grub-core/lib/sparc64/setjmp.S: Likewise.
13596
0624551c
VS
135972011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13600 * grub-core/lib/efi/datetime.c: Likewise.
13601
e8f28d4c
VS
136022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13605 New function.
13606 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13607 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13608 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13609
bba79a15
VS
136102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13613 bitmap.
13614 (grub_gfxterm_term_init): Likewise.
13615
abc474ef
VS
136162011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 Take into account the decorations the computing menu entry width.
13619
13620 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13621 (grub_gfxmenu_create_box): Register get_border_width.
13622 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13623 if available.
13624 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13625 get_border_width.
13626
e74b3947
EP
136272011-04-18 Endres Puschner <code@e7p.de>
13628
13629 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13630 Don't skip first class.
13631
34faa595
VS
136322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13635 chunks.
13636 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13637
93a777e3
VS
136382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 Complete 64-bit division support.
13641
13642 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13643 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13644 * include/grub/misc.h (grub_divmod64): Rename to ...
13645 (grub_divmod64_full): ... this.
13646 (grub_divmod64): New inline function.
13647
a5102d94
VS
136482011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13651
f3fb7b36
VS
136522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13655 performing the necessary test.
13656
9ac718b0
VS
136572011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13660 (kfreebsd.elf): Likewise.
13661 (pc-chainloader.elf): Likewise.
13662 (ntldr.elf): Likewise.
13663
50d2cc5a
VS
136642011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 Identify RAID by its UUID rather than (guessed) name.
13667
13668 * grub-core/disk/raid.c (ascii2hex): New function.
13669 (grub_raid_open): Accept mduuid/%s specification.
13670 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13671 (get_mdadm_uuid): ... this.
13672 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13673
e03f7bea
VS
136742011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13677 to negative size.
13678
e74c3112
CW
136792011-04-13 Colin Watson <cjwatson@ubuntu.com>
13680
13681 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13682 btrfs subvolume.
13683 * util/grub.d/20_linux_xen.in: Likewise.
13684
78fa584f
CW
136852011-04-13 Colin Watson <cjwatson@ubuntu.com>
13686
13687 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13688 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13689
13690 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13691 Build a list of relevant visible mounts using the mnt_id and
13692 parent_mnt_id fields, and then scan that list at the end.
13693
9d5f8162
CW
136942011-04-12 Colin Watson <cjwatson@ubuntu.com>
13695
13696 * docs/grub.texi (normal): New section.
13697 (normal_exit): New section.
13698 (Embedded configuration): Add reference to normal.
13699 (GRUB only offers a rescue shell): Likewise.
13700 * docs/grub-dev.texi (Error Handling): Fix typo.
13701
09a9d66f
CW
137022011-04-12 Colin Watson <cjwatson@ubuntu.com>
13703
13704 * NEWS: Drop obsolete entry about probe-only btrfs support.
13705
0c676933
CW
137062011-04-12 Colin Watson <cjwatson@ubuntu.com>
13707
13708 * util/import_gcry.py: Fix typo.
13709
ec9f5e0d
VS
137102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * NEWS: Add btrfs support.
13713
fe6b2cba
VS
137142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
137152011-04-11 Colin Watson <cjwatson@ubuntu.com>
13716
13717 BtrFS support. Written by me (Vladimir) with important bugfixes and
13718 even more important testing by Colin.
13719
13720 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13721 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13722 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13723 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13724 mem_input_off and mem_input. All users updated to accept in-RAM input.
13725 (gzio_seek): New function.
13726 (test_zlib_header): Likewise.
13727 (grub_gzio_read): Likewise.
13728 (grub_zlib_decompress): Likewise.
13729 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13730 Accept partial and non-virtual mounts.
13731 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13732 avoid receiving /dev/dm-X as device.
13733 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13734 Handle bind and partial mounts.
13735 * grub-core/lib/crc.c: New file.
13736 * include/grub/deflate.h: Likewise.
13737 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13738 proto.
13739 * include/grub/lib/crc.h: New file.
13740
e745cf0c
VS
137412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 Implement automatic module license checking according to new GNU
13744 guidelines.
13745
13746 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13747 (grub_dl_load_core): Use grub_dl_check_license.
13748 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13749 (GRUB_MOD_LICENSE): Likewise.
13750 (GRUB_MOD_DUAL_LICENSE): Likewise.
13751 All modules updated.
13752
2a9bc016
CW
137532011-04-11 Colin Watson <cjwatson@ubuntu.com>
13754
13755 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13756 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13757 loaders.
13758 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13759
8a3bc88e
VS
137602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13763
af869a4a
VS
137642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13767 failed.
13768
9ee8d94f
VS
137692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13772 parenthesis in the middle of the filename.
13773
b01abe3e
VS
137742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13777 rather than trying to put initrd way too high.
13778 Reported by: Ryan Lortie <desrt@desrt.ca>
13779
335bda1e
VS
137802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13783 improperly removed string.
13784
5ca1a64d
VS
137852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13788 is_disk.
13789 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13790 (open_device) Likewise.
13791 (grub_util_biosdisk_close): Likewise.
d8ce9995 13792 Reported by: Mark Korenberg.
5ca1a64d 13793
cbac5b1e
AK
137942011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13795
13796 * util/grub-mkconfig_lib.in: Add missing quotes.
13797
088cdb65
CW
137982011-04-10 Colin Watson <cjwatson@ubuntu.com>
13799
13800 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13801 is NULL.
13802
8b8a81fa
VS
138032011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 Dynamically count the number of lines for the lower banner.
13806
13807 * grub-core/normal/menu_entry.c (per_term_screen): New member
13808 num_entries.
13809 (print_down): Use num_entries.
13810 (update_screen): Likewise.
13811 (grub_menu_entry_run): Set num_entries.
13812 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13813 num_entries.
13814 (grub_print_message_indented): Move real part to ...
13815 (grub_print_message_indented_real): ... here. Additional argument
13816 dry_run.
13817 (draw_border): Additional argument num_entries.
13818 (print_message): Additional argument dry_run.
13819 (print_entries): Receive menu viewer data.
13820 (grub_menu_init_page): New argment num_entries.
13821 (menu_text_set_chosen_entry): Use num_entries.
13822 (grub_menu_try_text): Likewise.
13823 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13824 All users updated.
13825 (grub_ucs4_count_lines): New function.
13826 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13827 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13828 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13829 (grub_term_border_height): Likewise.
13830 (grub_term_num_entries): Likewise.
13831
277f955b
VS
138322011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13835 Remove now unused string.
13836
536ce85a
CW
138372011-04-09 Colin Watson <cjwatson@ubuntu.com>
13838
13839 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13840 build system.
13841 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13842
13843 (Comment): Fix typo.
13844 (Getting started): General copy-editing.
13845 (Typical Development Experience): Likewise.
13846 (Error Handling): Likewise.
13847 (Video API): Likewise.
13848
2cf09e32
CW
138492011-04-09 Colin Watson <cjwatson@ubuntu.com>
13850
13851 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13852 throughout.
13853
1ec652f4
VS
138542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13857 directory.
13858
2c583728
CW
138592011-04-08 Colin Watson <cjwatson@ubuntu.com>
13860
13861 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13862 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13863 "development".
13864
d7a565e9
VS
138652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13868 grub_strcpy since the lines aren't necessarily 0-terminated.
13869
7c2e4909
VS
138702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13873 root on legacy.
13874
34c09785
VS
138752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13878 (GRUB_MOD_INIT): DEVICE isn't optional.
13879
6a6f8058
VS
138802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13883 word on new line if it's too long anyway. Fixes a hang.
13884
2e335e90
VS
138852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13888 const.
13889 * util/grub-setup.c (main): Reuse md device name if available.
13890 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13891 not GRUB name as argument.
13892 Based on patch by: Florian Wagner <fwagner>.
13893
10a7a867
VS
138942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13897 Place mbi on low memory for better compatibility.
13898
7a3d6cd9
VS
138992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13902
18dd6b47
VS
139032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
139042011-04-08 Colin Watson <cjwatson@ubuntu.com>
13905
13906 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 13907 * conf/Makefile.common: Likewise.
18dd6b47 13908
3c0e3f14
VS
139092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13910
f7148863
VS
13911 * grub-core/normal/menu.c: Add missing include.
13912
139132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 13916
6d1fa41f
MZ
139172011-04-08 Martin Zuther <mzuther@mzuther.de>
13918
13919 * util/grub-mkconfig.in: Ignore emacsen backup.
13920
478182a8
VS
139212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13924 on open.
13925 (grub_util_biosdisk_close): Likewise.
13926
72a89a54
VS
139272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13930 const attribute and use grub_isdigit.
13931
b5ebecfa
A
139322011-04-06 Andrey <dev_null@ukr.net>
13933
13934 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13935 gcc warning.
13936
7755f66e
VS
139372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13940 useful grub_dprintf's.
13941
461121ff
VS
139422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13945
2a961775
VS
139462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13949
adf594cc
VS
139502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 Output errors if theme loading failed.
13953
13954 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13955 grub_gfxterm_fullscreen on error paths to ...
13956 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13957 theme loading error.
13958
665900a3
VS
139592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13962 space for older compilers.
13963 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13964
a562b479
VS
139652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13968 and report them as not RAID members since they are useless for GRUB.
13969 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13970
850e9373
VS
139712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 Increase LVM implementation robustness in order not to crash on
13974 configurations like pvmove. Previously code assumed that in some places
13975 only lvs or only pvs are used whereas it seems that they are used
13976 interchangeably.
13977
13978 * grub-core/disk/lvm.c (read_node): New function.
13979 (read_lv): Use read_node.
13980 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13981 Match volumes only at the end when all lvs are found. Take both
13982 pvs (first) and lvs (second) into account.
13983 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13984 mirror_* into node_*. All users updated.
13985 (grub_lvm_stripe): Merge this ...
13986 (grub_lvm_mirror): ... and this ...
13987 (grub_lvm_node): ... into this. All users updated.
13988
6f332153
VS
139892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13992 of function to allow further scanning for LVMs.
13993
829ea451
VS
139942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13997 on failed seek as it breaks open fd reusage.
13998
09ceb9a5
VS
139992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * util/grub-install.in: Add a recommendation to use --recheck before
14002 reporting bugs.
14003
67e11623
VS
140042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14007 are obtained.
14008
caee5efd
VS
140092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 GRUB developper manual based on existing Internals section and
14012 contributions by the various authors with active copyright assignment.
14013
14014 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14015 * docs/font_char_metrics.png: New file.
14016 * docs/font_char_metrics.txt: Likewise.
14017 * docs/grub-dev.texi: Likewise.
14018 * docs/grub.texi (Internals): Move from here ...
14019 * docs/grub-dev.texi: ... here.
14020
2cccc747
CW
140212011-04-01 Colin Watson <cjwatson@ubuntu.com>
14022
14023 Store the loopback device as data on loopback grub_disk structures,
14024 rather than the file it points to. This fixes use of freed memory
14025 if an existing loopback device is replaced.
14026
14027 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14028 disk->data, not dev->file.
14029 (grub_loopback_read): Adjust file assignment to match.
14030 Fixes Ubuntu bug #742967.
14031
186ae367
CW
140322011-04-01 Colin Watson <cjwatson@ubuntu.com>
14033
14034 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14035 when replacing an existing device.
14036
cfed2ad0
VS
140372011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14040 memory corruptions.
14041
14042 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14043 unsigned.
14044 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14045 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14046 (grub_jfs_read_inode): Likewise.
14047 (grub_jfs_opendir): Likewise. Remove now useless casts.
14048 (grub_jfs_getent): Likewise.
14049 Make ino a grub_uint32_t rather than int.
14050 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14051 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14052 division and module with bit operations.
14053 (grub_jfs_find_file): Make ino a grub_uint32_t.
14054 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14055
05d2ed32
CW
140562011-04-01 Colin Watson <cjwatson@ubuntu.com>
14057
14058 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14059 warning. (This was in fact always initialised before use, but GCC
14060 wasn't smart enough to prove that.)
14061 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14062
91dc6073
VS
140632011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14066 stack alignment.
14067 (efi_wrap_1): Likewise.
14068 (efi_wrap_2): Likewise.
14069 (efi_wrap_3): Likewise.
14070 (efi_wrap_4): Likewise.
14071 (efi_wrap_5): Likewise.
14072 (efi_wrap_6): Likewise.
14073 (efi_wrap_10): Likewise.
14074 Based on information by: Red Hat/Peter Jones.
14075
a8afc1d1
CW
140762011-03-31 Colin Watson <cjwatson@ubuntu.com>
14077
14078 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14079 set-but-not-used variable.
14080
a826cc7d
CW
140812011-03-31 Colin Watson <cjwatson@ubuntu.com>
14082
14083 * docs/grub.texi (Simple configuration): Be more explicit about
14084 GRUB_DEFAULT, and add an example.
14085 Reported by: Leslie Rhorer.
14086
875b67ba
CW
140872011-03-30 Colin Watson <cjwatson@ubuntu.com>
14088
14089 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14090 shell".
14091
fd7cd914
AS
140922011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14093
14094 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14095 * util/grub.d/20_linux_xen.in: Likewise.
14096
090b1b6a
VS
140972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * util/grub.d/10_linux.in: Try alternative config filenames where
14100 we parse config file.
14101 * util/grub.d/20_linux_xen.in: Likewise.
14102
baad885c
AS
141032011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14104
14105 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14106 * util/grub.d/20_linux_xen.in: Likewise.
14107
241e41f5
VS
141082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * grub-core/disk/raid.c (insert_array): Add few potentially
14111 useful grub_util_info.
14112 (grub_raid_register): Likewise.
14113
56445fb2
VS
141142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14117 Preserve partition number in mdadm code path.
14118
c871b1c6
VS
141192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14122 few potentially useful grub_util_info.
14123
5e631b4f
CW
141242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14127
2d5d0333
CW
141282011-03-30 Colin Watson <cjwatson@ubuntu.com>
14129
14130 * docs/grub.texi (default): Use @example rather than nested
14131 itemized lists to avoid breaking gendocs.
14132
3d7ed04e
CW
141332011-03-30 Colin Watson <cjwatson@ubuntu.com>
14134
14135 * docs/grub.texi (Future): Update.
14136
abf04200 141372011-03-30 Colin Watson <cjwatson@ubuntu.com>
14138
14139 * docs/grub.texi (Environment): New chapter.
14140 (Changes from GRUB Legacy): Link to "Environment block" section for
14141 details of limitations.
14142 (Simple configuration): Likewise. Link to documentation of gfxmode
14143 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14144 respectively.
14145 (Shell-like scripting): Note that normal variables are stored in the
14146 environment.
14147 (gettext): Link to documentation of lang and locale_dir.
14148 (list_env): New section.
14149 (load_env): New section.
14150 (save_env): New section.
14151
14152 (Reporting bugs): Fix typo.
14153
e1ad0edd
VS
141542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14157 the example.
14158
5d803174
VS
141592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * grub-core/term/at_keyboard.c (set_scancodes)
14162 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14163
2a2da1d0
CW
141642011-03-30 Colin Watson <cjwatson@ubuntu.com>
14165
14166 * docs/grub.texi (Menu-specific commands): Remove some semantics
14167 that were true in GRUB Legacy but not in GRUB 2.
14168 (submenu): New section.
14169 (false): New section.
14170 (read): New section.
14171 (true): New section.
14172
a7527639
CW
141732011-03-30 Colin Watson <cjwatson@ubuntu.com>
14174
14175 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14176
141772011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14178
14179 * docs/grub.texi (Simple configuration): Explain some of the
14180 current limitations of grub-mkconfig.
8a748df2 14181 Reported by: Leslie Rhorer.
e30af029 14182
fc858482
VS
141832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 Old macs search for boot.efi rather than for bootia32.efi.
14186
14187 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14188 * util/grub-mkrescue.in: Likewise.
14189 Suggested by: Peter Jones.
14190
e1eb511d
VS
141912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14194
70e75364
VS
141952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14198 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14199 (grub_lvm_mirror): New struct.
14200 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14201 (grub_lvm_iterate): Iterate only visible volumes.
14202 (grub_lvm_read): Factor out to ..
14203 (read_lv): ... this. Support mirrors.
14204 (grub_lvm_read): New wrapper function.
14205 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14206 stripped or mirrored.
14207
fc18f6a3
VS
142082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14211
5c650f4c
CW
142122011-03-29 Colin Watson <cjwatson@ubuntu.com>
14213
14214 * docs/grub.texi (loopback): New section.
14215
61d7156b
CW
142162011-03-29 Colin Watson <cjwatson@ubuntu.com>
14217
14218 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14219 removed -p option.
14220
994b8264
CW
142212011-03-29 Colin Watson <cjwatson@ubuntu.com>
14222
14223 * docs/grub.texi (BIOS installation): New section, partly based on
14224 previous text in other sections.
14225 (Installing GRUB using grub-install): Replace BIOS discussion with a
14226 cross-reference.
14227 (Images): Likewise.
14228
9e4d19e0
VS
142292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14232 [HAVE_DIOCGDINFO]: Add safety checks.
14233
a307c0b2
VS
142342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14237 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14238
b4db4f39
CW
142392011-03-29 Colin Watson <cjwatson@ubuntu.com>
14240
14241 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14242 real_sb->size is zero (e.g. RAID-0), get the disk size from
14243 real_sb->data_size instead.
14244 Fixes Ubuntu bug #743136.
14245
35e5f84c
VS
142462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14249 printf clauses for printing size and start.
14250
d2e29d81
VS
142512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14254 Reported and tested by: Timothy Nikkel.
14255
ed5587af
VS
142562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14259 (dirty_region_add_real): ... this.
14260 (dirty_region_add): Don't discard margin refresh when performing
14261 scheduled repaint.
14262
a1dc717c
VS
142632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * grub-core/lib/relocator.c (allocate_regstart)
14266 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14267 terminals are capabple of malloc-free operation.
14268 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14269 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14270
9f3677d3
VS
142712011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14272
14273 * util/grub-setup.c: Copy the partition table zone if floppy support
14274 is disabled, even if no partition table is found.
14275
14276 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14277 during POST if an invalid partition table is contained in the PBR
14278 of the active partition when GRUB is installed to a partition.
14279
24148725
CW
142802011-03-28 Colin Watson <cjwatson@debian.org>
14281
14282 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14283 comment.
14284
f329eda7
CW
142852011-03-28 Colin Watson <cjwatson@debian.org>
14286
14287 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14288 to be specific about what kind of RAID device we're scanning for.
14289
c482ad98
SG
142902011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14291
14292 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14293 return freed string.
14294
5ee04984
VS
142952011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14298
f4727da9
VS
142992011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 Use libgeom on FreeBSD to detect partitions.
14302
14303 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
14304 (grub-mkrelpath): Likewise.
14305 (grub-script-check): Likewise.
14306 (grub-editenv): Likewise.
14307 (grub-mkpasswd-pbkdf2): Likewise.
14308 (grub-fstest): Likewise.
14309 (grub-mkfont): Likewise.
14310 (grub-mkdevicemap): Likewise.
14311 (grub-probe): Likewise.
14312 (grub-setup): Likewise.
14313 (grub-ofpathname): Likewise.
14314 (grub-mklayout): Likewise.
14315 (example_unit_test): Likewise.
14316 (grub-menulst2cfg): Likewise.
14317 * grub-core/Makefile.core.def (grub-emu): Likewise.
14318 (grub-emu-lite): Likewise.
14319 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
14320 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
14321 define HAVE_DIOCGDINFO.
14322 (follow_geom_up) [FreeBSD]: New function.
14323 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
14324 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
14325 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
14326 unconditionally of HAVE_DIOCGDINFO.
14327
82fe6c75
VS
143282011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 Fix FreeBSD compilation problem.
14331
14332 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
14333 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
14334
4c6c9431
CW
143352011-03-24 Colin Watson <cjwatson@ubuntu.com>
14336
14337 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
14338 Switch back to page zero before loading a kernel, since some kernel
14339 drivers expect that.
14340 Thanks to: Felix Kuehling.
14341
c7064d94
VS
143422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
14345 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
14346 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
14347
3f71cded
VS
143482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
14351 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
14352
ef6de21a
VS
143532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
14356 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
14357 malloc is disabled.
14358
8bc66a2c
VS
143592011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
14362 for modules headers when counting the needed allocation size.
14363
5657722c
VS
143642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
14367 if no ASCII character is found to prevent crash.
14368
41a85f55
AK
143692011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14370
14371 * grub-core/video/bitmap.c (match_extension): Ignore case.
14372
59e1e5f1
VS
143732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14376
bd4d051a
VS
143772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/script/parser.y: Declare "time" as valid argument.
14380
bae7fcc1
PJ
143812011-03-23 Peter Jones <pjones@redhat.com>
14382
14383 Fix incorrect assert failure reporting.
14384
14385 * grub-core/tests/example_functional_test.c (example_test): Add
14386 a failure comment.
14387 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
14388 (failure_start): ...this. Check that malloc succeeded.
14389 Don't call xvasprintf. Return failure struct.
14390 (failure_append_vtext): New function.
14391 (failure_append_text): Likewise.
14392 (add_failure): Likewise.
14393 (grub_test_assert_helper): Likewise.
14394 * include/grub/test.h (grub_test_assert_helper): New declaration.
14395 (grub_test_assert): Macro rewritten.
14396
537dc9be
VS
143972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14400
fa3e01bf
VS
144012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14404
b1d28404
VS
144052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
14408 into GRUB-style one.
14409
2e3e2e09
VS
144102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
14413 error and not grub_errno.
14414 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
14415
ed57e557
VS
144162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
14419 GRUB_USB_SPEED_NONE in case of failure and not the error code.
14420
d1611f01
VS
144212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * grub-core/efiemu/i386/pc/cfgtables.c
14424 (grub_machine_efiemu_init_tables): Make declaration a prototype.
14425 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
14426 (grub_xnu_unlock): Likewise.
14427 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
14428
7d4e39d6
VS
144292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
14432 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
14433 * grub-core/commands/hashsum.c (aliases): Likewise.
14434 * grub-core/commands/setpci.c (pci_registers): Likewise.
14435 * grub-core/disk/usbms.c (attach_hook): Likewise.
14436 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
14437 (zio_checksum_table): Likewise.
14438 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
14439 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
14440 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
14441 * grub-core/lib/relocator.c (leftovers): Likewise.
14442 (extra_blocks): Likewise.
14443 * grub-core/loader/i386/bsd.c (relocator): Likewise.
14444 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
14445 (modules_last): Likewise.
14446 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
14447 (devices): Likewise.
14448 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
14449 (modules_last): Likewise.
14450 * grub-core/normal/auth.c (users): Likewise.
14451 * grub-core/normal/context.c (initial_menu): Likewise.
14452 (current_menu): Likewise.
14453 * grub-core/normal/crypto.c (crypto_specs): Likewise.
14454 * grub-core/term/serial.c (grub_serial_ports): Likewise.
14455 (grub_serial_terminfo_input_template): Likewise.
14456 (grub_serial_terminfo_output_template): Likewise.
14457 (grub_serial_terminfo_input): Likewise.
14458 (grub_serial_terminfo_output): Likewise.
14459 (registered): Likewise.
14460 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14461
40fc4659
VS
144622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14465 grub_video_mode_type_t.
14466 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14467 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14468 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14469
2da48d28
VS
144702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 * util/grub-install.in: Correct the x86-64 name as x86_64.
14473
9b43bf39
CW
144742011-03-11 Colin Watson <cjwatson@ubuntu.com>
14475
14476 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14477 initial chunk read from the kernel always includes GRUB's multiboot
14478 header, which is now outside the first sector.
14479
be1a7ce0
CW
144802011-03-09 Colin Watson <cjwatson@ubuntu.com>
14481
14482 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14483 cached mmap_size, so that this works correctly when called multiple
14484 times.
14485 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14486
83a3c48d
CW
144872011-03-09 Colin Watson <cjwatson@ubuntu.com>
14488
14489 * docs/grub.texi (Simple configuration): Tidy up formatting.
14490
57d75699
SJ
144912011-03-07 Szymon Janc <szymon@janc.net.pl>
14492
14493 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14494 Set-but-not-used variable removed.
14495
028501a0
VS
144962011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 Workaround yet another IEEE1275 bug.
14499
14500 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14501 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14502 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14503 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14504 is set.
14505 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14506 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14507
d998657d
VS
145082011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14511 error.
14512
fee7cdd4
CW
145132011-02-11 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14516 empty, since in that case we can only generate either nothing or a
14517 syntactically invalid configuration file.
14518 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14519
97286eb5
CW
145202011-02-09 Colin Watson <cjwatson@ubuntu.com>
14521
14522 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14523 (Making a GRUB bootable CD-ROM): Likewise.
14524 (Invoking grub-mkrescue): New section.
14525 Reported by: Yann Dirson. Fixes Debian bug #612585.
14526
22b28eb3
CW
145272011-02-09 Colin Watson <cjwatson@ubuntu.com>
14528
14529 * util/grub-install.in: Remove unnecessary brackets from tr
14530 arguments.
14531 * util/grub.d/10_hurd.in: Likewise.
14532 * util/grub.d/10_kfreebsd.in: Likewise.
14533 * util/grub.d/10_linux.in: Likewise.
14534 * util/grub.d/20_linux_xen.in: Likewise.
14535 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14536
7e735e43
CW
145372011-02-08 Colin Watson <cjwatson@ubuntu.com>
14538
14539 * include/grub/file.h (not_easly_seekable): Rename to ...
14540 (not_easily_seekable): ... this. Update all users.
14541
800f1881
CW
145422011-01-28 Colin Watson <cjwatson@ubuntu.com>
14543
14544 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14545 grub-mkrescue.
14546
3281d3d6
VS
145472011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * util/grub-mkimage.c (generate_image): Refuse to create the images
14550 bigger than the actual flash (512K) in Loongson machines. 512K is also
14551 the biggest chip supported by them.
14552
3533413c
VS
145532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14556
73ae4f4f
VS
145572011-01-22 Anthony DeRobertis <anthony@derobert.net>
14558
14559 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14560 super_offset field.
14561
37f4f608
VS
145622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * util/grub-install.in: Ignore install device on platforms
14565 where it doesn't make sense. Always use UUIDs except on pc, efi and
14566 sparc64.
14567 Reported by: Daniel Kahn Gillmor.
14568
03a4ccb5
VS
145692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14572
ffc8f4d8
VS
145732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14576 (iterate_real): Don't rely on partition being non-NULL.
14577
80f23be7
VS
145782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14581 supported platforms. Put a compile time assert for this rather than
14582 generate a warning with 32-bit shift.
14583
5d4f4dd5
VS
145842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14587 logical expression more readable.
14588
e489601a
VS
145892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14592 even if some elements have a name.
14593 Reported by: Alexander GQ Gerasiov.
14594
96e0a6ea
CW
145952011-01-22 Colin Watson <cjwatson@ubuntu.com>
14596
14597 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14598 path unreadable if `grub-probe -t abstraction' fails, for example if
14599 memberlist fails on an LVM volume group.
14600 Reported by: Darius Jahandarie.
14601
81431e2b
CW
146022011-01-22 Colin Watson <cjwatson@ubuntu.com>
14603
14604 * docs/grub.texi (Simple configuration): Document
14605 GRUB_PRELOAD_MODULES.
14606
5e79d66a
CW
146072011-01-17 Colin Watson <cjwatson@ubuntu.com>
14608
14609 * .bzrignore: Remove nonexistent grub-pbkdf2.
14610
646ada34
VS
146112011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * configure.ac: Bump version to 1.99~rc1.
14614
04360337
VS
146152011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14618 for safety.
14619
46c9db88
VS
146202011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14623 module.
14624
146252011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
14626
14627 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14628
4fbf1852
VS
146292011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14632 diskdevid.
14633
f1632d4d
VS
146342011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 Fix compilation on cygwin.
14637
14638 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14639 -R .drectve on cygwin.
14640 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14641 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14642 (COND_CYGWIN): New condition.
14643 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14644 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14645 not @TARGET_OBJ2ELF@.
14646 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14647 type to determine whether aux is to be used.
14648
0b5e127b
VS
146492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14652 realpath'ed device string.
14653 Handle floppy (somewhat).
14654 Issue error in unknown case rather than garbage.
14655 Reported by: Axel Beckert.
14656
173b71e9
VS
146572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14658
14659 * util/grub.d/00_header.in (load_video): Handle the case when no video
14660 drivers available.
14661 Thanks to: Axel Beckert.
14662
f8f479db
VS
146632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14666 variable. Fixes problem on big endian platforms.
14667
8fc0a245
VS
146682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14671 It doesn't work well there.
14672
b8494fbe
VS
146732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14676 warning.
14677 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14678 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14679 counter.
14680
b44a558c
VS
146812011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14682
14683 Use alias->path rather than buggy "canon".
14684
14685 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14686 (ofdisk_hash_add): New argument curcan. All users updated.
14687
51fa856c
CW
146882011-01-11 Colin Watson <cjwatson@ubuntu.com>
14689
14690 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14691
9da068a5
VS
146922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14695 loadmask before doing any calculations. Use correct type for offset.
14696 (grub_linux_load64): Likewise.
14697
86205c94
CW
146982011-01-11 Colin Watson <cjwatson@ubuntu.com>
14699
14700 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14701 with NULL.
14702 (console_grub_equivalences_unshift): Likewise.
14703 Reported by: Daniel Dehennin.
14704
4531a206
VS
147052011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14708 (set_env_limn_ro): Likewise.
14709 (GRUB_MOD_INIT): Likewise.
14710 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14711 ARRAY_SIZE while on it.
14712 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14713 * grub-core/normal/context.c (grub_env_export): Move from here ...
14714 * grub-core/kern/env.c (grub_env_export): ... here.
14715 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14716 prefix.
14717 * grub-core/kern/main.c (grub_main): Export root and prefix.
14718 * include/grub/env.h (grub_env_export): Export.
14719 Reported by: Seth Goldberg.
14720
45146057
VS
147212011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14724 Take into account space used by ELF sections and multiboot palette.
14725 Reported by: Grégoire Sutre.
14726
f093110b
VS
147272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 * BUGS: New file.
14730
3395fe52
VS
147312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Pass more appropriate video id to Linux.
14734
14735 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14736 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14737 fill have_vga.
14738 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14739 shift params->lfb_size.
14740 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14741
c2fa6cbb
VS
147422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14745
b3ff6ff0
VS
147462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14749 separator and pass bootpath/devid even if only one of them is available.
14750 Reported by: Seth Goldberg.
14751
ae67942e
VS
147522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14755 implementations bug on them.
14756
14757 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14758 memory.
14759 (filter_memory_map): Likewise.
14760
d570097a
VS
147612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14764 Reported by: nebuchadnezzar.
14765
a508e776
VS
147662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14769 Reported by: nebuchadnezzar.
14770
dcb883b1
VS
147712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 Submenu default support.
14774
14775 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14776 auto_boot. All users updated.
14777 Declared static.
14778 Handle chosen and default with submenus.
14779 (grub_menu_execute_with_fallback): Declared static.
14780 Don't notify failure if autobooted. Upper level does it.
14781 (menuentry_eq): New function.
14782 (get_entry_number): Use menuentry_eq.
14783 (show_menu): New parameter "autobooted". All users updated.
14784 (grub_show_menu): Likewise.
14785 * include/grub/normal.h (grub_show_menu): Likewise.
14786 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14787 (grub_menu_execute_with_fallback): Likewise.
14788
6fef99b4
VS
147892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 * util/grub-mklayout.c (usage): Update help text.
14792
47a77af5
VS
147932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14796
ce6bb3ee
VS
147972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * util/grub-menulst2cfg.c (main): Trim the line.
14800
db87be2a
VS
148012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14804 (grub_machine_init): Don't check amount of low memory as reportedly
14805 INT 12h can be broken and if low memory is too low we wouldn't have
14806 gotten into grub_machine_init anyway.
14807
c49849cc
VS
148082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14811 (grub_machine_mmap_iterate): Take low memory into account
14812
b1969b30
VS
148132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14816 badfs.
14817 Reported by: TiCPU.
14818
cf0eaf13
VS
148192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14822 members errors.
14823
1f060f39
GS
148242011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14825
14826 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14827 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14828
a21e5672
GS
148292011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14830
14831 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14832 openbsd and netbsd types being in part_bsd module.
14833
c88172fa
VS
148342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14837 (_FILE_OFFSET_BITS): Likewise.
14838 Reported by: Seth Goldberg.
14839
53798c4b
GS
148402011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14841
14842 * configure.ac: Check for libdevmapper header.
14843
e7121b69
VS
148442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14847 avoid aliasing.
14848 (fzap_lookup): Likewise.
14849 (dnode_get): Likewise.
14850 (make_mdn): Likewise.
14851 (zfs_mount): Likewise.
14852 (fzap_iterate): Use temporary pointer to avoid aliasing.
14853 (grub_zfs_read): Likewise.
14854 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14855 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14856 pointers to avoid aliasing.
14857 (grub_cmd_xnu_kernel64): Likewise.
14858 (grub_xnu_load_driver): Likewise.
14859
fc836af9
VS
148602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14863 aliasing warning.
14864 (grub_cmd_terminal_output): Likewise.
14865 Reported and tested by: Grégoire Sutre.
14866
f9f37648
VS
148672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14870 warning.
14871 Reported and tested by: Grégoire Sutre.
14872
ec1dfd63
VS
148732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * configure.ac: Do CPU substitution even if it's specified explicitly.
14876 Reported and tested by: Alain Greppin.
14877
9462775a
VS
148782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14881 Reported and tested by: Alain Greppin.
14882
0fd48e35
VS
148832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 Satisfy some bison versions need for inttypes.h.
14886
14887 * grub-core/lib/posix_wrap/inttypes.h: New file.
14888 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14889 (int16_t): Likewise.
14890 (int32_t): Likewise.
14891 (int64_t): Likewise.
14892 Reported and tested by: Alain Greppin.
14893
43f1bc83
VS
148942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14897 Silence spurious warning.
14898 Reported and tested by: Alain Greppin.
14899
64d1f041
SJ
149002011-01-07 Szymon Janc <szymon@janc.net.pl>
14901
14902 * docs/grub.texi (Support automatic decompression): Update with xz
14903 decompression support.
14904
25953e10
SJ
149052011-01-07 Szymon Janc <szymon@janc.net.pl>
14906
14907 Improve loaders' kernel command line handling.
14908
14909 * grub-core/lib/cmdline.c: New file.
14910 * include/grub/lib/cmdline.h: Likewise.
14911 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14912 grub_create_loader_cmdline to create kernel command line.
14913 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14914 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14915 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14916 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14917 (linux): Add lib/cmdline.c on common.
14918
e72d259f
VS
149192011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14922 inopos might be unaligned.
14923
c0cf26da
VS
149242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14927 endian transformations.
14928 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14929 Based on report by: Doug Nazar.
14930
0ca09e6c
DN
149312011-01-07 Doug Nazar <nazard.michi@gmail.com>
14932
14933 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14934 array->members[i].start_sector.
14935 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14936
014b6806
VS
149372011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14940 Reported and tested by: Grégoire Sutre.
14941
415502c2
CW
149422011-01-06 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14945 avoid causing test failures by clearing the screen.
14946
71b6a2b7
CW
149472011-01-06 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14950 Fix prefix check to handle the case where dir ends with a slash
14951 (most significantly, "/" itself).
14952 Reported by: Michael Vogt.
14953
b3f8d28a
VS
149542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 Run terminfo_cls on initing terminfo output to clear the screen and
14957 move the cursor to (0,0).
14958
14959 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14960 Call grub_terminfo_output_init.
14961 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14962 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14963 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14964
4c3e4f37
VS
149652011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14968 only when needed.
14969
488f71f1
VS
149702011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14973 CTRL.
14974
18a38098
VS
149752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 The E820 type 5 is BADRAM, not EXEC_CODE.
14978
14979 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14980 (GRUB_E820_BADRAM): New define.
14981 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14982 into reserved. Propagate BADRAM.
14983 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14984 (GRUB_E820_BADRAM): New define.
14985
9eae2084
VS
149862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14989 Ignore the memory post-4G.
14990 (grub_relocator_firmware_alloc_region): Additional debug statement.
14991
ebc71d28
VS
149922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14995 names.
14996 Reported by: David Pravec.
14997
446fa400
VS
149982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15001 BIOSes.
15002
a0159f37
VS
150032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15006 Prevent overflow.
15007 (grub_reed_solomon_recover): Likewise.
15008
e5146ca1
VS
150092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15012
150132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
15014
15015 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15016 variable.
15017
5b1bdf12
CW
150182011-01-04 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15021 descriptions of extract_legacy_entries_source and
15022 extract_legacy_entries_configfile.
15023 Reported by: Seung Soo, Ha.
15024
99d925aa
CW
150252011-01-03 Colin Watson <cjwatson@ubuntu.com>
15026
15027 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15028 on devices that do not implement function 0.
15029
4af0504b
DV
150302011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15031
15032 * grub-core/fs/hfsplus.c: Make parent unsigned.
15033 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15034 overflows.
15035 (grub_hfsplus_cmp_extkey): Likewise
15036
469ee10a
VS
150372011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * util/grub-install.in: Correctly use bootloader_id and not
15040 GRUB_DISTRIBUTOR on efibootmgr line.
15041
323a8e9c
VS
150422011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15045
1b394975
IC
150462010-12-31 Ian Campbell <ijc@hellion.org.uk>
15047
15048 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15049 Xen and reorder menu item wording to make it clearer that this entry
15050 will launch Xen. Print separate messages when loading Xen and
15051 Linux.
15052
275bff5f
VS
150532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15056 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15057 loop in case of incorrect amiga partmap.
15058
307806cb
VS
150592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15062 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15063 Reported by:EHeM.
15064
b12b923e
VS
150652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15068 spurious warning.
15069 Reported by: crocket
15070
14b48a19
VS
150712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15074 Preload EFIemu.
15075 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15076
693db2df
VS
150772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15080 is loaded
15081 (grub_cmd_xnu_kextdir): Likewise.
15082 (grub_cmd_xnu_splash): Likewise.
15083
c7638645
VS
150842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Avoid using Reed-Solomon with 0 redundancy.
15087
15088 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15089 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15090 or 0 redundancy.
15091 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15092 (grub_reed_solomon_recover): Likewise.
15093
25dd4780
VS
150942010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 Don't use disk subsystem in freebsd_boot.
15097
15098 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15099 (freebsd_biosdev): Likewise.
15100 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15101 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15102
0b2db943
VS
151032010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 Handling of files of unknown size is currently limited. They can't be
15106 used e.g. for initrd or modules. Moreover gzip handling of not
15107 easily seekable files is buggy. Disable unknown file size for now. May
15108 be inefficient but works.
15109
15110 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15111 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15112
5c408d0f
MP
151132010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15114
15115 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15116 floppy probe.
15117
190a011a
JD
151182010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15119
15120 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15121
022d01b8
SL
151222010-12-25 Shea Levy <shlevy>
15123
15124 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15125
c4855fdc
VS
151262010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15129 Windows Server 2008.
15130 Reported by: Devin Giddings.
15131
0354b867
VS
151322010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15135 writing an error message because of async power management.
15136 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15137 (grub_reboot): Likewise.
15138
ab66c69f
JU
151392010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15140
15141 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15142 keep unit tests from failing when they shouldn't.
15143
1426ef35
CW
151442010-12-21 Colin Watson <cjwatson@ubuntu.com>
15145
15146 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15147 previous patch increased the size of the RS code by 20 bytes (at
15148 least with gcc-4.4), so increase this by 20 bytes to match.
15149 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15150
20641b6b
CW
151512010-12-21 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15154 scratch area. Make sure to initialise chosen in standalone mode as
15155 well as non-standalone.
15156 Reported by: Robert Hooker and Andy Whitcroft.
15157 Tested by: Andy Whitcroft.
15158
d060ad60
CW
151592010-12-21 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15162 constructing a new unescaped string and passing it to grub_xputs in
15163 one go, rather than passing characters to grub_printf one at a time.
15164
b889cfad
CW
151652010-12-21 Colin Watson <cjwatson@ubuntu.com>
15166
15167 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15168 initialising utf16.
15169
4e01b6c8
CW
151702010-12-21 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15173 comment. Add an extra layer of quotation, requiring the output of
15174 this function to be used in a printf format string.
15175 (gettext_printf): New function.
15176 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15177 Extract translatable strings from here-documents and use a temporary
15178 variable instead, so that xgettext can find them.
15179 * util/grub.d/10_kfreebsd.in: Likewise.
15180 * util/grub.d/10_linux.in: Likewise.
15181 * util/grub.d/20_linux_xen.in: Likewise.
15182
15183 * po/grub.d.sed: New file.
15184 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15185 arguments. Set c-format flags on all strings extracted from
15186 util/grub.d/ (xgettext refuses to include these itself for strings
15187 it extracted from a shell file, but these really are c-format).
15188
5318fe98
VS
151892010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15192 Avoid next pointing to nowhere.
15193
6c85b743
VS
151942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15197 rather than assuming than rootblock is exactly in the middle.
15198 (grub_affs_label): Likewise.
15199
a2a08a35
VS
152002010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15203 reserved_first_sector to 0.
15204 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15205 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15206 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15207
7059d1ec
VS
152082010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 Fix handling of UTF-16 UDF labels.
15211
15212 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15213 (read_string): .. here.
15214 (grub_udf_label): Use read_string.
15215
30aff4cb
BC
152162010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15217
15218 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15219 editor under argument scope.
15220 Reported by: Jordan Uggla
15221
5cf86f4b
VS
152222010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15225
32570200
CW
152262010-12-18 Colin Watson <cjwatson@ubuntu.com>
15227
15228 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15229 line, and other keys scroll an entire page (previous handling was
15230 for \r and \n to scroll a page and other keys to scroll two lines).
15231
e1dffcf2
VS
152322010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15235 Set ptrdest to correct get_physical_target_address rather than
15236 incorrect get_virtual_current_address.
15237
b04298cf 152382010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15239
15240 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15241 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15242
5367ecd3
CW
152432010-12-10 Colin Watson <cjwatson@ubuntu.com>
15244
15245 * .bzrignore: Ignore grub-core/rs_decoder.S.
15246
1fb430f8
CW
152472010-12-10 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15250 .mo/.mo.gz opening sequence to ...
15251 (grub_mofile_open_lang): ... here.
15252 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15253 * util/grub.d/00_header.in (grub_lang): Include country part of
15254 locale.
15255 Reported by: Mario Limonciello.
15256
a94a6671
RM
152572010-12-09 Robert Millan <rmh@gnu.org>
15258
15259 * NEWS: Document addition of ZFS support.
15260
24b7938b
CW
152612010-12-04 Colin Watson <cjwatson@ubuntu.com>
15262
15263 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15264 rather than `/ 2', as the latter requires -Wa,--divide which would
15265 require bumping our minimum binutils version.
15266
bddc3ef6
BC
152672010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15268
15269 * util/grub-script-check.c (main): Print script line number on
15270 error.
15271
bf78d5b2
RM
152722010-12-01 Robert Millan <rmh@gnu.org>
15273
15274 * grub-core/fs/zfs/zfs.c: New file.
15275 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15276 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15277 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15278 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15279
15280 * include/grub/zfs/dmu.h: Likewise.
15281 * include/grub/zfs/dmu_objset.h: Likewise.
15282 * include/grub/zfs/dnode.h: Likewise.
15283 * include/grub/zfs/dsl_dataset.h: Likewise.
15284 * include/grub/zfs/dsl_dir.h: Likewise.
15285 * include/grub/zfs/sa_impl.h: Likewise.
15286 * include/grub/zfs/spa.h: Likewise.
15287 * include/grub/zfs/uberblock_impl.h: Likewise.
15288 * include/grub/zfs/vdev_impl.h: Likewise.
15289 * include/grub/zfs/zap_impl.h: Likewise.
15290 * include/grub/zfs/zap_leaf.h: Likewise.
15291 * include/grub/zfs/zfs.h: Likewise.
15292 * include/grub/zfs/zfs_acl.h: Likewise.
15293 * include/grub/zfs/zfs_znode.h: Likewise.
15294 * include/grub/zfs/zil.h: Likewise.
15295 * include/grub/zfs/zio.h: Likewise.
15296 * include/grub/zfs/zio_checksum.h: Likewise.
15297
15298 * Makefile.util.def: Build ZFS into libgrubmods.
15299 * grub-core/Makefile.core.def: Build zfs.mod.
15300
3f0f3831
SJ
153012010-11-30 Szymon Janc <szymon@janc.net.pl>
15302
15303 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
15304 variable.
15305 * grub-core/commands/wildcard.c (match_files): Likewise.
15306
3a4253b2
RM
153072010-11-30 Robert Millan <rmh@gnu.org>
15308
15309 * grub-core/loader/i386/bsd.c
15310 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
15311 whether kernel is loaded using grub_loader_is_loaded(), rather
15312 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
15313 certain error conditions.
15314
8c317b27
RM
153152010-11-30 Robert Millan <rmh@gnu.org>
15316
c5c9cd3e
RM
15317 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15318 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 15319
49d3ab46
VS
153202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 Avoid using tricks for initialising endian variables.
15323
15324 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
15325 Make const.
15326 (GRUB_MOD_INIT): Don't byte-swap.
15327 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15328 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
15329 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
15330 (grub_swap_bytes32_compile_time): Likewise.
15331 (grub_cpu_to_le32_compile_time): Likewise.
15332 (grub_cpu_to_le16_compile_time): Likewise.
15333
f420a804
VS
153342010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * util/grub-setup.c (setup): Stop recommending --force. People who
15337 understand the dangers of blocklists are able to find this option
15338 anyway and the ones who don't shouldn't use it anyway.
15339
4e7db17b
RM
153402010-11-26 Robert Millan <rmh@gnu.org>
15341
15342 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
15343 Update all users.
15344
9be57a0d
CW
153452010-11-26 Colin Watson <cjwatson@ubuntu.com>
15346
15347 Fix LVM-on-RAID probing.
15348
15349 * util/grub-probe.c (probe): Remember which disk was detected as
15350 RAID (perhaps an LVM physical volume). Use that disk's raidname
15351 rather than that of the top-level disk.
15352
2c7859b3 153532010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15354
d7647bb6
BC
15355 Fix cmdline argument quotes for setparams command of menuentry
15356 definitions.
7e623b0d
BC
15357
15358 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15359 quotes for arguments.
f866fe80 15360 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 15361 grub_strchrsub function instead.
f866fe80 15362
7955bea0 15363 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 15364
74f72a64
CW
153652010-11-24 Colin Watson <cjwatson@ubuntu.com>
15366
15367 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
15368 effort by skipping "." and ".." entries up-front.
15369 Suggested by: Michael Lazarev.
15370
5a407278
CW
153712010-11-24 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
15374 ldflags to ldadd, to fix link line ordering.
15375 (none_decompress): Likewise.
15376
3030d8ec
CW
153772010-11-24 Colin Watson <cjwatson@ubuntu.com>
15378
15379 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
15380 platforms.
15381 (grub-emu-lite): Remove kern/emu/cache.S.
15382
b7fbac12
CW
153832010-11-23 Colin Watson <cjwatson@ubuntu.com>
15384
15385 * util/deviceiter.c (compare_devices): If the by-id link for a
15386 device couldn't be resolved, fall back to sorting by the by-id link
15387 rather than segfaulting.
15388 Reported and tested by: Daniel Mierswa.
15389
5225f328
CW
153902010-11-23 Colin Watson <cjwatson@ubuntu.com>
15391
15392 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
15393 ldflags, to fix link line ordering.
15394
038b3ce8
CW
153952010-11-23 Colin Watson <cjwatson@ubuntu.com>
15396
15397 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
15398 linkers are picky about this.
15399
bf16e98e
CW
154002010-11-23 Colin Watson <cjwatson@ubuntu.com>
15401
15402 * grub-core/Makefile.am (command.lst): Adjust sed expression
15403 ordering so that extended and priority commands aren't treated as
15404 ordinary commands.
15405
7242bab6
CW
154062010-11-23 Colin Watson <cjwatson@ubuntu.com>
15407
15408 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15409 Remove byte-swapping function calls, which are not valid in
15410 structure initialisers.
15411 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
15412 non-const.
15413 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
15414 grub_gpt_partition_type_bios_boot.
15415
14e8b279
CW
154162010-11-22 Colin Watson <cjwatson@ubuntu.com>
15417
15418 Fix test program build on GNU/kFreeBSD.
15419
15420 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
15421 $(LIBNVPAIR)' library dependencies.
15422
e6f63338 154232010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
15424
15425 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15426
cf8ffc38
CW
154272010-11-22 Colin Watson <cjwatson@ubuntu.com>
15428
15429 * util/grub-install.in: Remove excessive quoting that broke
15430 installations to RAID devices.
15431
7f8b0fd7
VS
154322010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
15435 bootloader version instead of 0.
15436
dfd240b1
VS
154372010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15440 warning.
15441
7b61e609
VS
154422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
15445 retrieve the metadat sector if size isn't known.
15446 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15447
9dfe92d0
RM
154482010-11-18 Robert Millan <rmh@gnu.org>
15449
15450 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
15451 with grub_memcmp().
15452
41cc919e
VS
154532010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
15456 arrow.
15457 Reported by: Jordan Uggla.
15458
1afcc914
VS
154592010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 Make better UTF compliant.
15462
15463 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15464 sequences as incorrect.
15465 (grub_is_valid_utf8): Likewise.
15466 (grub_utf8_to_ucs4): Likewise.
15467 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15468 (grub_ucs4_to_utf8_alloc): Likewise.
15469 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15470
f1808884
VS
154712010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Make legacy_source behave like source.
15474
15475 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15476 grub_show_menu.
15477 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15478
24ec575b
CW
154792010-11-16 Colin Watson <cjwatson@debian.org>
15480
15481 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15482 (-Wunused implies -Wunused-parameter, but not vice versa).
15483
72b7c7aa
CW
154842010-11-16 Colin Watson <cjwatson@ubuntu.com>
15485
15486 * configure.ac: Make error messages less confusing by testing for
15487 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15488 accepted, but produces a diagnostic if something else is wrong).
15489
e98937aa
VS
154902010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15493 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15494 (now unused).
15495 (grub_keyboard_controller_init)
15496 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15497 read the initial state since controller isn't inited yet.
15498
f6bbabc3
VS
154992010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15502 allocate_regbeg may need to create new chunk header.
15503
22e7dbb2
VS
155042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 Fix quoting in legacy parser.
15507
15508 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15509 single quotes.
15510 (grub_legacy_parse): Likewise.
15511 Reported by: Jordan Uggla.
15512 Tested by: Jordan Uggla.
15513
03f80960
VS
155142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 Don't add -lgcc on i386 and x86_64.
15517
15518 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15519 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15520 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15521
779dc15b
VS
155222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 * configure.ac: Add -Wno-trampolines when supported.
15525
d20a3b37
MV
155262010-11-14 Modestas Vainius <modax@debian.org>
15527
15528 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15529 fakeraid.
15530
e5360933
GC
155312010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15532
15533 Add generic logical block size support for UDF.
15534
15535 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15536 (GRUB_UDF_BLKSZ): Removed.
15537 (struct grub_udf_data): New field "lbshift" to hold the logical block
15538 size of the file system in log2 format. All users updated.
15539 (sblocklist): Change type to unsigned.
15540 (grub_udf_mount): Change type of "sblklist" to unsigned.
15541 Move AVDP search before VRS recognition, because the latter requires
15542 knowledge of the logical block size, which is detected during the
15543 former.
15544 Detect and validate logical block size during AVDP search, adding
15545 support for block sizes 512, 1024 and 4096.
15546 Make VRS recognition independent of block size.
15547
cb0229c5
GC
155482010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15549
15550 Properly handle deleted files on UDF.
15551
15552 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15553 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15554 set.
15555
406858a8
GC
155562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15557
15558 Support reading files larger than 2 GiB.
15559
15560 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15561 "offset" to grub_off_t.
15562 (grub_udf_read_file): Likewise for parameter "pos".
15563
130da6a7
VS
155642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15567 unavailable.
15568 (Simple configuration): Refer to Changes from GRUB Legacy about
15569 save_env availability.
15570
65e93f6b
VS
155712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * util/grub-install.in: Ignore empty partition table detection
15574 instead of trying to include part_ module.
15575
1fd08bf1
VS
155762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15579 LVM on RAID support.
15580
de1a024f
VS
155812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 Properly define WORDS_BIGENDIAN in wrapped environments.
15584
15585 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15586 definition.
15587 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15588
15589 Reported by: Manoel Rebelo Abranches.
15590 Tested by: Manoel Rebelo Abranches.
15591
bc5dd0b9
VS
155922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * util/grub-mkconfig.in: Fix quoting.
15595
58c184be
VS
155962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 Support big ext2 files.
15599
15600 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15601 (grub_ext2_read_block): Support triple indirect blocks.
15602 (grub_ext2_read_file): Use 64-bit types and read size_high.
15603 (grub_ext2_open): Read size_high.
15604 Reported by: Ximin Luo.
15605 Tested by: Manoel Rebelo Abranches.
15606
5f0c02b3
VS
156072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * util/grub-install.in: Handle filenames containing spaces.
15610 Reported by: Jordan Uggla.
15611 Tested by: Jordan Uggla.
15612
4417aae6
VS
156132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * util/grub-mkconfig.in (grub_script_check): New variable.
15616 Use grub_script_check instead of grub-script-check.
15617 Reported by: Barry Jackson.
15618
7625a68e
VS
156192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * docs/grub.texi (menu): Correct the order.
15622 Reported by: D. Hugh Redelmeier.
15623
10001ac5
VS
156242010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15627 jump.
15628
9c4cf53b
MRA
156292010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15630
10001ac5
VS
15631 * include/grub/elfload.h (grub_elf32_size): New parameter.
15632 All users updated.
9c4cf53b
MRA
15633 Return maximum segments alignment.
15634 (grub_elf64_size): Likewise.
15635 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15636 Return maximum segments alignment.
15637 (grub_elf64_size): Likewise.
15638 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
15639 (grub_linux_claimmap_iterate): New function. Uses the
15640 "available" property in the "memory" node for memory allocation
15641 for kernel in the PowerPC loader.
9c4cf53b
MRA
15642 (grub_linux_load32): Correctly find linux entry point offset.
15643 (grub_linux_load64): Likewise.
15644
d2bf06bf
RM
156452010-11-07 Robert Millan <rmh@gnu.org>
15646
15647 On mips-yeeloong, build with -march=loongson2f when this flag is
15648 available (GCC >= 4.4).
15649 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15650 `-march=mips3'.
15651 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15652 or otherwise add -march=mips3.
15653
898c99a2
BC
156542010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15655
87220a68
BC
15656 Suppress shell expansion on echo '*' and echo "*" like cases.
15657 Reported by: Jordan Uggla.
898c99a2
BC
15658
15659 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15660 string arguments before shell expansion.
15661 * tests/grub_cmd_echo.in: New testcases.
15662
4f9b406a
RM
156632010-11-07 Robert Millan <rmh@gnu.org>
15664
15665 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15666 transition.
15667
80c6d25e
VS
156682010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * grub-core/kern/emu/hostdisk.c
15671 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15672
4a1a0153
VS
156732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15676 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15677 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15678
34706ddc
VS
156792010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15682
6972dea9
VS
156832010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 * util/grub-install.in: Replace useless recomendation to pass
15686 --modules with a recomendation to report a bug.
15687
9c693bd6
VS
156882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 Properly register serial terminfo.
15691 Reported by: Jordan Uggla
15692
15693 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15694 const.
15695 (grub_serial_terminfo_output_template): Likewise.
15696 (grub_cmd_serial): Register "serial" with terminfo.
15697 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15698 grub_serial_terminfo_output.
15699
6c9e4c0c
RM
157002010-11-05 Robert Millan <rmh@gnu.org>
15701
15702 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15703 needed).
15704
b9b3839f
RM
157052010-11-05 Robert Millan <rmh@gnu.org>
15706
15707 On Yeeloong, pass machine type information to Linux.
15708
15709 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15710 (LOONGSON_MACHTYPE): New macro, set to
15711 "machtype=lemote-yeeloong-2f-8.9inches".
15712 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15713 additional argument to Linux.
15714
1a3aaff4
RM
157152010-11-04 Robert Millan <rmh@gnu.org>
15716
15717 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15718 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15719 (its SATA disks are detected as slaveless IDE master drives on
15720 kFreeBSD).
15721 Reported by Carsten Aulbert.
15722
a75f4f62
CW
157232010-11-02 Colin Watson <cjwatson@ubuntu.com>
15724
15725 * util/bin2h.c (main): Fix spelling error in generated output.
15726
33b4b0c6
GS
157272010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15728
15729 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15730
2b36fbf4
VS
157312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15734 vga= option is supplied.
15735
74aaf558
VS
157362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15739 * util/grub.d/10_kfreebsd.in: Likewise.
15740 * util/grub.d/10_linux.in: Likewise.
15741 * util/grub.d/20_linux_xen.in: Likewise.
15742
6428dec3
VS
157432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15746 argument as an argument to no-argument option.
15747
f8729d98
VS
157482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * util/grub.d/10_linux.in: Add missing load_video with explicit
15751 GRUB_GFXPAYLOAD_LINUX.
15752
89d68fa6
VS
157532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15756
3a1197cd
VS
157572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15760 elements with invlid index.
15761 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15762 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15763 members.
15764 * include/grub/raid.h (grub_raid_member): New struct.
15765 (grub_raid_array): Transform devices and start_sector into usage of
15766 grub_raid_member. All users updated
15767 (allocated_devs): New member.
15768
71574288
VS
157692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15772 is modified
15773
8d40ec65
BC
157742010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15775
15776 NetBSD build fix for getline function conflict from gnulib.
15777
15778 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15779 components that depend on gnulib headers.
15780 (libgrubmods.a): Renamed from earlier libgrub.a.
15781 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15782
95b9257e
VS
157832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15786 install rather than creating a broken install.
15787
26c53dc6
VS
157882010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * util/grub-setup.c (argp): Remove misleading example of installing to
15791 a partition.
15792
4171b3c5
VS
157932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * util/grub-setup.c (setup): Clarify the error message.
15796
18568d18
VS
157972010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15800
4f6a2e21
VS
158012010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/kern/emu/misc.c
15804 (grub_make_system_path_relative_to_its_root)
15805 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15806
158072010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
15808
15809 * grub-core/kern/emu/misc.c
15810 (grub_make_system_path_relative_to_its_root): Revert r2882.
15811
e138c458
VS
158122010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15815 useless field head. All users updated.
15816 (free_subchunk): Correct handling of IN_REGION subchunk.
15817
0cbcdf0e
CW
158182010-10-22 Colin Watson <cjwatson@ubuntu.com>
15819
15820 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15821 (Supported kernels): Likewise.
15822
b65ea155
GS
158232010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15824
15825 Make mktemp invocations portable.
15826
15827 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15828 exit if mktemp fails.
15829 * tests/grub_script_blockarg.in: Likewise.
15830 * tests/partmap_test.in: Likewise.
15831 * tests/util/grub-shell-tester.in: Likewise.
15832 * tests/util/grub-shell.in: Likewise.
15833 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15834 * Makefile.am: Likewise, and chain shell commands with `&&'
15835 instead of ';'.
15836 * util/grub-mkrescue.in: Use the same explicit template as above, and
15837 exit if mktemp fails.
15838
05f43cdd
BC
158392010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15840
15841 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15842 Linux kernel, reported by Dennis Schridde.
15843
800e6a9b
SJ
158442010-10-17 Szymon Janc <szymon@janc.net.pl>
15845
15846 * grub-core/normal/auth.c (grub_auth_check_authentication):
15847 Set-but-not-used variable removed.
15848
d82df574
VS
158492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15852 32-bit linux protocol.
15853
7bced458
VS
158542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15857 cursor shape for sanity.
15858
5b027690
VS
158592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * docs/grub.texi (Installation): Document buggy BIOS install.
15862
ba5f65cf
VS
158632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * docs/grub.texi (Installation): Indent.
15866
fdf2ec9c
VS
158672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * util/grub-setup.c (setup): New parameter allow_floppy.
15870 (arguments): New member allow_floppy.
15871 (argp_parser): Handle --allow-floppy.
15872 (main): Pass allow_floppy.
15873 * util/grub-install.in: New option --allow-floppy passed though to
15874 grub-setup.
15875
861dfd4c
VS
158762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * util/grub-install.in: Handle partitionless disks.
15879
f77a8c24
VS
158802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * util/grub-setup.c (setup): Don't clean blocklists before readability
15883 verfification.
15884
27d9ee32
VS
158852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * docs/grub.texi (Installation): Document embedding zone. Remove
15888 obsolete grub-install example.
15889
6bdda8f8
SJ
158902010-10-16 Szymon Janc <szymon@janc.net.pl>
15891
15892 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15893 Set-but-not-used variable ifdef'ed.
15894 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15895 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15896 variable removed.
15897 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15898 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15899 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15900 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15901 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15902 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15903 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15904 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15905 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15906 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15907 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15908 Likewise.
15909
e19b016b
VS
159102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15913 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15914 enum value.
15915
6c8d3002
VS
159162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15919 synonym to _S5_. Needed for some DSDTs.
15920
c32b51c9
VS
159212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 Userspace ACPI parser debugging.
15924
15925 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15926 headers and add relevant defines. Don't include standard headers.
15927 (main) [GRUB_DSDT_TEST]: New function.
15928 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15929 Don't declare functions.
15930
fbfbeb39
VS
159312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 Remove dead grub_efi_mm_fini.
15934
15935 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15936 (ALLOCATED_PAGES_SIZE): Likewise.
15937 (MAX_ALLOCATED_PAGES): Likewise.
15938 (allocated_pages): Likewise.
15939 (grub_efi_allocate_pages): Don't record allocated pages.
15940 (grub_efi_free_pages): Likewise.
15941 (grub_efi_mm_init): Likewise.
15942 (grub_efi_mm_fini): Removed.
15943
65f7ed7c
VS
159442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15947 (grub_efi_mm_init): Take into account the memory map size increase.
15948
24977b44
VS
159492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15952 (serial_hw_put): Wait based on real time rather than port reads. Don't
15953 roken ports.
15954 * include/grub/serial.h (grub_serial_port): New field broken.
15955
1eb01cd2
RM
159562010-10-16 Robert Millan <rmh@gnu.org>
15957
15958 * grub-core/kern/emu/misc.c
15959 (grub_make_system_path_relative_to_its_root): Fix premature return
15960 when processing non-root ZFS filesystems.
5f8b440b 15961 Reported by Sergio Talens-Oliag.
1eb01cd2 15962
2d5fed60
RM
159632010-10-15 Robert Millan <rmh@gnu.org>
15964
15965 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15966 guarantee compressed ones are processed first.
15967
d0f4c1ea
VS
159682010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15971 grub_efiemu_autocore.
15972
d87c681f
VS
159732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15976 rather than 0x1b.
15977 (grub_console_getkey): Use correct jae opcode rather than ja.
15978
219b3564
RM
159792010-10-12 Robert Millan <rmh@gnu.org>
15980
15981 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15982 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15983 variable. All references updated.
15984
15985 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15986
20c6bb7e
VS
159872010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 Correctly distinguish mdraid flavours.
15990
15991 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15992 (insert_array): New argument raid.
15993 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15994 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15995 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15996
74baff84
VS
159972010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16000 handling of special keys.
16001
3ef068df 160022010-10-02 Aleš Nesrsta <starous@volny.cz>
16003
c7980ad9
VS
16004 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16005 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 16006
a9455194 160072010-10-02 Aleš Nesrsta <starous@volny.cz>
16008
c7980ad9
VS
16009 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16010 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16011 users updated.
a9455194 16012 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16013 Use right endpoint when querying descriptor.
a9455194 16014
441cfe65
VS
160152010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Clear out 0x80 color bit on EFI.
16018 Tested by: decoder
16019 Reported by: decoder and meta tech.
16020
16021 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16022 (grub_console_setcolorstate): Clear out 0x80 bit.
16023 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16024 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16025 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16026
bf26bcc4
VS
160272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16030 Set to "auto".
16031
6e3c515d
VS
160322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16035 mo_file after freeing.
16036
e6d983ba
VS
160372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16040
74ccb5b5
VS
160412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16044 flags.
16045
17821956
VS
160462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16049 usage.
16050
ee74fa48
VS
160512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16054
16055 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16057 and terminfo.h when needed.
16058 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16059 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16060 (terminfo): Enable only on terminfokernel.
16061 (extcmd): Likewise.
16062 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16063 * include/grub/lib/arg.h: Likewise.
16064 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16065 incorrect usage of ->.
16066
aa438e68
VS
160672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16070 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16071
57994012
VS
160722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 Fix coreboot compilation.
16075
16076 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16077 Take VBE info into account even if only text is supported.
16078 (fill_vbe_info): Take into account the case when only VGA text
16079 is supported.
16080 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16081 on coreboot, multiboot and qemu.
16082
2a406611
VS
160832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16086 debug messages.
16087 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16088
d33613fc
VS
160892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16092 parameters.
16093
44a1b432
VS
160942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16097 if they were BSD-style.
16098
edde54e6
VS
160992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * grub-core/boot/i386/pc/lnxboot.S: Replace
16102 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16103 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16104
b65830fa
VS
161052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 Write embedding zone using Reed-Solomon.
16108
16109 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16110 * grub-core/Makefile.am (rs_decoder.S): New target.
16111 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16112 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16113 (multiboot): Move to RS part.
16114 (post_reed_solomon): New label.
16115 (grub_boot_drive): Move to non-RS part since it's modified in memory
16116 on boot.
16117 Include rs_decoder.S.
16118 * grub-core/lib/reed_solomon.c: New file.
16119 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16120 New definition.
16121 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16122 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16123 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16124 * include/grub/partition.h (grub_partition_map): Change prototype of
16125 embed to allow returning additional sectors.
16126 * include/grub/reed_solomon.h: New file.
16127 * util/grub-setup.c (setup): Handle Reed-Solomon.
16128
0b4b227f
CW
161292010-09-28 Colin Watson <cjwatson@ubuntu.com>
16130
16131 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16132 i386 and x86-64 definedness tests.
16133
f772623b
YB
161342010-09-27 Yves Blusseau <blusseau@zetam.org>
16135
16136 Fix generation of kernel_syms.lst
16137
16138 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16139 ASM_PREFIX
16140
8e57a6ca
RM
161412010-09-26 Robert Millan <rmh@gnu.org>
16142
16143 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16144
16145 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16146 the pool is an array of devices, iterate through it and return the
16147 first device that passes a stat() test (instead of blindly returning
16148 the first one).
16149
f9130836
RM
161502010-09-26 Robert Millan <rmh@gnu.org>
16151
16152 Build fixes for GNU/kFreeBSD.
16153
16154 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16155 to programs that require ZFS conversion.
16156 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16157 kernels that don't have FLOPPY_MAJOR.
16158
96510faf
BC
161592010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16160
16161 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16162
449333eb
BC
161632010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16164
16165 Fix grub-emu build.
16166
16167 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16168 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16169 mdraid09 and mdraid1x.
16170
e1fd1939
CW
161712010-09-24 Colin Watson <cjwatson@ubuntu.com>
16172
16173 Re-enable grub-extras.
16174
16175 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16176 avoid confusing Automake. Run autogen only twice, once for the top
16177 level and once for grub-core. Add Makefile.util.def and
16178 Makefile.core.def from extra modules to the appropriate autogen
16179 invocations. If Makefile.common exists in an extra module, include
16180 it in both Makefile.util.am and grub-core/Makefile.core.am;
16181 similarly, include any Makefile.util.common file in Makefile.util.am
16182 and any Makefile.core.common file in grub-core/Makefile.core.am.
16183 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16184 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16185 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16186 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16187
16188 * gentpl.py (gvar_add): Turn GVARS into a set.
16189 (global_variable_initializers): Sort global variables on output.
16190 (vars_init): New function.
16191 (first_time): Likewise.
16192 (library): Ensure that non-global variable initialisations are
16193 emitted before the first time we emit code for a library block.
16194 Append to variables rather than setting them. Only emit
16195 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16196 each conditional path.
16197 (program): installdir() emits an Autogen macro, so must be passed to
16198 var_add rather than gvar_add.
16199 (data): Likewise.
16200 (script): Likewise.
16201 (rules): New function, centralising handling for different target
16202 types. Set up Guile association lists for first_time and vars_init,
16203 and send most output to a diversion so that variable initialisations
16204 can be emitted first.
16205 (module_rules): Use new rules function.
16206 (kernel_rules): Likewise.
16207 (image_rules): Likewise.
16208 (library_rules): Likewise.
16209 (program_rules): Likewise.
16210 (script_rules): Likewise.
16211 (data_rules): Likewise.
16212
16213 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16214
16215 * .bzrignore: Add contrib and grub-core/contrib. Remove
16216 grub-core/Makefile.gcry.am.
16217
1d12cf29
YB
162182010-09-24 Yves Blusseau <blusseau@zetam.org>
16219
16220 * grub-core/lib/LzFind.c: Add missing include.
16221 * grub-core/lib/LzmaEnc.c: Likewise.
16222 * grub-core/script/lexer.c: Likewise.
16223 * grub-core/script/yylex.l: Likewise.
16224 * util/grub-macho2img.c: Likewise.
16225 * util/grub-menulst2cfg.c: Likewise.
16226 * util/grub-mklayout.c: Likewise.
16227 * util/grub-mkpasswd-pbkdf2.c
16228 * util/grub-mkrelpath.c: Likewise.
16229 * util/resolve.c: Likewise.
16230
dd363028
BC
162312010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16232
16233 * Makefile.util.def (example_unit_test): Add
16234 grub-core/gnulib/libgnu.a.
16235
f5a109e2
GS
162362010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16237
16238 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16239
6d0fa83c
VS
162402010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 Support xz compression on yeeloong.
16243
16244 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16245 * configure.ac: Check for LZMA.
16246 * grub-core/Makefile.core.def (xz_decompress): New target.
16247 (none_decompress): Likewise.
16248 * grub-core/boot/decompressor/minilib.c: New file.
16249 * grub-core/boot/decompressor/none.c: Likewise.
16250 * grub-core/boot/decompressor/xz.c: Likewise.
16251 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16252 * grub-core/kern/mips/cache_flush.S: Likewise.
16253 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16254 * grub-core/kern/mips/startup.S: Move first stage to ...
16255 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16256 nomacro.
16257 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16258 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16259 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16260 Allocate statically.
16261 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16262 Allocate statically or use scratch. Don't check CRC32.
16263 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16264 Allocate statically. Don't check CRC32.
16265 * include/grub/decompressor.h: New file.
16266 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16267 Removed.
16268 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16269 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16270 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16271 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16272 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16273 * util/grub-mkimage.c (grub_compression_t): New type.
16274 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16275 (image_target_desc): New field default_compression.
16276 (image_targets): Adjust yeeloong targets.
16277 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16278 (compress_kernel): New parameter comp.
16279 (generate_image): Likewise. Handle new compression case.
16280 (options): New option --compression
16281 (help): Likewise.
16282 (main): Handle new option.
16283
1b655af6
GS
162842010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16285
16286 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16287
8f03f0b5
CW
162882010-09-22 Colin Watson <cjwatson@ubuntu.com>
16289
16290 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16291 typo in __i386__ conditional.
16292
7835dfd3
VS
162932010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16296 include.
16297
e255597e
VS
162982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16299
6d0fa83c 16300 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
16301
16302 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
16303 new tags as supported.
16304 (acpiv2_size): New function.
16305 (grub_multiboot_get_mbi_size): Take new tags into account.
16306 (grub_multiboot_make_mbi): Add new tags.
16307 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 16308
6cc14051 163092010-09-21 Aleš Nesrsta <starous@volny.cz>
16310
16311 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
16312 Added missing configuration of USB device.
16313
df7769d8
CW
163142010-09-21 Colin Watson <cjwatson@ubuntu.com>
16315
16316 * grub-core/normal/menu_entry.c (run): Make sure we always return
16317 a value.
16318
b031012d
CW
163192010-09-21 Colin Watson <cjwatson@ubuntu.com>
16320
16321 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
16322 NumberOfPages is UINT64 according to the UEFI specification, not
16323 UINTN. Fix printf format.
16324
174de8f3
CW
163252010-09-21 Colin Watson <cjwatson@ubuntu.com>
16326
16327 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
16328 `err' to grub_usb_err_t.
16329 Reported and tested by: KESHAV P.R.
16330
d7dbe923
CW
163312010-09-21 Colin Watson <cjwatson@ubuntu.com>
16332
16333 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
16334 tpart non-const, so that we can assign to it. (Since this is a
16335 typedef, the constness refers to the pointer rather than what it
16336 points to.)
16337
8d5e2af3
CW
163382010-09-21 Colin Watson <cjwatson@ubuntu.com>
16339
16340 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
16341 $(top_srcdir)/grub-core/gnulib as well as
16342 $(top_builddir)/grub-core/gnulib.
16343 Reported by: KESHAV P.R.
16344
5c527783
CW
163452010-09-21 Colin Watson <cjwatson@ubuntu.com>
16346
16347 * util/grub-install.in: Fix the bootloader ID option to be
16348 consistently --bootloader-id, not --bootloader_id.
16349 Reported by: KESHAV P.R.
16350
d309a16e
CW
163512010-09-21 Colin Watson <cjwatson@ubuntu.com>
16352
16353 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
16354 check hash checksum." consistently translatable.
16355
b830cd16
YB
163562010-09-21 Yves Blusseau <blusseau@zetam.org>
16357
16358 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16359 $(top_builddir).
16360
c4fe27a8
CW
163612010-09-21 Colin Watson <cjwatson@ubuntu.com>
16362
16363 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
16364 (GRUB_MOD_INIT): Register sha1sum command.
16365 (GRUB_MOD_FINI): Unregister sha1sum command.
16366
a4c1d277
YB
163672010-09-21 Yves Blusseau <blusseau@zetam.org>
16368
16369 Keep boot and grub directory names in sync with utils scripts
16370
16371 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
16372 * config.h.in: Add previous macros.
16373 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
16374 * util/grub-install.in: Use $bootdir and $grubdir variables.
16375
4eff79d2
CW
163762010-09-21 Colin Watson <cjwatson@ubuntu.com>
16377
16378 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
16379 convert partition names to disk names if the new `convert' parameter
16380 is set.
16381 (grub_util_biosdisk_get_grub_dev): If opening the disk device
16382 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
16383 disk in its own right. This can happen with Xen disk images.
16384
934d7e44
YB
163852010-09-21 Yves Blusseau <blusseau@zetam.org>
16386
16387 * util/grub-editenv.c: Update strings to avoid warnings when generating
16388 grub.pot file.
16389 * util/grub-setup.c: Likewise.
934d7e44 16390
df3367cc
VS
163912010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * configure.ac: Change version to 1.99~beta0.
16394
77a94e98
VS
163952010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16398 Add BADRAM.
16399 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
16400 Likewise.
16401 * include/multiboot.h: Resynced with specification.
16402 * include/multiboot2.h: Likewise.
16403
269004c1
CW
164042010-09-21 Colin Watson <cjwatson@ubuntu.com>
16405
16406 Fix po directory handling.
16407
16408 * configure.ac: Create po/Makefile.in rather than po/Makefile.
16409 * grub-core/gnulib/Makefile.am: Import gettext module.
16410 * m4/gnulib-cache.m4: Likewise.
16411 * m4/gnulib-comp.m4: Likewise.
16412 * m4/gettext.m4: New file, from gnulib.
16413 * m4/glibc2.m4: Likewise.
16414 * m4/iconv.m4: Likewise.
16415 * m4/intdiv0.m4: Likewise.
16416 * m4/intl.m4: Likewise.
16417 * m4/intldir.m4: Likewise.
16418 * m4/intlmacosx.m4: Likewise.
16419 * m4/intmax.m4: Likewise.
16420 * m4/inttypes-pri.m4: Likewise.
16421 * m4/lcmessage.m4: Likewise.
16422 * m4/lib-ld.m4: Likewise.
16423 * m4/lib-link.m4: Likewise.
16424 * m4/lib-prefix.m4: Likewise.
16425 * m4/lock.m4: Likewise.
16426 * m4/nls.m4: Likewise.
16427 * m4/po.m4: Likewise.
16428 * m4/printf-posix.m4: Likewise.
16429 * m4/progtest.m4: Likewise.
16430 * m4/threadlib.m4: Likewise.
16431 * m4/uintmax_t.m4: Likewise.
16432 * m4/visibility.m4: Likewise.
16433 * po/Makefile.am: Remove.
16434 * po/Makefile.in.in: New file, from gettext.
16435 ($(DOMAIN).pot-update): Support POTFILES-shell.
16436 * po/Makevars: New file.
16437 * po/POTFILES-shell: Rename to ...
16438 * po/POTFILES-shell.in: ... this. Update.
16439 * po/POTFILES: Rename to ...
16440 * po/POTFILES.in: ... this. Update.
16441 * po/Rules-quot: New file, from gettext.
16442 * po/boldquot.sed: Likewise.
16443 * po/en@boldquot.header: Likewise.
16444 * po/en@quot.header: Likewise.
16445 * po/insert-header.sin: Likewise.
16446 * po/quot.sed: Likewise.
16447 * po/remove-potcdate.sin: Likewise.
16448
3e0fa5d0
VS
164492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16452
ade9bd66
VS
164532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * util/grub.d/20_linux_xen.in: Use submenus.
16456
fc55cc4c
VS
164572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 Support submenus.
16460
16461 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16462 parameter submenu. All users updated.
16463 * grub-core/normal/main.c (free_menu): Rename to ...
16464 (grub_normal_free_menu): ... this. Made global.
16465 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16466 if requested.
16467 * grub-core/normal/menu_entry.c (screen): New field submenu.
16468 (make_screen): Set submenu.
16469 (run): Open new context if requested.
16470 * include/grub/menu.h (grub_menu_entry): New field submenu.
16471 * include/grub/normal.h (grub_normal_free_menu): New proto.
16472
600cedf7
VS
164732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Menu entries extractor.
16476
16477 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16478 variants.
16479 (GRUB_MOD_INIT): Register new variants.
16480 (GRUB_MOD_FINI): Unregister new variants.
16481 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16482 into grub_cmd_legacy_source.
16483 (grub_cmd_legacy_source): Implement extractor variants.
16484 (GRUB_MOD_INIT): Register new variants.
16485 (GRUB_MOD_FINI): Unregister new variants.
16486 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16487 as an extractor.
16488 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16489 search as an extractor.
16490 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16491 test as an extractor.
16492 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16493 as an extractor.
16494 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16495 (grub_env_new_context): New function.
16496 (grub_env_context_open): Likewise.
16497 (grub_env_extractor_open): Likewise.
16498 (grub_env_extractor_close): Likewise.
16499 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16500 grub_extractor_level.
16501 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16502 * include/grub/env.h (grub_env_extractor_open): New proto.
16503 (grub_env_extractor_close): Likewise.
16504 * include/grub/normal.h (grub_extractor_level): New external variable.
16505
7bda3a87
VS
165062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 Make cutmem accept a region specification.
16509 Suggested by: Samuel Thibault
16510
16511 * grub-core/mmap/mmap.c (parsemem): New function.
16512 (grub_cmd_cutmem): Handle new arguments.
16513
2ea57f88
VS
165142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 New command cutmem.
16517
16518 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16519 (GRUB_MOD_INIT): Register new command.
16520 (GRUB_MOD_FINI): Unregister new command.
16521
74342e31
VS
165222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 Support some annoying BSD and Minix subpartitions.
16525
16526 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16527 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16528 Properly handle concatenation.
16529 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16530 * grub-core/normal/completion.c (iterate_partition): Likewise.
16531 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16532 contain partition. All users updated.
16533 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16534 struct.
16535 (grub_openbsdlabel_partition_map): Likewise.
16536 (bsdlabel_partition_map_iterate): Rename to ..
16537 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16538 (bsdlabel_partition_map_iterate): New function.
16539 (netopenbsdlabel_partition_map_iterate): Likewise.
16540 (netbsdlabel_partition_map_iterate): Likewise.
16541 (openbsdlabel_partition_map_iterate): Likewise.
16542 (GRUB_MOD_INIT): Register new partmaps.
16543 (GRUB_MOD_FINI): Unregister new partmaps.
16544 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16545 (grub_partition_msdos_iterate): ... this. All users updated.
16546 Don't support embedding other than in a minix partition.
16547 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16548 proto.
16549 * include/grub/partition.h (grub_partition): New field msdostype.
16550 * util/grub-install.in: Handle openbsd and netbsd types being in
16551 part_bsd module.
16552
1e8d555b
VS
165532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16556
16557 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16558 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16559 (mdraid09): ... this.
16560 (mdraid1x): New module.
16561 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16562 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16563
899d8af4
VS
165642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16567 vsprintf.
16568
40901acd
CW
165692010-09-20 Colin Watson <cjwatson@ubuntu.com>
16570
16571 * grub-core/commands/efi/lsefimmap.c: Correct header.
16572 * NEWS: Update.
16573
dfe3b247
CW
165742010-09-20 Colin Watson <cjwatson@ubuntu.com>
16575
16576 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16577 as printf format strings; the translations might contain '%' which
16578 could cause a crash.
16579 (main): Likewise.
16580 * util/grub-fstest.c (argp_parser): Likewise.
16581 * util/grub-setup.c (argp_parser): Likewise.
16582 (main): Likewise.
16583
3286a4b4
VS
165842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 Use argp in grub-fstest.
16587
16588 * util/grub-fstest.c: Don't include getopt.h.
16589 Include argp.h.
16590 (root): New variable.
16591 (args_count): Likewise.
16592 (nparm): Likewise.
16593 (num_disks): Likewise.
16594 (images): Likewise.
16595 (cmd): Likewise.
16596 (debug_str): Likewise.
16597 (args): Likewise.
16598 (options): Transformed to argp.
16599 (usage): Removed.
16600 (main): Split argument parsing into ...
16601 (argp_parser): ... this. Changed to argp format.
16602 (argp): New variable.
16603 (main): Use argp_parse.
16604
3dccbe4b
TG
166052010-09-20 Tristan Gingold <gingold@free.fr>
166062010-09-20 Robert Millan <rmh.grub@aybabtu.com>
166072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * grub-core/commands/efi/lsefimmap.c: New file.
16610 * grub-core/Makefile.core.def (lsefimmap): New module.
16611 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16612
38c259a7
VS
166132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 Pause the execution (10s max) if any errors are displayed so the user
16616 has a chance to see them.
16617
16618 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16619 (grub_print_error): Increment grub_err_printed_errors.
16620 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16621 execution if any errors were displayed.
16622 (show_menu): Remove old code for pause.
16623 * grub-core/normal/menu_entry.c (run): Likewise.
16624 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16625 users updated.
16626 (grub_normal_get_char_counter): Likewise.
16627 * include/grub/err.h (grub_err_printed_errors): New external variable.
16628 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16629
f218b09c
VS
166302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 Support multiboot VBE info.
16633
16634 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16635 Take VBE info into account.
16636 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16637 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16638 Call fill_vbe_info when appropriate.
16639 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16640 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16641 as supported.
16642 (grub_multiboot_get_mbi_size): Take new tags into account.
16643 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16644 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16645 Call fill_vbe_tag when appropriate.
16646 (grub_multiboot_make_mbi): Properly align tags.
16647 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16648 function.
16649 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16650 proto.
16651 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16652
a9cc5438
VS
166532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 Suport manual terminal geometry specification.
16656
16657 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16658 Save state in grub_ofconsole_terminfo_output.
16659 (grub_ofconsole_term): Use grub_terminfo_getwh.
16660 (grub_ofconsole_getwh): Removed.
16661 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16662 (grub_serial_term): Use grub_terminfo_getwh.
16663 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16664 (options): New struct.
16665 (OPTION_*): New enum.
16666 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16667 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16668 width and height.
16669 (grub_terminfo_getwh): New proto.
16670 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16671
1a8fed20
VS
166722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 Handle legacy "terminal" command.
16675
16676 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16677 and FLAG_TERMINAL.
16678 (legacy_commands): Add terminal and title.
16679 (grub_legacy_parse): Handle terminal. Simplify title handling.
16680
41e9c57d
VS
166812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16684 parameters overflow.
16685
61c874c5
CW
166862010-09-20 Colin Watson <cjwatson@ubuntu.com>
16687
16688 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16689 widthspec.h.
16690
16691 * docs/grub.texi (Shell-like scripting): Document `!'.
16692 (Network): Simplify using new i386-pc-pxe format. Mention
16693 grub-mknetdir.
16694
16695 * NEWS: Update.
16696
943682b4
CW
166972010-09-20 Colin Watson <cjwatson@ubuntu.com>
16698
16699 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16700 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16701 when needed.
16702
6d3d698d
CW
167032010-09-20 Colin Watson <cjwatson@ubuntu.com>
16704
16705 * grub-core/commands/efi/lsefisystab.c: Correct header.
16706 * grub-core/commands/efi/lssal.c: Likewise.
16707 * grub-core/commands/testload.c: Likewise.
16708
c982589f
CW
167092010-09-20 Colin Watson <cjwatson@ubuntu.com>
16710
16711 * util/grub-mkrescue.in: Add explicit root argument to --set to
16712 prevent the UUID being interpreted as an argument to --set (matches
16713 previous change to prepare_grub_to_access_device).
16714
a63c31b6
CW
167152010-09-20 Colin Watson <cjwatson@ubuntu.com>
16716
16717 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16718 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16719 the verbosity of later #ifs.
16720 (find_partition_start): Define this function on FreeBSD too.
16721 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16722 function.
16723 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16724 on FreeBSD.
16725
6439b8ee
YB
167262010-09-20 Yves Blusseau <blusseau@zetam.org>
16727
16728 * util/grub-editenv.c: Use argp instead of getopt.
16729
c5930ec8
YB
167302010-09-20 Yves Blusseau <blusseau@zetam.org>
16731
16732 * util/grub-setup.c: Use argp instead of getopt.
16733
15c69261
YB
167342010-09-20 Yves Blusseau <blusseau@zetam.org>
16735
16736 Use gnulib-tool to create gnulib source files.
16737
16738 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16739 grub-core/gnulib directories
16740 * .bzignore: Add **/.deps and autogenerated gnulib files
16741 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16742 of gnulib macros, add grub-core/gnulib/Makefile
16743 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16744 include m4 directory to aclocal.
16745 * Makefile.util.def: Remove direct compilation of gnulib source files
16746 and use the new grub-core/gnulib/libgnu.a.
16747 * build-aux/config.rpath: move config.rpath from top directory to
16748 build-aux
16749 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16750 in gnulib headers
16751 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16752 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16753 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16754 header.
16755 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16756 string.
16757
e511c9f5
YB
167582010-09-20 Yves Blusseau <blusseau@zetam.org>
16759
16760 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16761 grub-core/genmod.sh and grub-core/gensyminfo.sh
16762
c2dede05
BC
167632010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16764
16765 Add a test for echo command options.
16766
16767 * tests/grub_cmd_echo.in: New test.
16768 * Makefile.util.def: Rules for new test.
16769
c55f5018
SJ
167702010-09-20 Szymon Janc <szymon@janc.net.pl>
16771
16772 Remove crc.mod and move crc command to hashsum.mod.
16773 Remove lib/crc.c - users updated to use gcrypt implementation.
16774
16775 * grub-core/commands/crc.c: Removed.
16776 * grub-core/Makefile.core.def (crc): Module removed.
16777 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16778 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16779 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16780 * grub-core/lib/crc.c: Removed.
16781 * include/grub/lib/crc.h: Removed.
16782 * Makefile.util.def (crc): Remove lib/crc.c
16783 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16784 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16785 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16786 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16787 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16788 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16789
e0337366
VS
167902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16793
742f9232
VS
167942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 Split config.h for util and core.
16797
16798 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16799 (ADDR32): Likewise.
16800 (DATA32): Likewise.
16801 (BSS_START_SYMBOL): Likewise.
16802 (END_SYMBOL): Likewise.
16803 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16804 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16805 * config.h.in: New file.
16806 * configure.ac: Use config-util.h as config define file.
16807 Rename MACHINE into GRUB_MACHINE. All users updated.
16808 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16809 updated.
16810 (NESTED_FUNC_ATTR): Likewise.
16811 Substitue new variables.
16812 (COND_HAVE_ASM_USCORE): New conditional.
16813 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16814 (kernel_syms.lst): Use ASM_PREFIX.
16815 * grub-core/kern/emu/console.c: Include config-util.h.
16816 * grub-core/kern/emu/misc.c: Likewise.
16817 * grub-core/kern/emu/mm.c: Likewise.
16818 * include/grub/emu/misc.h: Likewise.
16819 * include/grub/libgcc.h: Likewise.
16820
39feb0e8
VS
168212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16824 constants usage.
16825 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16826 Fix GRUB_TERM_KEY_* constants usage.
16827 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16828
9af6dac3
VS
168292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16832 print pointer.
16833 * grub-core/bus/usb/uhci.c: Remove empty define.
16834 (grub_uhci_check_transfer): Add missing cast.
16835 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16836 print pointer.
16837 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16838 PRIuGRUB_SIZE.
16839 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16840
d6d94820
VS
168412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * grub-core/Makefile.core.def (legacycfg): Add
16844 lib/i386/pc/vesa_modes_table.c on emu.
16845
3572f2b6
BC
168462010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16847
16848 Reduce number of temporary files generated by build system.
16849
16850 * grub-core/gencmdlist.sh: Removed.
16851 * grub-core/genfslist.sh: Removed.
16852 * grub-core/genhandlerlist.sh: Removed.
16853 * grub-core/genmodsrc.sh: Removed.
16854 * grub-core/genpartmaplist.sh: Removed.
16855 * grub-core/genparttoollist.sh: Removed.
16856 * grub-core/gentermiinallist.sh: Removed.
16857 * grub-core/genvideolist.sh: Removed.
16858
16859 * grub-core/genmod.sh.in: New file.
16860 * grub-core/gensyminfo.sh.in: New file.
16861
16862 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16863 * conf/Makefile.extra-dist: Update with new files.
16864 * gentpl.py: Remove rules related to unnecessary temporary files.
16865 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16866 and und-* files.
16867 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16868 genmod.sh scripts.
16869 * grub-core/bus/usb/uhci.c: Remove empty #define.
16870 * grub-core/genmoddep.awk: Updated with new syminfo format.
16871 * util/bash-completion.d/Makefile.am: Add config.log to
16872 CLEANFILES.
16873
c836b030
YB
168742010-09-19 Yves Blusseau <blusseau@zetam.org>
16875
16876 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16877
2f4e8053
BC
168782010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16879
16880 * util/grub-mkconfig.in: Check the config script for syntax errors
16881 before saving.
16882
75831c34
CW
168832010-09-19 Colin Watson <cjwatson@ubuntu.com>
168842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16887 platforms.
16888 * util/grub-install.in: Add EFI and IEEE1275 support.
16889 * util/i386/efi/grub-install.in: Removed.
16890 * util/ieee1275/grub-install.in: Likewise.
16891
eaf41b25
VS
168922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16895 (grub_cmd_cmosclean): Likewise.
16896 (GRUB_MOD_INIT): Register command cmosclean.
16897 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16898 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16899
1a9130dd
CPE
169002010-09-18 Carles Pina i Estany <carles@pina.cat>
169012010-09-18 Aleš Nesrsta <starous@volny.cz>
169022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Add keyboard layouts support.
16905
16906 * Makefile.util.def (grub-mklayout): New file.
16907 (grub-kbdcomp): New script.
16908 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16909 Add keyboard_layouts.h.
16910 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16911 commands/boot.c on yeeloong.
16912 (keylayouts): New module.
16913 * grub-core/bus/usb/ohci.c
16914 * grub-core/bus/usb/uhci.c
16915 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16916 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16917 (attach_root_port): Likewise.
16918 (poll_nonroot_hub): Likewise.
16919 (grub_usb_poll_devices): Likewise.
16920 (detach_device): Close transfer.
16921 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16922 function.
16923 (grub_usb_bulk_setup_readwrite): Likewise.
16924 (grub_usb_bulk_finish_readwrite): Likewise.
16925 * grub-core/commands/keylayouts.c: New file.
16926 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16927 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16928 aliases.
16929 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16930 support scancode 2.
16931 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16932 * include/grub/keyboard_layouts.h: New file.
16933 * util/grub-mklayout.c: New file.
16934 * util/grub-kbdcomp.in: Likewise.
16935
a1d84a5e
VS
169362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 Unify memory types.
16939
16940 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16941 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16942 types.
16943 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16944 (grub_upper_mem): Likewise.
16945 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16946 * include/grub/memory.h (grub_memory_type_t): New enum.
16947 All users updated.
16948
9696382e
VS
169492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16950
16951 * grub-core/Makefile.core.def (lsapm): New module.
16952 * grub-core/commands/i386/pc/lsapm.c: New file.
16953 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16954 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16955 Likewise.
16956 * include/grub/i386/pc/apm.h: New file.
16957 * include/multiboot.h (multiboot_apm_info): New struct.
16958
169592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 GRUB-legacy configuration file support.
16962
16963 * Makefile.util.def (grub-menulst2cfg): New util.
16964 * docs/man/grub-menulst2cfg.h2m: New file.
16965 * grub-core/Makefile.core.def (legacycfg): New module.
16966 * grub-core/commands/legacycfg.c: New file.
16967 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16968 (grub_normal_add_menu_entry): ... this.
16969 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16970 (grub_normal_set_password): ...this.
16971 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16972 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16973 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16974 * grub-core/lib/legacy_parse.c: New file.
16975 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16976 * include/grub/i386/pc/vesa_modes_table.h: New file.
16977 * include/grub/legacy_parse.h: Likewise.
16978 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16979 * util/grub-menulst2cfg.c: New file.
16980
bf8d1338
CW
169812010-09-17 Colin Watson <cjwatson@ubuntu.com>
16982
16983 * grub-core/kern/emu/hostdisk.c
16984 (convert_system_partition_to_system_disk): Initialise node.
16985
9c0bad2e
CW
169862010-09-17 Colin Watson <cjwatson@ubuntu.com>
16987
16988 * grub-core/kern/emu/hostdisk.c
16989 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16990 leak.
16991 Reported and based on patch by: Modestas Vainius.
16992
a939d135
CW
169932010-09-17 Colin Watson <cjwatson@ubuntu.com>
16994
16995 Fix DM-RAID probing with recent versions of device-mapper udev
16996 rules.
16997
16998 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16999 canonicalise device paths under /dev/mapper/.
17000 (convert_system_partition_to_system_disk): Compare the
17001 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17002 path, since device nodes under /dev/mapper/ are often symlinks.
17003
0f7ee3c9
YB
170042010-09-17 Yves Blusseau <blusseau@zetam.org>
17005
17006 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17007
10854d0d
YB
170082010-09-16 Yves Blusseau <blusseau@zetam.org>
17009
17010 * configure.ac: Avoid some annoying error messages if freetype-config
17011 program is not found.
17012
108538d8
CW
170132010-09-16 Colin Watson <cjwatson@ubuntu.com>
17014
17015 Support RAID on virtio devices, and others.
17016
17017 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17018 Rename to ...
17019 [__MINGW32__] (grub_find_device): ... this.
17020 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17021 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17022 reasonable default if dir is NULL.
17023 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17024 ...
17025 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17026 (grub_guess_root_device): Update callers.
17027 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17028
17029 * util/raid.c (grub_util_getdiskname): Remove.
17030 (grub_util_raid_getmembers): Use grub_find_device rather than
17031 grub_util_getdiskname.
17032
e5bfc130
CW
170332010-09-16 Colin Watson <cjwatson@ubuntu.com>
17034
17035 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17036 needing to be compiled with serial support.
17037 (ls): Indicate that multiple files are accepted.
17038 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17039 indicate that multiple files are accepted.
17040
be458ae2
CW
170412010-09-16 Colin Watson <cjwatson@ubuntu.com>
17042
17043 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17044 libgrub_a_init.c, and util/bash-completion.d/grub.
17045
cb731b5e
VS
170462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * util/grub-setup.c (setup): Fix incorrect container semantics.
17049
35139e8a
VS
170502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17053 misusage.
17054 Reported by: J. Nick Terry
17055
e50fca4a
VS
170562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 Move embedding routines to partmap sources files.
17059
17060 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17061 [GRUB_UTIL]: New variable.
17062 (gpt_partition_map_iterate): Set part.parent.
17063 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17064 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17065 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17066 New function.
17067 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17068 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17069 (grub_partition_map) [GRUB_UTIL]: New field embed.
17070 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17071 (setup): Use ->embed.
17072
f00478b7
VS
170732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17076 function.
17077 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17078 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17079
2b94e3ff
YB
170802010-09-15 Yves Blusseau <blusseau@zetam.org>
17081
17082 Add function to get completions from usage.
17083
17084 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17085 completions from usage. Use LC_ALL=C to get options properly.
17086
2e04a006
VS
170872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/gnulib/basename-lgpl.c: Imported.
17090 * grub-core/gnulib/basename.c: Likewise.
17091 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17092 * grub-core/gnulib/dirname.c: Likewise.
17093 * grub-core/gnulib/dirname.h: Likewise.
17094 * grub-core/gnulib/stripslash.c: Likewise.
17095
5dcdf93a
VS
170962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * grub-core/gnulib/error.c: Resynced.
17099 * grub-core/gnulib/getopt.c: Likewise.
17100 * grub-core/gnulib/getopt_int.h: Likewise.
17101 * grub-core/gnulib/regex.h: Likewise.
17102 * grub-core/gnulib/regex_internal.c: Likewise.
17103 * grub-core/gnulib/regex_internal.h: Likewise.
17104
014f47b7
SJ
171052010-09-15 Szymon Janc <szymon@janc.net.pl>
17106
17107 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17108 CRC calculations and validity checks.
17109 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17110 calculations.
17111
dd521a4a
SJ
171122010-09-15 Szymon Janc <szymon@janc.net.pl>
17113
17114 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17115
79c4eeb9
VS
171162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 Fix incorrect echo options handling.
17119 Reported by: Yves Blusseau.
17120
17121 * include/grub/command.h (grub_command_flags_t): New flags
17122 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17123 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17124 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17125
ed80f7d5
VS
171262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17129 users updated.
17130 (GRUB_COMMAND_FLAG_MENU): Likewise.
17131 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17132 (GRUB_COMMAND_FLAG_TITLE): Removed.
17133 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17134 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17135 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17136 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17137 (grub_command_flags_t): New enum. All users updated.
17138
5fe7620a
SG
171392010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17140
17141 Fix solaris compilation.
17142
17143 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17144 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17145 (grub-emu-list): Likewise.
17146
545b752f
VS
171472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 Remove deprecated root command.
17150
17151 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17152 updated.
17153
6c1a338c
VS
171542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 * util/i386/pc/grub-setup.c: Merge this ...
17157 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17158 * util/grub-setup.c: ... into this.
17159 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17160 New struct.
17161
171622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17165 possible.
17166
d2ea4551
VS
171672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17168
17169 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17170 allocate p.
17171
3c3b5040
VS
171722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17175 explicit root argument to set to prevent UUID to be interpreted as
17176 argument to set.
17177
b71c3fae
VS
171782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17181
275433e6
VS
171822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 Don't export grub_gate_a20.
17185
17186 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17187 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17188 to ...
17189 (grub_gate_a20): ... this. All users updated.
17190 * include/grub/i386/pc/init.h: Removed. All users updated.
17191
a5dbb1f1
VS
171922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 Create euro.pf2 which supports most European languages.
17195
17196 * Makefile.am (grubdata_DATA): Add euro.pf2.
17197 (euro.pf2): New target.
17198 (CLEANFILES): Add euro.pf2.
17199
62a747cb
VS
172002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 * configure.ac: Disable emu-usb by default to prevent inadvertent
17203 device takeover.
17204
608e43b1
VS
172052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 Disable usbserial on grub-emu since our libusb code isn't good enough
17208 yet.
17209
17210 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17211 (usbserial_pl2303): Likewise.
17212 (usbserial_ftdi): Likewise.
17213
94564f81
VS
172142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17215
17216 * include/grub/disk.h (grub_disk): Remove has_partitions.
17217 All users updated.
17218 * disk/loopback.c (grub_loopback): Remove has_partitions.
17219 All users updated.
17220 (options): Remove partitions. All users updated.
17221 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17222 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17223 actual partition table is found.
17224
3352800b
VS
172252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 Remove readability checks (too many false negatives).
17228
17229 * util/grub-install.in: Remove readability checks.
17230 * util/grub-mkconfig.in: Likewise.
17231 * util/grub.d/10_hurd.in: Likewise.
17232 * util/grub.d/10_kfreebsd.in: Likewise.
17233 * util/grub.d/10_linux.in: Likewise.
17234 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17235 way.
17236
2419f17a
VS
172372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 Enable acpi shutdown on all ACPI platforms.
17240
17241 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17242 on coreboo, multiboot and EFI.
17243 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17244 (grub_acpi_halt): Likewise.
17245 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17246 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17247 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17248 * grub-core/lib/i386/halt.c (grub_halt)
17249 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17250
0575c7c3
VS
172512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17254 context.
17255
54ac3cd1
VS
172562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17259 * grub-core/video/efi_uga.c: Likewise.
17260
b2a30ac5
VS
172612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Filter devaliases and never open same device twice.
17264
17265 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17266 (last_ihandle): Likewise.
17267 (ofdisk_hash_ent): New member shortest.
17268 (ofdisk_hash_add): Add canonical path too.
17269 (scan): New function.
17270 (grub_ofdisk_iterate): Iterate over hashed entries.
17271 (compute_dev_path): Don't add :0.
17272 (grub_ofdisk_open): Don't really open the disk.
17273 (grub_ofdisk_close): Avoid closing unrelated disk.
17274 (grub_ofdisk_read): Implement reopen logic.
17275 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17276 New function.
17277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17278 New proto.
17279
fb53b340
VS
172802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 Fix sparc64.
17283
17284 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17285 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17286 right address. Add sparc64_ieee1275_ldflags.
17287 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17288 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17289 to grub_host_to_target_addr
17290 (load_image): Likewise.
17291
f452b040
VS
172922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * grub-core/normal/completion.c (complete_file): Handle device
17295 containing slash.
17296 Fix based on patch by Doug Nazar.
17297
9b5b2541
VS
172982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 grub-mknetdir script.
17301
17302 * Makefile.util.def (grub-mknetdir): New module.
17303 * tests/util/grub-shell.in: Support boot=net
17304 * util/grub-mknetdir.in: New file.
17305
9d2be652
VS
173062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 videoinfo on non-vbe.
17309
17310 * grub-core/Makefile.core.def (vbeinfo): Removed.
17311 (vbetest): Removed.
17312 (videoinfo): New module.
17313 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
17314 * grub-core/commands/i386/pc/vbetest.c: Removed.
17315 * grub-core/commands/videoinfo.c: New file.
17316 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
17317 specification.
17318 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
17319 as vbetest.
17320 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
17321 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
17322 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
17323 mode_number. New parameter mode. All users updated.
17324 (grub_video_gop_iterate): New function.
17325 (grub_video_efi_gop): New member iterate.
17326 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
17327 (grub_vbe_set_video_mode): Remove setting useless fields.
17328 (vbe2videoinfo): New function.
17329 (grub_video_vbe_iterate): Likewise.
17330 (grub_video_vbe_setup): Use vbe2videoinfo.
17331 (grub_video_vbe_print_adapter_specific_info): New function.
17332 (grub_video_vbe_adapter): New fields iterate and
17333 print_adapter_specific_info.
17334 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
17335 All users updated.
17336 (grub_video_mode_info): New field mode_number.
17337 (grub_video_adapter): New fields iterate and
17338 print_adapter_specific_info.
17339
179503f5
TG
173402010-09-13 Tristan Gingold <gingold@free.fr>
173412010-09-13 Robert Millan <rmh.grub@aybabtu.com>
173422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * grub-core/commands/efi/lsefisystab.c: New file.
17345 * grub-core/commands/efi/lssal.c: Likewise.
17346 * grub-core/Makefile.core.def (lsacpi): New module.
17347 (lsefisystab): Likewise.
17348 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
17349 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
17350 (grub_efi_sal_system_table): New struct.
17351 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
17352 (grub_efi_sal_system_table_memory_descriptor): Likewise.
17353 (grub_efi_sal_system_table_platform_features): Likewise.
17354 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
17355 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17356 (grub_efi_sal_system_table_ap_wakeup): Likewise.
17357 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
17358
cf9827de
VS
173592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Support explicit user claim that a device is BIOS-visible.
17362
17363 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
17364 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
17365 * grub-core/kern/emu/hostdisk.c
17366 (convert_system_partition_to_system_disk): Support mdX.
17367 (find_system_device): New parameter add. All users updated.
17368 (grub_util_biosdisk_is_present): New function.
17369 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
17370 proto.
17371
53f0eb1f
VS
173722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Search hints support.
17375
17376 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
17377 All users updated.
17378
b23ffd70
YB
173792010-09-13 Yves Blusseau <blusseau@zetam.org>
17380
17381 Bash completion script for util commands
17382
17383 * Makefile.am: Add util/bash-completion.d directory
17384 * configure.ac: Likewise.
17385 * util/bash-completion.d/Makefile.am: New file.
17386 * util/bash-completion.d/grub-completion.bash.in: Likewise.
17387
d547dc28
VS
173882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
17391 (print_backlog): set backlog_ucs4 and backlog_glyphs.
17392 Reported by: Yves Blusseau.
17393
2fc8ccb9
VS
173942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
17397 partition size and offset.
17398
d8a84076
VS
173992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17402
84fb3b3d
VS
174032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17406
768ec2e2
VS
174072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
17410 (grub_xvasprintf): Likewise.
17411
4870900f
VS
174122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
17415
faca6bec
VS
174162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
17419 args ending with NULL.
17420
174212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
17422
17423 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17424 pointer.
17425
3c70f225
SJ
174262010-09-11 Szymon Janc <szymon@janc.net.pl>
17427
17428 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17429
4df7996d
VS
174302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 Shutdown using ACPI.
17433
17434 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
17435 * grub-core/commands/acpihalt.c: New file.
17436 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
17437 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
17438 (grub_acpi_halt): New proto.
17439 (GRUB_ACPI_SLP_EN): New const.
17440 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
17441 (GRUB_ACPI_OPCODE_*): New enum.
17442 (GRUB_ACPI_EXTOPCODE_*): Likewise.
17443
126b4c32
TG
174442010-09-11 Tristan Gingold <gingold@free.fr>
174452010-09-11 Robert Millan <rmh.grub@aybabtu.com>
174462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 * commands/lsacpi.c: New file.
17449 * grub-core/Makefile.core.def (lsacpi): New module.
17450 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
17451 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
17452 (grub_acpi_madt_entry_header): New struct.
17453 (grub_acpi_madt): Likewise.
17454 (grub_acpi_madt_entry_interrupt_override): Likewise.
17455 (grub_acpi_madt_entry_sapic): Likewise.
17456 (grub_acpi_madt_entry_lsapic): Likewise.
17457 (grub_acpi_madt_entry_platform_int_source): Likewise.
17458 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
17459 (PRIuGRUB_UINT32_T): Likewise.
17460 (PRIxGRUB_UINT64_T): Likewise.
17461
1aa4fe88
VS
174622010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 Implement loading palette on ieee1275_fb.
17465
17466 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17467 (have_setcolors): Likewise.
17468 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17469 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17470 (grub_video_ieee1275_set_palette): Implement.
17471
25761e13
VS
174722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
174732010-09-11 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * util/grub-install.in (grub_partition): New variable.
17476 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17477 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17478 Fixes a bug reported by Yves Blusseau.
17479
050abaea
VS
174802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 Fix emu on mipsel.
17483
17484 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17485 =grub_cpu_flush_cache on all mips and not only yeeloong.
17486 * configure.ac (COND_mips): New conditional.
17487 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17488 platforms.
17489 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17490 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17491 [GRUB_LINKER_HAVE_INIT]: New function.
17492 (grub_emu_post_init): Likewise.
17493 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17494 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17495 * include/grub/cache.h (_mips): Include mips/cache.h.
17496 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17497 LVM and RAID prototypes.
17498 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17499 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17500 function.
17501
5ed7d816
CW
175022010-09-10 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * util/grub-install.in: Don't try to verify core.img until after
17505 running grub-mkimage to create it.
17506
90367e04
RM
175072010-09-10 Robert Millan <rmh@gnu.org>
17508
17509 * util/grub.d/10_hurd.in: Add misc readability checks.
17510 * util/grub.d/10_kfreebsd.in: Likewise.
17511 * util/grub.d/10_linux.in: Likewise.
17512
c452fa66
CW
175132010-09-10 Colin Watson <cjwatson@ubuntu.com>
17514
17515 * util/grub-install.in: ${imgext} won't be defined here until the
17516 install branch is merged. For the meantime, only verify core.img on
17517 i386-pc and sparc64-ieee1275 platforms.
17518
c38fe9f4
RM
175192010-09-10 Robert Millan <rmh@gnu.org>
17520
17521 Solaris support in grub_find_zpool_from_dir(). Thanks
17522 Seth Goldberg for referring to getextmntent() facility.
17523
17524 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17525 `sys/mkdev.h'.
17526 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17527 `<sys/mnttab.h>'.
17528 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17529 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17530 method for finding zpool name.
17531
905f7773
CW
175322010-09-10 Colin Watson <cjwatson@ubuntu.com>
17533
17534 grub-fstest needs the host and hostfs modules while other utilities
17535 actively require those modules to be absent, so grub-fstest needs
17536 its own initialisation and finalisation code.
17537
17538 * Makefile.am (grub_fstest.pp): New target.
17539 (grub_fstest_init.lst): Likewise.
17540 (grub_fstest_init.c): Likewise.
17541 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17542
fb90b546
RM
175432010-09-10 Robert Millan <rmh@gnu.org>
17544
17545 * configure.ac: Check for `struct statfs.f_fstypename' and
17546 `struct statfs.f_mntfromname'.
17547
17548 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17549 kFreeBSD-specific code.
17550
66d4bea5
RM
175512010-09-10 Robert Millan <rmh@gnu.org>
17552
17553 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17554 on ZFS. Now non-main filesystems are supported as / too.
17555
b6a690ee
CW
175562010-09-09 Colin Watson <cjwatson@ubuntu.com>
17557
17558 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17559 and grub-core/disk/host.c to ...
17560 (grub-fstest): ... here. Having the host disk implementation
17561 present confuses grub-probe and other utility programs.
17562
17563 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17564 when writing to a file, not when writing to stdout.
17565
8901b00c 175662010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17567
17568 * tests/partmap_test.in: New test for partitions.
17569 * Makefile.util.def: Rules for new test.
17570
7bf45fdd
RM
175712010-09-09 Robert Millan <rmh@gnu.org>
17572
17573 * util/grub-probe.c (probe): Fix a pair of unhandled error
17574 conditions.
17575
4dfbc574
RM
175762010-09-09 Robert Millan <rmh@gnu.org>
17577
17578 Basic Btrfs support (detection and UUID).
17579
17580 * grub-core/fs/btrfs.c: New file.
17581 * Makefile.util.def (library): Register btrfs.c.
17582 * grub-core/Makefile.core.def: Likewise.
17583
6b8e78ae
RM
175842010-09-08 Robert Millan <rmh@gnu.org>
17585
17586 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17587 with (optional) parameters to specify device and relative path.
17588 * util/grub-install.in: Use is_path_readable_by_grub() to
17589 verify readability of a few critical files.
17590 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17591 verify readability of grub.cfg.new.
17592
27f21a8b
VS
175932010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 Split minix.mod into minix.mod and minix2.mod.
17596
17597 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17598 * grub-core/Makefile.core.def (minix2): New module.
17599 * grub-core/fs/minix.c: Use definitions instead of runtime version
17600 checking.
17601 * grub-core/fs/minix2.c: New file.
17602
c0e53ea5
YB
176032010-09-08 Yves Blusseau <blusseau@zetam.org>
17604
17605 Add new --boot-directory option to replace --root-directory
17606
17607 * util/grub-install.in: Add new --boot-directory option
17608 * util/grub-reboot.in: Likewise.
17609 * util/grub-set-default.in: Likewise.
17610
b9fe6ea2
YB
176112010-09-08 Yves Blusseau <blusseau@zetam.org>
17612
17613 * util/grub-mkconfig.in: Use new variable.
17614
d87aedff
YB
176152010-09-08 Yves Blusseau <blusseau@zetam.org>
17616
17617 * configure.ac: Define some useful variables.
17618
e55e8495
VS
176192010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17622 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17623 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17624 Use terminfo and don't use cursor-on/cursor-off unless it's known
17625 to work.
17626 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17627 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17628
6fa6d675
CW
176292010-09-08 Colin Watson <cjwatson@ubuntu.com>
17630
17631 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17632 starts with "(,", fill the drive containing the loaded image in
17633 between those two characters, but expect that a full partition
17634 specification including partition map names will follow.
17635
92f2aef0
RM
176362010-09-08 Robert Millan <rmh@gnu.org>
17637
17638 * configure.ac: Remove `--enable-grub-fstest' option.
17639 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17640
17641 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17642 `grub-fstest' instead of `grub-probe' for readability verification.
17643 * util/grub-probe.c (probe): Remove readability verification kludge.
17644
99fd620d
RM
176452010-09-08 Robert Millan <rmh@gnu.org>
17646
17647 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17648 initializing `GRUB_FS'.
17649
058e30ac 176502010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17651
17652 Not command (!) support to GRUB script.
17653
17654 * tests/grub_script_not.in: New test.
17655 * Makefile.util.def: Rules for new test.
17656
17657 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17658 ! command as a special case.
17659 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17660
b61d05ed 176612010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17662
058e30ac 17663 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17664 grub_free.
b61d05ed 17665
4d69c786 176662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17667
17668 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17669
aa3119c4 176702010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17671
17672 * docs/grub.texi (Shell-like scripting): Documentation for break,
17673 continue, shift and return commands.
17674
db0f7e3d
VS
176752010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 Rename CD-ROM to cd on BIOS.
17678
17679 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17680 "cd".
17681 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17682
88b87c93
VS
176832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17686 * util/grub-probe.c (main): Likewise.
17687 * util/i386/pc/grub-setup.c (main): Likewise.
17688 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17689 Reported and debugged by: alexxy
17690
294f324d
VS
176912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17694 diagnostic info.
17695
d7ee3441
JS
176962010-09-05 Jo Shields <directhex@apebox.org>
17697
17698 * util/grub.d/30_os-prober.in: Add missing classes.
17699
d7e06c1f
VS
177002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * docs/grub.texi (Theme file format): Document new position format.
17703
fc157e53
VS
177042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17707 a table. Use @code instead of @verbatim.
17708
506e9a1c
CB
177092010-09-05 Colin D Bennett <colin@gibibit.com>
17710
17711 Gfxmenu documentation.
17712
17713 * docs/grub.texi (Theme file format): New chapter.
17714
f0aff67c
SJ
177152010-09-05 Szymon Janc <szymon@janc.net.pl>
17716
17717 * grub-core/Makefile.core.def (xzio): New module.
17718 * grub-core/io/xzio.c: New file.
17719 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17720 * grub-core/lib/xzembed/xz_config.h: Likewise.
17721 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17722 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17723 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17724 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17725 * grub-core/lib/xzembed/xz_private.h: Likewise.
17726 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17727 * include/grub/file.h (grub_file_filter_id): New compression filter
17728 GRUB_FILE_FILTER_XZIO.
17729
82a85062
VS
177302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17733 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17734 size.
17735
3579415d
VS
177362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17739 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17740
5124ae6d
VS
177412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 Uncompressed checksum support.
17744
17745 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17746 (check_list): New parameter uncompress.
17747 (grub_cmd_hashsum): Handle --uncompress.
17748
9aadb3d1
VS
177492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 Reintroduce testload.
17752
17753 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17754 from here ...
17755 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17756 (GRUB_MOD_INIT): New function.
17757 (GRUB_MOD_FINI): Likewise.
17758 * grub-core/Makefile.core.def (testload): New module.
17759
a17792c3
SJ
177602010-09-05 Szymon Janc <szymon@janc.net.pl>
17761
17762 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17763 (uint8_t): New type.
17764 (uint16_t): Likewise.
17765 (uint32_t): Likewise.
17766 (uint64_t): Likewise.
17767
b81e40a3
SJ
177682010-09-05 Szymon Janc <szymon@janc.net.pl>
17769
17770 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17771
fc2ef117
VS
177722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17775 Made static.
17776 (grub_gzfile_open): Removed. All users updated.
17777 (GRUB_MOD_INIT): New function.
17778 (GRUB_MOD_FINI): Likewise.
17779 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17780 (grub_file_filters_enabled): Likewise.
17781 (grub_file_open): Handle filters.
17782 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17783 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17784 * include/grub/file.h (grub_file_filter_id_t): New type.
17785 (grub_file_filter_t): Likewise.
17786 (grub_file_filters_all): New extern variable.
17787 (grub_file_filters_enabled): Likewise.
17788 (grub_file_filter_register): New inline function.
17789 (grub_file_filter_unregister): Likewise.
17790 (grub_file_filter_disable): Likewise.
17791 (grub_file_filter_disable_compression): Likewise.
17792 * include/grub/gzio.h: Removed.
17793
35ee15e0
BC
177942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17795
17796 Filename expansion support for wildcards in GRUB script.
17797
17798 * tests/grub_script_expansion.in: New test.
17799 * Makefile.util.def: Rule for new test.
17800
17801 * grub-core/commands/wildcard.c: New file, implements filename
17802 expansion support for GRUB script.
17803 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17804 * grub-core/script/argv.c: Cosmetic changes.
17805 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17806 Refactored to perform wildcard expansion on arguments.
17807 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17808 struct.
17809
17810 * tests/util/grub-shell.in: Fix quoting for read input.
17811
5f0c4aca
BC
178122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17813
17814 Support for updating environment variables with matched substrings
17815 of regexp.
17816
17817 * tests/grub_cmd_regexp.in: New test.
17818 * Makefile.util.def: Rule for new test.
17819
17820 * grub-core/commands/regexp.c: New option -s to update environment
17821 variables with regexp matches.
17822
3759a35f
SJ
178232010-09-04 Szymon Janc <szymon@janc.net.pl>
17824
17825 * include/grub/file.h (grub_file): New member not_easly_seekable.
17826 (grub_file_seekable): New inline function.
17827 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17828 easily seekable.
17829 (grub_gzio_open): Set not_easly_seekable.
17830 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17831 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17832
ed8c6dec
BC
178332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17834
17835 Support for options to appear multiple times on cmdline.
17836
17837 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17838 * grub-core/commands/extcmd.c: Support for repeatable option.
17839 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17840 repeatable option support.
17841
17842 Refactor menuentry into a regular command.
17843
17844 * grub-core/commands/menuentry.c: New file, menuentry command
17845 implementation.
17846 * grub-core/Makefile.core.def: Rule update for normal.mod.
17847 * grub-core/normal/main.c: Moved menuentry creation to
17848 grub-core/commands/menuentry.c.
17849 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17850 (grub_menu_execute_entry_real): Removed.
17851 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17852 function.
17853 (grub_script_execute_menuentry): Removed.
17854 * grub-core/script/parser.y (menuentry): Removed.
17855 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17856 * grub-core/script/yylex.l (menuentry): Removed.
17857 * include/grub/menu.h (grub_menu_init): New prototype.
17858 (grub_menu_fini): New prototype.
17859 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17860 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17861 (grub_script_execute_sourcecode): New prototype.
17862
dacd0cf0
BC
178632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17864
17865 "return" command for GRUB script functions.
17866
17867 * tests/grub_script_return.in: New test.
17868 * Makefile.util.def: Rules for new test.
17869
17870 * grub-core/script/execute.c (grub_script_return): New function.
17871 * grub-core/script/main.c: Register/unregister return commaond.
17872 * include/grub/script_sh.h (grub_script_return): New prototype.
17873
52e72f9d
BC
178742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17875
17876 "setparams" command to update positional parameters.
17877
17878 * tests/grub_script_setparams.in: New test.
17879 * Makefile.util.def: Rules for new test.
17880
17881 * grub-core/script/argv.c (grub_script_argv_make): New function.
17882 * grub-core/script/execute.c (replace_scope): New function.
17883 (grub_script_setparams): New function.
17884 * grub-core/script/lexer.c: Remove unused variables.
17885 * grub-core/script/main.c: Register/unregister setparams command.
17886 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17887 (grub_script_setparams): New prototype.
17888
25b60c91
BC
178892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17890
17891 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17892 grub_free order.
17893
37e7bf68
BC
178942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17895
17896 Support for passing block of commands as an argument to extcmds.
17897
17898 * Makefile.util.def: Rules for new test.
17899 * tests/grub_script_blockarg.in: New test.
17900 * grub-core/tests/test_blockarg.c: New file, block argument
17901 command used in the test.
17902
17903 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17904 (grub_register_extcmd_prio): New function prototype.
17905 (grub_extcmd_dispatcher): New function prototype.
17906 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17907 type.
17908 * include/grub/script_sh.h (struct grub_script): New members
17909 `children', `next_siblings' and `refcnt' for block arguments and
17910 reference counting.
17911 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17912 (grub_script_arg): New member `script' for block argument.
17913 (grub_script_argv): New member `script' for block argument.
17914 (grub_parser_param): New member `scripts' for block argument.
17915 (grub_script_mem_free): New extern function prototype.
17916 (grub_script_ref): New function prototype.
17917 (grub_script_unref): New function prototype.
17918
17919 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17920 extcmd form to support block arguments.
17921 * grub-core/script/argv.c: Block arguments support.
17922 * grub-core/script/execute.c: Likewise.
17923 * grub-core/script/lexer.c: Likewise.
17924 * grub-core/script/main.c: Likewise.
17925 * grub-core/script/script.c: Likewise.
17926 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17927 non-terminals.
17928
17929 * grub-core/commands/acpi.c: Update extcmd implementations with
17930 grub_extcmd_context_t.
17931 * grub-core/commands/cat.c: Likewise.
17932 * grub-core/commands/echo.c: Likewise.
17933 * grub-core/commands/extcmd.c: Likewise.
17934 * grub-core/commands/hashsum.c: Likewise.
17935 * grub-core/commands/hdparm.c: Likewise.
17936 * grub-core/commands/help.c: Likewise.
17937 * grub-core/commands/hexdump.c: Likewise.
17938 * grub-core/commands/i386/cpuid.c: Likewise.
17939 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17940 * grub-core/commands/i386/pc/halt.c: Likewise.
17941 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17942 * grub-core/commands/iorw.c: Likewise.
17943 * grub-core/commands/keystatus.c: Likewise.
17944 * grub-core/commands/loadenv.c: Likewise.
17945 * grub-core/commands/ls.c: Likewise.
17946 * grub-core/commands/lspci.c: Likewise.
17947 * grub-core/commands/memrw.c: Likewise.
17948 * grub-core/commands/probe.c: Likewise.
17949 * grub-core/commands/search_wrap.c: Likewise.
17950 * grub-core/commands/setpci.c: Likewise.
17951 * grub-core/commands/sleep.c: Likewise.
17952 * grub-core/disk/loopback.c: Likewise.
17953 * grub-core/hello/hello.c: Likewise.
17954 * grub-core/loader/i386/bsd.c: Likewise.
17955 * grub-core/loader/xnu.c: Likewise.
17956 * grub-core/term/gfxterm.c: Likewise.
17957 * grub-core/term/serial.c: Likewise.
17958 * grub-core/tests/lib/functional_test.c: Likewise.
17959
888d1500
BC
179602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17961
17962 Multi-line quoted strings support.
17963
17964 * grub-core/script/lexer.c (append_newline): Removed.
17965 (grub_script_lexer_yywrap): Refactored.
17966 (grub_script_lexer_init): Refactored.
17967 * grub-core/script/yylex.l (yywrap): New function.
17968 (grub_lexer_resplit): New function.
17969 (grub_lexer_unput): New function.
17970 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17971 and resplit.
17972 * tests/grub_script_echo1.in: Added few more testcases.
17973
dda060dd
VS
179742010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * grub-core/kern/misc.c: Don't add abort alias in utils.
17977 Reported by: echoline.
17978
6556eba9
BC
179792010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17980
17981 Add missing files into "make dist" tarball for other platforms.
17982
17983 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17984 * conf/Makefile.common (dist_noinst_DATA): New variable.
17985 * conf/Makefile.extra-dist: Added missing make dist files.
17986 * grub-core/Makefile.core.def: Likewise.
17987
c8e7bf5f
VS
179882010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 Compress grub_prefix.
17991
17992 * grub-core/boot/i386/pc/lnxboot.S: Use
17993 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17994 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17995 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17996 GRUB_MACHINE_PREFIX_END. All users updated.
17997 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17998 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17999 + 0x40.
18000 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18001 * util/grub-mkimage.c (image_target_desc): Change data_end to
18002 prefix_end. All users updated.
18003
a7c00cdb
VS
180042010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18007 value.
18008 (grub_openbsd_boot): Likewise.
18009 (grub_netbsd_boot): Likewise.
18010 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18011 (grub_xnu_boot): Likewise.
18012
9f915872
VS
180132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 * configure.ac: Clean LIBS variable after tests.
18016
efa1bee7
CW
180172010-09-02 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18020
61d720e5
VS
180212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18024 echo if libdevmapper will be used.
18025
ef8e0ec8
IT
180262010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18027
18028 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18029 constant for the same file.
18030
03e261d8
VS
180312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18034
c2a4eba6
CW
180352010-09-02 Colin Watson <cjwatson@ubuntu.com>
18036
18037 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18038 grub-core/*.pp.
18039
9056cbf3
CW
180402010-09-02 Colin Watson <cjwatson@ubuntu.com>
18041
18042 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18043 required by the boot protocol.
18044
18045 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18046 ebp and edi members.
18047 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18048 state.ebp and state.edi.
18049 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18050 %ebp and %edi according to grub_relocator32_ebp and
18051 grub_relocator32_edi respectively.
18052 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18053 and state.edi.
18054
529cc99a
VS
180552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 Add i386-pc-pxe image target.
18058
18059 * util/grub-mkimage.c (image_target_desc): New enum value
18060 IMAGE_I386_PC_PXE.
18061 (image_targets): New target i386-pc-pxe.
18062 (generate_image): Handle i386-pc-pxe image.
18063
9a093920
VS
180642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 Fix grub_pxe_scan.
18067
18068 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18069 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18070 All users updated.
18071 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18072 (grub_pxe_pxenv): Correct type.
18073
f9cefc4e
CW
180742010-09-01 Colin Watson <cjwatson@ubuntu.com>
18075
18076 * NEWS: Document most of the important changes since 1.98.
18077
4066f57f
CW
180782010-09-01 Colin Watson <cjwatson@ubuntu.com>
18079
18080 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18081 generated manual page) a little.
18082
da2891f9
CW
180832010-09-01 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * docs/grub.texi: Add myself as an author.
18086
ad717fae
VS
180872010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 * Makefile.util.def (libgrub.a): Add missing sunpc.
18090 Reported by: Seth Goldberg.
18091
eefe8abd
VS
180922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 Interrupt wrapping and code simplifications.
18095
9494ef9a
VS
18096 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18097 x86_noieee1275 which are functionaly equivalent in this case.
18098 (grub-install): Make source on each platform explicit. Enable on
18099 all noemu.
18100 * gentpl.py (x86_efi_pc): Removed group.
18101 (x86_noefi): Likewise.
18102 (i386_noefi): Likewise.
18103 (x86_noieee1275): Likewise.
18104 (i386_noieee1275): Likewise.
18105 (i386_noefi_noieee1275): Likewise.
18106 (i386_pc_qemu_coreboot): Likewise.
18107 (i386_coreboot_multiboot): Likewise.
18108 (i386_pc_coreboot_multiboot_qemu): Likewise.
18109 (x86_noefi_mips): Likewise.
18110 (noieee1275): Likewise.
18111 (ieee1275_mips): Likewise.
18112 (noemu_noieee1275): Likewise.
18113 (cmos): New group.
18114 (usb): Likewise.
18115 (videoinkernel): Likewise.
18116 (videomodules): Likewise.
eefe8abd 18117 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18118 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18119 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18120 include/grub/loader.h, include/grub/msdos_partition.h,
18121 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18122 include/grub/machine/console.h, include/grub/machine/vga.h,
18123 include/grub/machine/vbe.h, include/grub/machine/init.h,
18124 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18125 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18126 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18127 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18128 * grub-core/Makefile.core.def (kernel): Explicit the source for
18129 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18130 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18131 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18132 Use videoinkernel tag.
18133 (usb): Enable on all usb.
18134 (usbserial_common): Likewise.
18135 (usbserial_pl2303): Likewise.
18136 (usbserial_ftdi): Likewise.
18137 (uhci): Enable on all x86.
18138 (ohci): Enable on all pci.
18139 (cmostest): Enable on all CMOS.
18140 (acpi): Include commands/acpi.c on all platforms.
18141 (halt): Add relevant lib/*/halt.c.
18142 (hdparm): Enable on all pci.
18143 (lspci): Likewise.
18144 (usbtest): Enable on all usb.
18145 (ata): Enable on all pci.
18146 (ata_pthru): Likewise.
18147 (usbms): Enable on all usb.
18148 (usb_keyboard): Likewise.
18149 (font): Use tag videomodules.
18150 (bufio): Likewise.
18151 (datetime): Use tag cmos. Enable on all noemu.
18152 (mmap): Use tags common and x86.
18153 (gfxterm): Use tag videomodules.
18154 (bitmap): Likewise.
18155 (bitmap_scale): Likewise.
18156 (video_fb): Likewise.
18157 (video): Likewise.
18158 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18159 adjust padding accordingly. All users updated.
18160 (grub_ohci_transaction): Fix bad format specification.
18161 (GRUB_MOD_INIT): Add asserts for struct size.
18162 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18163 (grub_alloc_td): Likewise.
18164 (grub_free_queue): Likewise.
18165 (grub_uhci_transfer): Likewise.
18166 (grub_uhci_transaction): Fix bad format specification.
18167 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18168 (grub_usb_bulk_readwrite): Likewise.
18169 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18170 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18171 Made static.
18172 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18173 Made static.
18174 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18175 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18176 Transformed into C.
18177 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18178 Moved from here ...
18179 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18180 ... here. Transformed into C. Made static.
18181 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18182 Moved from here ...
18183 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18184 ... here. Transformed into C. Made static.
18185 * grub-core/kern/i386/pc/startup.S
18186 (grub_biosdisk_check_int13_extensions): Moved from here ...
18187 * grub-core/disk/i386/pc/biosdisk.c
18188 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18189 Made static.
18190 * grub-core/kern/i386/pc/startup.S
18191 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18192 * grub-core/disk/i386/pc/biosdisk.c
18193 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18194 Transformed into C. Made static.
18195 * grub-core/kern/i386/pc/startup.S
18196 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18197 * grub-core/disk/i386/pc/biosdisk.c
18198 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18199 Transformed into C. Made static.
18200 * grub-core/kern/i386/pc/startup.S
18201 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18202 * grub-core/disk/i386/pc/biosdisk.c
18203 (grub_biosdisk_get_diskinfo_standard): ... here.
18204 Transformed into C. Made static.
18205 * grub-core/kern/i386/pc/startup.S
18206 (grub_biosdisk_get_num_floppies): Moved from here ...
18207 * grub-core/disk/i386/pc/biosdisk.c
18208 (grub_biosdisk_get_num_floppies): ... here.
18209 Transformed into C. Made static.
18210 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18211 New function.
18212 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18213 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18214 Transformed into C. Made static.
18215 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18216 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18217 Transformed into C. Made static.
18218 * grub-core/kern/i386/ieee1275/init.c: Removed.
18219 * grub-core/kern/i386/misc.S: Likewise.
18220 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18221 Splitted from here ...
18222 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18223 Transformed into C. Made static. All users updated.
18224 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18225 Transformed into C. Made static. All users updated.
18226 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18227 Moved from here...
18228 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18229 Transformed into C. Made static. All users updated.
18230 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18231 Moved from here...
18232 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18233 Transformed into C. Made static. All users updated.
18234 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18235 Removed (replaced by C version).
18236 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18237 Moved from here...
18238 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18239 Transformed into C. Made static.
18240 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18241 Moved from here...
18242 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18243 ... here. Transformed into C.
18244 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18245 Moved from here...
18246 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18247 ... here. Transformed into C.
18248 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18249 Moved from here...
18250 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18251 ... here. Transformed into C. Made static.
18252 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18253 Moved from here...
18254 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18255 ... here. Transformed into C.
21ed554b
VS
18256 * grub-core/kern/i386/pc/startup.S
18257 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18258 * grub-core/video/i386/pc/vbe.c
18259 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
18260 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18261 Moved from here...
18262 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18263 ... here. Transformed into C.
18264 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18265 Moved from here...
18266 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18267 ... here. Transformed into C.
18268 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18269 Moved from here...
18270 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18271 ... here. Transformed into C.
18272 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18273 Moved from here...
18274 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18275 ... here. Transformed into C.
18276 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18277 Moved from here...
18278 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18279 ... here. Transformed into C. Made static.
18280 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18281 Moved from here...
18282 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18283 ... here. Transformed into C. Made static.
18284 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18285 Moved from here...
18286 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18287 ... here. Transformed into C. Made static.
18288 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18289 pxe_rm_entry as third argument.
18290 (grub_bios_interrupt): New function.
18291 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18292 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18293 of calling grub_stop.
18294 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
18295 * grub-core/lib/efi/halt.c (grub_halt): ...here.
18296 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
18297 * grub-core/lib/emu/halt.c (grub_halt): ... here.
18298 * grub-core/lib/i386/halt.c: Moved from here ...
18299 * grub-core/lib/i386/halt.c: ... here.
18300 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
18301 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
18302 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
18303 grub_stop_floppy.
18304 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
18305 * include/grub/i386/coreboot/init.h: Removed.
18306 * include/grub/i386/multiboot/init.h: Likewise.
18307 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
18308 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
18309 * include/grub/i386/pc/int.h: New file.
18310 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
18311 (grub_pxe_scan): Removed.
18312 (grub_pxe_call): Update prototype.
18313 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
18314 prototypes.
18315 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
18316 * include/grub/i386/qemu/init.h: Removed.
18317 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
18318 noreturn.
18319 (grub_halt): Likewise.
18320 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
18321 (grub_reboot): Likewise.
18322 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
18323 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
18324 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18325
215dd471
RM
183262010-08-30 Robert Millan <rmh@gnu.org>
18327
18328 * NEWS: Document addition of ZFS support in `grub-install' and
18329 `grub-mkconfig'.
18330
ebd65b82
BC
183312010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18332
18333 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18334 dprintf output.
18335
11721d19
VS
183362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 Remove leftover embedding of font objects.
18339
18340 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18341 * util/grub-install.in (font): Removed.
18342 * util/grub-mkimage.c (generate_image): Remove font support. All users
18343 updated.
18344
37837d4e
VS
183452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 Remove leftover embedding of font objects.
18348
18349 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18350 * util/grub-install.in (font): Removed.
18351 * util/grub-mkimage.c (generate_image): Remove font support. All users
18352 updated.
18353
b4c1aae0
VS
183542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 18357 Reported by: Ian Turner
b4c1aae0 18358
8920a08d
VS
183592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
18362 timeout to avoid indefinite boot stalling.
18363
f21db033
VS
183642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
18367 (grub_env_write_color_highlight): Likewise.
18368
9a9de209
VS
183692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * grub-core/normal/term.c (print_more): Return to normal and not
18372 to standard state after printing "---MORE---".
18373
3dca01d7
VS
183742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
18377 Mask out the bit 0x80 since it has other meaning that specifiing color.
18378
0b986c40
VS
183792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 New relocator. Allows for more kernel support and more straightforward
18382 loader writing.
18383
18384 * Makefile.am (BOOTTARGET): New variable.
18385 (QEMU32): Likewise.
18386 (linux.init.x86_64): New target.
18387 (linux.init.i386): Likewise.
18388 (multiboot.elf): Likewise.
18389 (kfreebsd.elf): Likewise.
18390 (kfreebsd.aout): Likewise.
18391 (pc-chainloader.elf): Likewise.
18392 (pc-chainloader.bin): Likewise.
18393 (ntldr.elf): Likewise.
18394 (ntldr.bin): Likewise.
18395 (multiboot2.elf): Likewise.
18396 (kfreebsd.init.x86_64): Likewise.
18397 (kfreebsd.init.i386): Likewise.
18398 (knetbsd.init.i386): Likewise.
18399 (kopenbsd.init.i386): Likewise.
18400 (knetbsd.init.x86_64): Likewise.
18401 (kopenbsd.init.x86_64): Likewise.
18402 (linux-initramfs.i386): Likewise.
18403 (linux-initramfs.x86_64): Likewise.
18404 (kfreebsd-mfsroot.i386.img): Likewise.
18405 (knetbsd.image.i386): Likewise.
18406 (kopenbsd.image.i386): Likewise.
18407 (kopenbsd.image.x86_64): Likewise.
18408 (knetbsd.miniroot-image.i386.img): Likewise.
18409 (kfreebsd-mfsroot.x86_64.img): Likewise.
18410 (knetbsd.image.x86_64): Likewise.
18411 (knetbsd.miniroot-image.x86_64.img): Likewise.
18412 (kfreebsd-mfsroot.i386.gz): Likewise.
18413 (bootcheck-kfreebsd-i386): Likewise.
18414 (kfreebsd-mfsroot.x86_64.gz): Likewise.
18415 (bootcheck-kfreebsd-x86_64): Likewise.
18416 (knetbsd.miniroot-image.i386.gz): Likewise.
18417 (bootcheck-knetbsd-i386): Likewise.
18418 (bootcheck-kopenbsd-i386): Likewise.
18419 (bootcheck-kopenbsd-x86_64): Likewise.
18420 (knetbsd.miniroot-image.x86_64.gz): Likewise.
18421 (bootcheck-knetbsd-x86_64): Likewise.
18422 (bootcheck-linux-i386): Likewise.
18423 (bootcheck-linux-x86_64): Likewise.
18424 (bootcheck-linux16-i386): Likewise.
18425 (bootcheck-linux16-x86_64): Likewise.
18426 (bootcheck-multiboot): Likewise.
18427 (bootcheck-multiboot2): Likewise.
18428 (bootcheck-kfreebsd-aout): Likewise.
18429 (bootcheck-pc-chainloader): Likewise.
18430 (bootcheck-ntldr): Likewise.
18431 (CLEANFILES): Add new targets.
18432 (BOOTCHECKS): New variable.
18433 (.PHONY): Add bootchecks.
18434 (SUCCESSFUL_BOOT_STRING): New variable.
18435 (BOOTCHECK_TIMEOUT): Likewise.
18436 (bootcheck): New target
18437 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
18438 * configure.ac: Correct efiemu excuse.
18439 * docs/grub.texi (Supported kernels): New chapter.
18440 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
18441 include/grub/mm_private.h. Simplify inclusion of
18442 include/grub/boot.h, include/grub/loader.h
18443 and include/grub/msdos_partition.h
18444 (KERNEL_HEADER_FILES) [i386_coreboot]:
18445 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
18446 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
18447 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
18448 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
18449 include/grub/machine/loader.h.
18450 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
18451 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
18452 extra_dist.
18453 (pci.mod): Enable on i386-multiboot.
18454 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
18455 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
18456 i386-qemu.
18457 (relocator.mod): Rewritten.
18458 (aout.mod): Enable on all x86.
18459 (bsd.mod): Likewise.
18460 (ntldr.mod): New module.
18461 (linux.mod): Use loader/i386/linux.c on all x86.
18462 (xnu.mod): Enable on all x86.
18463 (vga_text.mod): disable on EFI and QEMU.
18464 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18465 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18466 * grub-core/efiemu/loadcore.c: Likewise.
18467 * grub-core/efiemu/main.c: Likewise.
18468 (grub_efiemu_exit_boot_services): Removed.
18469 (grub_efiemu_finish_boot_services): Likewise.
18470 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18471 function.
18472 * grub-core/efiemu/i386/nocfgtables.c: New file.
18473 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18474 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18475 (grub_efi_finish_boot_services): Moved from here ...
18476 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18477 Fille finish memory map and related data.
18478 (finish_mmap_buf): New variable.
18479 (grub_efi_uintn_t finish_mmap_size): Likewise.
18480 (grub_efi_uintn_t finish_key): Likewise.
18481 (grub_efi_uintn_t finish_desc_size): Likewise.
18482 (grub_efi_uint32_t finish_desc_version): Likewise.
18483 (grub_efi_is_finished): Likewise.
18484 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18485 finished.
18486 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18487 (grub_elf64_phdr_iterate): Likewise.
18488 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18489 (grub_os_area_size): Likewise.
18490 (grub_machine_init): Don't reserve os area.
18491 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18492 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18493 * grub-core/kern/i386/loader.S: Removed.
18494 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18495 (grub_os_area_size): Likewise.
18496 (grub_machine_init): Don't reserve os area.
18497 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18498 Don't call grub_dl_unload_all.
18499 Don't include loader.S.
18500 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18501 Declare the memory after _end as available.
18502 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 18503 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 18504 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
18505 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18506 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18507 * include/grub/mm_private.h (grub_mm_header): ... here.
18508 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18509 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
18510 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18511 (grub_mm_region): ..here. Removed addr. Added pre_size.
18512 All users updated.
18513 * grub-core/kern/mm.c (base): Renamed to ...
18514 (grub_mm_base): ... this. Made global.
18515 (grub_real_malloc): Alloc from end of region.
18516 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18517 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18518 * grub-core/kern/powerpc/cache_flush.S: ... here.
18519 * grub-core/lib/efi/relocator.c: New file.
18520 * grub-core/lib/i386/relocator.c: Rewritten.
18521 * grub-core/lib/i386/relocator16.S: New file.
18522 * grub-core/lib/i386/relocator32.S: Likewise.
18523 * grub-core/lib/i386/relocator64.S: Likewise.
18524 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18525 * grub-core/lib/i386/relocator_common.S: New file.
18526 * grub-core/lib/ieee1275/relocator.c: Likewise.
18527 * grub-core/lib/mips/relocator.c: Rewritten.
18528 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18529 stylistic adjustments.
18530 * grub-core/lib/powerpc/relocator.c: New file.
18531 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18532 * grub-core/lib/relocator.c: Rewritten.
18533 * grub-core/lib/x86_64/relocator_asm.S: New file.
18534 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18535 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18536 (bsd_tag): New struct.
18537 (tags): New variable.
18538 (tags_last): Likewise.
18539 (netbsd_module): New struct.
18540 (netbsd_mods): New variable.
18541 (netbsd_mods_last): Likewise.
18542 (openbsd_opts): New parameter "serial".
18543 (OPENBSD_SERIAL_ARG): New definition.
18544 (netbsd_opts): New parameter "serial".
18545 (NETBSD_SERIAL_ARG): New definition.
18546 (grub_freebsd_add_meta): Reorganised into ...
18547 (grub_bsd_add_meta): ...this. All users updated.
18548 (grub_freebsd_add_mmap): Reorganised into ...
18549 (generate_e820_mmap): ...this...
18550 (grub_bsd_add_mmap): ...and this. All users updated.
18551 (grub_freebsd_list_modules): Use tags.
18552 (grub_netbsd_add_meta_module): New function.
18553 (grub_netbsd_list_modules): Likewise.
18554 (grub_freebsd_boot): Use relocator and finish EFI.
18555 (grub_openbsd_boot): Likewise.
18556 (grub_netbsd_setup_video): New function.
18557 (grub_netbsd_add_modules): Likewise.
18558 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18559 and finish EFI.
18560 (grub_bsd_unload): Unload tags.
18561 (grub_bsd_load_aout): Use relocator.
18562 (grub_bsd_elf32_size_hook): New function.
18563 (grub_bsd_elf32_hook): Use relocator.
18564 (grub_bsd_elf64_size_hook): New function.
18565 (grub_bsd_elf64_hook): Use relocator.
18566 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18567 (grub_bsd_load): Zero-out openbsd_ramdisk.
18568 (grub_bsd_load): Use relocator.
18569 (grub_cmd_openbsd): Support serial.
18570 (grub_cmd_netbsd): Support modules.
18571 (grub_cmd_freebsd_module): Use relocator.
18572 (grub_netbsd_module_load): New function.
18573 (grub_cmd_netbsd_module): Likewise.
18574 (grub_cmd_openbsd_ramdisk): Likewise.
18575 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18576 kopenbsd_ramdisk.
18577 (GRUB_MOD_FINI): Unregister new commands.
18578 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18579 (grub_freebsd_load_elfmodule_obj): Use relocator.
18580 (grub_freebsd_load_elfmodule): Likewise.
18581 (grub_freebsd_load_elf_meta): Likewise.
18582 (grub_netbsd_load_elf_meta): New function.
18583 (grub_openbsd_find_ramdisk): Likewise.
18584 * grub-core/loader/i386/bsd_helper.S: Removed.
18585 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18586 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18587 * grub-core/loader/i386/efi/linux.c: Likewise.
18588 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18589 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18590 (DEFAULT_VIDEO_MODE): Likewise.
18591 (real_mode_target): New variable.
18592 (prot_mode_target): Likewise.
18593 (initrd_mem_target): Likewise.
18594 (relocator): Likewise.
18595 (efi_mmap_buf): Likewise.
18596 (efi_mmap_size): Likewise.
18597 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18598 (free_pages): Use relocator.
18599 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18600 (grub_linux_setup_video): Return error.
18601 (grub_linux_trampoline_start): Removed.
18602 (grub_linux_trampoline_end): Likewise.
18603 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18604 andd video parameters depending on firmware.
18605 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18606 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18607 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18608 (grub_cmd_initrd): Use relocator.
18609 * grub-core/loader/i386/linux_trampoline.S: Removed.
18610 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18611 (elf_sec_entsize): Likewise.
18612 (elf_sec_shstrndx): Likewise.
18613 (elf_sections): Likewise.
18614 (grub_multiboot_load): Use relocator.
18615 (grub_multiboot_get_mbi_size): Account for sections.
18616 (grub_multiboot_make_mbi): Use relocator and support sections.
18617 (grub_multiboot_add_elfsyms): New function.
18618 (grub_multiboot_free_mbi): Free sections.
18619 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18620 (grub_linux_real_target): Likewise.
18621 (grub_linux_real_chunk): Likewise.
18622 (grub_linux16_prot_size): Likewise.
18623 (grub_linux16_boot): Use relocator.
18624 (grub_linux_unload): Unload relocator.
18625 (grub_cmd_linux): Use relocator.
18626 (grub_cmd_initrd): Likewise.
18627 * grub-core/loader/i386/pc/ntldr.c: New file.
18628 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18629 Don't try to guess CPU frequency.
18630 (grub_xnu_set_video): Stretch bitmap.
18631 (grub_xnu_boot): Use relocator.
18632 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18633 (grub_linux_unload): Free relocator.
18634 (grub_linux_load32): Use relocator.
18635 (grub_linux_load64): Likewise.
18636 (grub_cmd_initrd): Likewise.
18637 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18638 (grub_multiboot_unload): Unload relocator.
18639 (grub_cmd_multiboot): Use relocator.
18640 (grub_cmd_module): Likewise.
18641 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18642 Use relocator and support sections.
18643 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18644 (elf_sec_entsize): Likewise.
18645 (elf_sec_shstrndx): Likewise.
18646 (elf_sections): Likewise.
18647 (grub_multiboot_load): Use relocator.
18648 (grub_multiboot_get_mbi_size): Account for sections.
18649 (grub_multiboot_make_mbi): Use relocator and support sections.
18650 (grub_multiboot_add_elfsyms): New function.
18651 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18652 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18653 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18654 Prototype changed. All users updated.
18655 (grub_xnu_align_heap): Simplified.
18656 (grub_xnu_writetree_toheap): Likewise.
18657 (grub_xnu_unload): Unload relocator.
18658 (grub_cmd_xnu_kernel): Use relocator.
18659 (grub_cmd_xnu_kernel64): Likewise.
18660 (grub_xnu_register_memory): Simplified.
18661 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
18662 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18663 EFI is finished.
18664 (grub_console_checkkey): Likewise.
18665 (grub_console_getkey): Likewise.
18666 (grub_console_getwh): Likewise.
18667 (grub_console_getxy): Likewise.
18668 (grub_console_gotoxy): Likewise.
18669 (grub_console_cls): Likewise.
18670 (grub_console_setcolorstate): Likewise.
18671 (grub_console_setcursor): Likewise.
18672 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18673 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18674 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18675 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18676 * grub-core/tests/boot/kernel-8086.S: Likewise.
18677 * grub-core/tests/boot/kernel-i386.S: Likewise.
18678 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18679 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18680 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18681 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18682 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18683 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18684 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18685 * grub-core/tests/boot/linux.cfg: Likewise.
18686 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18687 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18688 * grub-core/tests/boot/linux16.cfg: Likewise.
18689 * grub-core/tests/boot/multiboot.cfg: Likewise.
18690 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18691 * grub-core/tests/boot/ntldr.cfg: Likewise.
18692 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18693 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18694 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18695 New definition.
18696 * include/grub/dl.h (grub_dl_unload_all): Removed.
18697 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18698 (grub_efi_finish_boot_services): Change prototype.
18699 (grub_efi_is_finished): New variable.
18700 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18701 Changed prototype.
18702 (grub_efiemu_finish_boot_services): Removed.
18703 (grub_machine_efiemu_init_tables): New prototype.
18704 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18705 (grub_elf64_phdr_iterate): Likewise.
18706 * include/grub/i386/bsd.h: Include relocator.h.
18707 (freebsd_tag_header): New struct.
18708 (grub_openbsd_bios_mmap): Removed.
18709 (grub_unix_real_boot): Removed.
18710 (grub_freebsd_load_elfmodule32): Changed prototype.
18711 (grub_freebsd_load_elfmodule_obj64): Likewise.
18712 (grub_freebsd_load_elf_meta32): Likewise.
18713 (grub_freebsd_load_elf_meta64): Likewise.
18714 (grub_freebsd_add_meta): Removed.
18715 (grub_netbsd_load_elf_meta32): New prototype.
18716 (grub_netbsd_load_elf_meta64): Likewise.
18717 (grub_bsd_add_meta): Likewise.
18718 (grub_openbsd_ramdisk_descriptor): New struct.
18719 (grub_openbsd_find_ramdisk32): New prototype.
18720 (grub_openbsd_find_ramdisk64): Likewise.
18721 * include/grub/i386/coreboot/loader.h: Removed.
18722 * include/grub/i386/efi/loader.h: Likewise.
18723 * include/grub/i386/ieee1275/loader.h: Likewise.
18724 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18725 to grub_uint32_t.
18726 * include/grub/i386/loader.h: Removed.
18727 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18728 value.
18729 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18730 (grub_phys_addr_t): New type.
18731 (grub_vtop): New inline function.
18732 (grub_map_memory): Likewise.
18733 (grub_unmap_memory): Likewise.
18734 * include/grub/i386/multiboot/loader.h: Removed.
18735 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18736 (NETBSD_BTINFO_CONSOLE): New definition.
18737 (NETBSD_BTINFO_SYMTAB): Likewise.
18738 (NETBSD_BTINFO_MODULES): Likewise.
18739 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18740 (grub_netbsd_bootinfo): New struct.
18741 (grub_netbsd_btinfo_common): Use explicit bitsize.
18742 (grub_netbsd_btinfo_mmap_entry): Removed.
18743 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18744 (grub_netbsd_btinfo_bootdisk): New struct.
18745 (grub_netbsd_btinfo_symtab): Likewise.
18746 (grub_netbsd_btinfo_serial): Likewise.
18747 (grub_netbsd_btinfo_modules): Likewise.
18748 (grub_netbsd_btinfo_framebuf): Likewise.
18749 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18750 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18751 Likewise.
18752 (grub_openbsd_bootargs): Use explicit bitsize.
18753 (grub_openbsd_bootarg_console): New struct.
18754 (GRUB_OPENBSD_COM_MAJOR): New definition.
18755 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18756 * include/grub/i386/pc/efiemu.h: Removed.
18757 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18758 * include/grub/i386/qemu/loader.h: Removed.
18759 * include/grub/i386/relocator.h: Rewritten.
18760 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18761 * include/grub/mips/memory.h: New file.
18762 * include/grub/mips/multiboot.h: Rewritten.
18763 * include/grub/mips/relocator.h: Rewritten.
18764 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18765 (grub_vtop): New function.
18766 (grub_map_memory): Likewise.
18767 (grub_unmap_memory): Likewise.
18768 * include/grub/misc.h (ALIGN_DOWN): New definition.
18769 * include/grub/mm.h (grub_mm_check_real): New proto.
18770 (GRUB_MM_CHECK): New definition.
18771 * include/grub/mm_private.h: New file.
18772 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18773 (grub_multiboot_get_mbi_size): Removed.
18774 (grub_multiboot_make_mbi): Change prottype.
18775 (grub_multiboot_set_accepts_video): New proto.
18776 (grub_multiboot_add_elfsyms): Likewise.
18777 (grub_multiboot_payload_eip): New variable.
18778 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18779 New prototype.
18780 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18781 New definition.
18782 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18783 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18784 * include/grub/powerpc/ieee1275/loader.h: Removed.
18785 * include/grub/powerpc/memory.h: New file.
18786 * include/grub/powerpc/relocator.h: Likewise.
18787 * include/grub/relocator.h: Likewise.
18788 * include/grub/relocator_private.h: Likewise.
18789 * include/grub/sparc64/ieee1275/loader.h: Removed.
18790 * include/grub/x86_64/memory.h: New file.
18791 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18792 (grub_xnu_heap_malloc): Likewise.
18793 (grub_xnu_heap_real_start): Removed.
18794 (grub_xnu_heap_start): Likewise.
18795 (grub_xnu_relocator): New variable.
18796 (grub_xnu_heap_target_start): Likewise.
18797 * tests/util/grub-shell.in: Support non-pc.
18798 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 18799
5303b85d
VS
188002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18803 on malloc error.
18804 (grub_bidi_logical_to_visual): Check that malloc succeded.
18805 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18806 puts.
18807 (grub_xputs_normal): Likewise.
18808
d768d159
VS
188092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18812 extra_dist.
18813
188142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18817
5bf84df4
VS
188182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18821
3626810e
VS
188222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18825 dprintf.
18826
a7363f53
BC
188272010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18828
18829 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18830
902f75f6
VS
188312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * grub-core/normal/term.c (print_more): Fix a memory leak.
18834 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18835 (grub_xputs_normal): Likewise.
18836
3c707967
VS
188372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18840 the begining of the string
18841
2053cc07
VS
188422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/script/script.c (grub_script_parse): Free parsed on
18845 failure.
18846
46422ebf
VS
188472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18850 on failure.
18851
9e0fa3f6
VS
188522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18855 return.
18856
3393cf16
VS
188572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18860 (scroll_up): Fix a memory leak.
18861
b17540cb
VS
188622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18865 errors.
18866
67140446
VS
188672010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 Handle USB pendrives exposed as floppies.
18870
18871 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18872 floppy.
18873 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18874 Check for partitions on all devices.
18875
e35e46fc
VS
188762010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18879 (readkey): Likewise.
18880
d24c6190
BC
188812010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18882
18883 Multiple variable names support to "export" command.
18884
18885 * normal/context.c (grub_cmd_export): "export" command supports
18886 multiple variable names.
18887
04ddcc6a
ST
188882010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18889
18890 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18891 --target=drive output to Mach device name.
18892
0c8b61d8
BC
188932010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18894
18895 New Automake based build system for GRUB.
18896
18897 * ABOUT-NLS: New file.
18898 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18899 in Makefile.util.def file.
18900 * Makefile.util.def: New file. Autogen build definitions file for
18901 GRUB host utils.
18902 * conf/Makefile.common: New file. Common variables for GRUB host
18903 utils and target modules.
18904 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18905 * docs/Makefile.am: New file. Automake file for docs.
18906 * gentpl.py: New file. Python script to generate Autogen
18907 template.
18908 * grub-core/Makefile.am: New file. GRUB target modules' rules
18909 that doesn't fit in Makefile.core.def file.
18910 * grub-core/Makefile.core.def: New file. Autogen build
18911 definitions file for GRUB target modules.
18912 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18913 specific setjmp.S file.
18914 * po/Makefile.am: New file.
18915
18916 * .bzrignore: New ignores.
18917 * INSTALL: New requirements, without Ruby.
18918 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18919 * autogen.sh: Updated to invoke autogen as necessary.
18920 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18921 and defines for Automake conditionals.
18922 * geninit.sh: Refactoring.
18923
18924 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18925 necessary.
18926 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18927 New prototype.
18928
18929 * include/grub/test.h: Fix functional test modules' naming.
18930 * grub-core/tests/example_functional_test.c: Fix test module name.
18931
18932 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18933 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18934 * util/grub-editenv.c: Likewise.
18935 * util/grub-fstest.c: Likewise.
18936 * util/grub-mkdevicemap.c: Likewise.
18937 * util/grub-mkfont.c: Likewise.
18938 * util/grub-mkimage.c: Likewise.
18939 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18940 * util/grub-probe.c: Likewise.
18941 * util/grub-script-check.c: Likewise.
18942 * util/i386/pc/grub-setup.c: Likewise.
18943 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18944
18945 * tests/util/grub-shell.in: Fix override directory path.
18946 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18947 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18948
18949 * util/lvm.c: Update #includes.
18950 * util/raid.c: Likewise.
18951 * util/resolve.c: Likewise.
18952 * grub-core/bus/emu/pci.c: Likewise.
18953 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18954 * grub-core/lib/posix_wrap/string.h: Likewise.
18955 * grub-core/kern/emu/main.c: Likewise.
18956
18957 * grub-core/gensymlist.sh: New file. Script for generating kernel
18958 symbols file.
18959 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18960
18961 * grub-core/gentrigtables.c: Fix unused variable warnings.
18962
18963 * Makefile.in: Removed.
18964 * conf/any-emu.rmk: Removed.
18965 * conf/common.rmk: Removed.
18966 * conf/i386-coreboot.rmk: Removed.
18967 * conf/i386-efi.rmk: Removed.
18968 * conf/i386-ieee1275.rmk: Removed.
18969 * conf/i386-multiboot.rmk: Removed.
18970 * conf/i386-pc.rmk: Removed.
18971 * conf/i386-qemu.rmk: Removed.
18972 * conf/i386.rmk: Removed.
18973 * conf/mips-yeeloong.rmk: Removed.
18974 * conf/mips.rmk: Removed.
18975 * conf/powerpc-ieee1275.rmk: Removed.
18976 * conf/sparc64-ieee1275.rmk: Removed.
18977 * conf/tests.rmk: Removed.
18978 * conf/x86-efi.rmk: Removed.
18979 * conf/x86_64-efi.rmk: Removed.
18980 * gendistlist.sh: Removed.
18981 * geninitheader.sh: Removed.
18982 * genkernsyms.sh.in: Removed.
18983 * genmk.rb: Removed.
18984 * gensymlist.sh.in: Removed.
18985 * mkinstalldirs: Removed.
18986 * boot: Moved ...
18987 * grub-core/boot: ... to here.
18988 * bus: Moved ...
18989 * grub-core/bus: ... to here.
18990 * commands: Moved ...
18991 * grub-core/commands: ... to here.
18992 * disk: Moved ...
18993 * grub-core/disk: ... to here.
18994 * efiemu: Moved ...
18995 * grub-core/efiemu: ... to here.
18996 * font: Moved ...
18997 * grub-core/font: ... to here.
18998 * fs: Moved ...
18999 * grub-core/fs: ... to here.
19000 * gencmdlist.sh: Moved ...
19001 * grub-core/gencmdlist.sh: ... to here.
19002 * genemuinit.sh: Moved ...
19003 * grub-core/genemuinit.sh: ... to here.
19004 * genemuinitheader.sh: Moved ...
19005 * grub-core/genemuinitheader.sh: ... to here.
19006 * genfslist.sh: Moved ...
19007 * grub-core/genfslist.sh: ... to here.
19008 * genhandlerlist.sh: Moved ...
19009 * grub-core/genhandlerlist.sh: ... to here.
19010 * genmoddep.awk: Moved ...
19011 * grub-core/genmoddep.awk: ... to here.
19012 * genmodsrc.sh: Moved ...
19013 * grub-core/genmodsrc.sh: ... to here.
19014 * genpartmaplist.sh: Moved ...
19015 * grub-core/genpartmaplist.sh: ... to here.
19016 * genparttoollist.sh: Moved ...
19017 * grub-core/genparttoollist.sh: ... to here.
19018 * genterminallist.sh: Moved ...
19019 * grub-core/genterminallist.sh: ... to here.
19020 * gentrigtables.c: Moved ...
19021 * grub-core/gentrigtables.c: ... to here.
19022 * genvideolist.sh: Moved ...
19023 * grub-core/genvideolist.sh: ... to here.
19024 * gettext: Moved ...
19025 * grub-core/gettext: ... to here.
19026 * gfxmenu: Moved ...
19027 * grub-core/gfxmenu: ... to here.
19028 * gnulib: Moved ...
19029 * grub-core/gnulib: ... to here.
19030 * hello: Moved ...
19031 * grub-core/hello: ... to here.
19032 * hook: Moved ...
19033 * grub-core/hook: ... to here.
19034 * io: Moved ...
19035 * grub-core/io: ... to here.
19036 * kern: Moved ...
19037 * grub-core/kern: ... to here.
19038 * lib: Moved ...
19039 * grub-core/lib: ... to here.
19040 * loader: Moved ...
19041 * grub-core/loader: ... to here.
19042 * mmap: Moved ...
19043 * grub-core/mmap: ... to here.
19044 * normal: Moved ...
19045 * grub-core/normal: ... to here.
19046 * partmap: Moved ...
19047 * grub-core/partmap: ... to here.
19048 * parttool: Moved ...
19049 * grub-core/parttool: ... to here.
19050 * script: Moved ...
19051 * grub-core/script: ... to here.
19052 * term: Moved ...
19053 * grub-core/term: ... to here
19054 * tests/example_functional_test.c: Moved ...
19055 * grub-core/tests/example_functional_test.c: ... to here.
19056 * tests/lib/functional_test.c: Moved ...
19057 * grub-core/tests/lib/functional_test.c: ... to here.
19058 * tests/lib/test.c: Moved ...
19059 * grub-core/tests/lib/test.c: ... to here.
19060 * video: Moved ...
19061 * grub-core/video: ... to here.
19062
645586e6
BC
190632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19064
19065 Replace --enable-grub-emu-modules with grub-emu-lite.
19066
19067 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19068 cache.S.
19069
19070 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19071 * kern/emu/full.c: New file. For grub-emu specific initialization.
19072 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19073 * kern/emu/main.c: Call initialization function grub_emu_init.
19074
19075 * Makefile.in: Include grub-emu-lite in install.
19076 * commands/parttool.c: Use grub_no_autoload to differentiate
19077 between grub-emu and grub-emu-lite.
19078 * include/grub/misc.h: New variable grub_no_autoload.
19079
19080 * conf/any-emu.rmk: New rules for grub-emu-lite.
19081 * configure.ac: Remove --enable-grub-emu-modules.
19082 * genmk.rb: Cleanup unnecessary rules.
19083 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19084
19085 * normal/main.c: Don't load list files on grub-emu-lite.
19086 * util/misc.c (grub_arch_sync_caches): Removed.
19087
f86a4030
CW
190882010-08-23 Colin Watson <cjwatson@ubuntu.com>
19089
19090 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19091 grub-mkimage rather than grub-mkelfimage.
19092 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19093
06776944
VS
190942010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19097 a key after CapsLock or NumLock. It's just a qemu bug.
19098
df262419
VS
190992010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19102 needed by libusb wrapper.
19103
b40ea81b
ST
191042010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19105
19106 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19107
dee50575
VS
191082010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19111 --nounzip is passed.
19112
fb1d7b79
VS
191132010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 USB hotunplugging and USB serial support.
19116
19117 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19118 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19119 (grub_uhci_transfer): Respect timeout and set *actual.
19120 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19121 non-standard length.
19122 (grub_usb_device_attach): Autoload modules.
19123 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19124 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19125 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19126 users updated.
19127 (grub_usb_add_hub): Fill nports and children.
19128 (attach_root_port): Receive hub instead of controller.
19129 All users updated. Fill hub->devices.
19130 (grub_usb_root_hub): Allocate hub->devices.
19131 (detach_device): New function.
19132 (poll_nonroot_hub): Fill children and detach devices.
19133 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19134 actual arguments. All users updated.
19135 (grub_usb_bulk_read_extended): New function.
19136 * bus/usb/serial/common.c: New file.
19137 * bus/usb/serial/ftdi.c: Likewise.
19138 * bus/usb/serial/pl2303.c: Likewise.
19139 * commands/terminal.c (handle_command): Support wildcard.
19140 * commands/usbtest.c: Output "Unknown" instead of empty string.
19141 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19142 (usbserial_common_mod_SOURCES): New variable.
19143 (usbserial_common_mod_CFLAGS): Likewise.
19144 (usbserial_common_mod_LDFLAGS): Likewise.
19145 (pkglib_MODULES): Add usbserial_pl2303.mod.
19146 (usbserial_pl2303_mod_SOURCES): New variable.
19147 (usbserial_pl2303_mod_CFLAGS): Likewise.
19148 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19149 (pkglib_MODULES): Add usbserial_ftdi.mod.
19150 (usbserial_ftdi_mod_SOURCES): New variable.
19151 (usbserial_ftdi_mod_CFLAGS): Likewise.
19152 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19153 (pkglib_MODULES): Add serial.mod.
19154 (serial_mod_SOURCES): New variable.
19155 (serial_mod_CFLAGS): Likewise.
19156 (serial_mod_LDFLAGS): Likewise.
19157 * conf/i386-pc.rmk: Likewise.
19158 * conf/mips-yeeloong.rmk: Likewise.
19159 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19160 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19161 * disk/usbms.c (first_available_slot): New variable.
19162 (grub_usbms_attach): Don't reuse free slots due to potential cache
19163 problems.
19164 * include/grub/serial.h: Moved to ..
19165 * include/grub/ns8250.h: ...this.
19166 * include/grub/serial.h: New file.
19167 * include/grub/term.h (grub_term_poll_usb): New variable.
19168 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19169 readkey. All users updated.
19170 (grub_terminfo_output_state): Pass term to put.
19171 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19172 (grub_usb_controller_dev): Add timeout and actual arguments to
19173 transfer. All users updated.
19174 (grub_usb_interface): New field detach_data.
19175 (grub_usb_device): New fields children and nports.
19176 (grub_usb_ep_type_t): New type.
19177 (grub_usb_get_ep_type): New function.
19178 (grub_usb_bulk_read_extended): Likewise.
19179 * include/grub/usbdesc.h (grub_usb_desc): New type.
19180 * include/grub/usbserial.h: New file.
19181 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19182 * kern/term.c (grub_term_poll_usb): New variable.
19183 (grub_getkey): Call grub_term_poll_usb if set.
19184 (grub_checkkey): Likewise.
19185 (grub_getkeystatus): Likewise.
19186 * term/serial.c: Moved controller-specific parts to ...
19187 * term/ns8250.c: ... here.
19188 * term/serial.c: Mostly rewritten.
19189 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19190 according to spec.
19191
21a313de
RM
191922010-08-20 Robert Millan <rmh@gnu.org>
19193
19194 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19195 a separate module and maybe other interesting combinations.
19196
19197 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19198 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19199 (kfreebsd_entry): Add generic filesystem module load routine.
19200 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19201
63c734a6
CW
192022010-08-20 Colin Watson <cjwatson@ubuntu.com>
19203
19204 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19205 "numcenter" (I misunderstood the purpose of this entry).
19206 * docs/grub.texi (sendkey): Likewise.
19207
c4d16542
CW
192082010-08-20 Colin Watson <cjwatson@ubuntu.com>
19209
19210 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19211 status flag options; simply omitting the option is equivalent and
19212 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19213 (keysym_table): Rename "num5numlock" to "numlock".
19214 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19215 can uniformly say that only the last of multiple `sendkey'
19216 invocations has any effect.
19217 * docs/grub.texi (sendkey): New section.
19218
93541d66
CW
192192010-08-19 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * commands/i386/pc/sendkey.c (options): Fix three typos.
19222
b4ece5e1
VS
192232010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 Implement sendkey support.
19226
19227 * commands/i386/pc/sendkey.c: New file.
19228 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19229 (sendkey_mod_SOURCES): New variable.
19230 (sendkey_mod_CFLAGS): Likewise.
19231 (sendkey_mod_LDFLAGS): Likewise.
19232
51f1f5af
CW
192332010-08-18 Colin Watson <cjwatson@ubuntu.com>
19234
19235 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19236 fix warnings from Autoconf.
19237
9da94e05
CW
192382010-08-18 Colin Watson <cjwatson@ubuntu.com>
19239
19240 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19241 to avoid false positives with some assemblers that output things
19242 like "someprefix_func" as part of their output.
19243
729a0f2e
RM
192442010-08-15 Robert Millan <rmh@gnu.org>
19245
19246 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19247 errors.
19248 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19249 grub_get_libzfs_handle() errors.
19250
f3710e08
RM
192512010-08-14 Robert Millan <rmh@gnu.org>
19252
19253 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19254 filesystem is not ZFS.
19255
7a3c13de
BC
192562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19257
19258 Fix for misspelled color names defaulting to black/black (bug
19259 reported by Doug Nazar)
19260
19261 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19262 status to prototype.
19263 * normal/color.c (grub_parse_color_name_pair): Return failure
19264 status.
19265 (grub_env_write_color_normal): Ignore bad color names.
19266 (grub_env_write_color_highlight): Likewise.
19267 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19268
ab8ba50d
BC
192692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19270
19271 "shift" command support to GRUB script.
19272
19273 * include/grub/script_sh.h (grub_script_shift): New prototype.
19274 * script/execute.c (grub_script_shift): New function.
19275 * script/main.c (grub_script_init): Register shift command.
19276 (grub_script_fini): Unregister shift command.
19277 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19278
19279 * tests/grub_script_shift.in: New testcase.
19280 * conf/tests.rmk: Rules for new testcase.
19281
4d61999e
BC
192822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19283
19284 "continue" command support to GRUB script.
19285
19286 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19287 (grub_script_break): Continue support.
19288 * script/main.c (grub_script_init): Register continue command.
19289 (grub_script_fini): Unregister continue command.
19290
19291 * tests/grub_script_continue.in: New testcase.
19292 * conf/tests.rmk: Rules for new testcase.
19293
4df51e00
BC
192942010-08-12 BVK Chaitanya <bvk@dbook>
19295
19296 "break" command support to GRUB script.
19297
19298 * conf/common.rmk: Rule updates to grub-script-check.
19299 * include/grub/misc.h (grub_min): New function.
19300 * include/grub/script_sh.h (grub_script_init): New prototype.
19301 (grub_script_fini): New prototype.
19302 (grub_script_break): New prototype.
19303 * script/main.c (grub_script_init): New function.
19304 (grub_script_fini): New function.
19305 * script/execute.c (grub_script_break): New function.
19306 * normal/main.c: Calls to grub_script_{init,fini}.
19307 * util/grub-script-check.c (grub_script_break): New function.
19308
19309 * tests/grub_script_break.in: New testcase.
19310 * conf/tests.rmk: Rules for new test case.
19311
f12c8420
BC
193122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19313
19314 Function parameters support to GRUB script.
19315
19316 * script/yylex.l (VARIABLE): Regular expression update.
19317 * script/function.c (grub_script_function_call): Moved ...
19318 * script/execute.c (grub_script_function_call): ... to here.
19319 (grub_script_execute_arglist_to_argv): Removed.
19320 (grub_script_arglist_to_argv): New function.
19321 * script/argv.c: New file.
19322 (grub_script_argv_free): New function.
19323 (grub_script_argv_next): Likewise.
19324 (grub_script_argv_append): Likewise.
19325 (grub_script_argv_split_append): Likewise.
19326 * include/grub/script_sh.h (grub_script_argv): New struct.
19327 (grub_script_argv_free): New function.
19328 (grub_script_argv_next): Likewise.
19329 (grub_script_argv_append): Likewise.
19330 (grub_script_argv_split_append): Likewise.
19331
19332 * conf/common.rmk (normal.mod): New source script/argv.c.
19333
19334 * tests/grub_script_echo1.in: More tests.
19335 * tests/grub_script_vars1.in: Likewise.
19336 * tests/grub_script_functions.in: New test case.
19337 * conf/tests.rmk: Rules for new testcase.
19338
8022b748
BC
193392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19340
19341 Remove grub_script_cmdblock struct.
19342
19343 * include/grub/script_sh.h: Remove grub_script_cmdblock.
19344 * script/parser.y: Likewise.
19345 * script/execute.c: Rename cmdblock suffix to cmdlist.
19346 * script/script.c: Likewise.
19347 * util/grub-script-check.c: Likewise.
19348
79a6ba61
YB
193492010-08-11 Yves Blusseau <blusseau@zetam.org>
19350
19351 * .bzrignore: add grub-macho2img
19352
d04b9414
VS
193532010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19356
f947ab49
VS
193572010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 Remove the dump of sm712 initialisation sequence.
19360
19361 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
19362 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
19363 (GRUB_VGA_IO_MISC_WRITE): Likewise.
19364 (GRUB_VGA_CR_*): Added many registers.
19365 (GRUB_VGA_SR_*): Likewise.
19366 (GRUB_VGA_GR_*): Likewise.
19367 (grub_vga_write_arx): New function.
19368 (grub_video_hw_config): New struct.
19369 (grub_vga_set_geometry): New function.
19370 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
19371 GRUB_PCI_CLASS_SUBCLASS_VGA.
19372 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
19373 * video/sm712.c (grub_sm712_write_reg): New function
19374 (grub_sm712_read_reg): Likewise.
19375 (grub_sm712_sr_write): Likewise.
19376 (grub_sm712_gr_write): Likewise.
19377 (grub_sm712_cr_write): Likewise.
19378 (grub_sm712_write_arx): Likewise.
19379 (grub_sm712_cr_shadow_write): Likewise.
19380 (grub_sm712_write_dda_lookup): Likewise.
19381 (grub_video_sm712_setup): Initialise the video rather then
19382 blindly replay the dump.
19383 (main) [TEST]: Add a routine to be able to compile as standalone for
19384 tests.
19385 * video/sm712_init.c (sm712_init): Removed.
19386 (sm712_sr_seq1): New array.
19387 (sm712_sr_seq2): Likewise.
19388
f0206638
VS
193892010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * include/grub/vga.h: Add missing grub/pci.h include.
19392
2764da3b
YB
193932010-08-10 Yves Blusseau <blusseau@zetam.org>
19394
19395 * util/grub-macho2img.c (main): fix typo
19396
cf0c775e
VS
193972010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
19400 (grub_vga_gr_read): Likewise.
19401 (grub_vga_cr_write): Likewise.
19402 (grub_vga_cr_read): Likewise.
19403 (grub_vga_sr_write): Likewise.
19404 (grub_vga_sr_read): Likewise.
19405 (grub_vga_palette_read): Likewise.
19406 (grub_vga_palette_write): Likewise.
19407 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
19408 (grub_sm712_sr_read): New function.
19409 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
19410 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
19411
07f360e9
RM
194122010-08-09 Robert Millan <rmh@gnu.org>
19413
19414 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
19415 out unused variables on non-ZFS build.
19416
346c2072
RM
194172010-08-08 Robert Millan <rmh@gnu.org>
19418
19419 Fix path generation for sub-filesystems in ZFS.
19420
19421 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
19422 missing slash.
19423
71175420
RM
194242010-08-08 Robert Millan <rmh@gnu.org>
19425
19426 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19427
0d8286f3
RM
194282010-08-08 Robert Millan <rmh@gnu.org>
19429
19430 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
19431 exist, issue a proper error message (rely on `ls' for translated
19432 strings).
19433
55dd2924
RM
194342010-08-08 Robert Millan <rmh@gnu.org>
19435
19436 Fix grub-probe invocation.
19437
19438 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
19439
d3dd9e80
RM
194402010-08-04 Robert Millan <rmh@gnu.org>
19441
19442 * configure.ac: Remove checks for getfsstat() and getmntany().
19443 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
19444 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
19445 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
19446 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
19447 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
19448 function.
19449 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
19450 via find_mount_point_from_dir() and getfsstat() / getmntany().
19451
0de22aa9
RM
194522010-08-04 Robert Millan <rmh@gnu.org>
19453
19454 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19455 (grub_find_zpool_from_mount_point): Merge into ...
19456 (grub_find_zpool_from_dir): ... this.
19457 * kern/emu/misc.c: Likewise.
19458
19459 * kern/emu/misc.c
19460 (grub_make_system_path_relative_to_its_root): Replace
19461 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19462 with grub_find_zpool_from_dir().
19463 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19464
62858144
RM
194652010-08-04 Robert Millan <rmh@gnu.org>
19466
19467 Support OpenSolaris in ZFS device resolution.
19468
19469 * configure.ac: Check for getmntany().
19470 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19471 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19472 support.
19473
9dd6fd50
RM
194742010-08-03 Robert Millan <rmh@gnu.org>
19475
19476 Fix grub-emu build.
19477
19478 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19479 * include/grub/emu/misc.h: ... here.
19480
19481 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19482 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19483
19484 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19485 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19486 (grub_get_libzfs_handle): Move to ...
19487 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19488 (grub_get_libzfs_handle): ... here.
19489
c9f7ff97
BC
194902010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19491
19492 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19493 as command name case.
19494
a870a783
CW
194952010-08-02 Colin Watson <cjwatson@ubuntu.com>
19496
19497 * disk/raid.c (insert_array): Select unique numbers for named arrays
19498 as well, for use as keys in the disk cache.
19499
c7db243b
RM
195002010-08-01 Robert Millan <rmh@gnu.org>
19501
19502 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19503 kFreeBSD device name, except on ZFS where the filesystem label is
19504 used.
19505 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19506 `/boot/zfs/zpool.cache'.
19507 Set mountfrom kernel variable using ${kfreebsd_device}.
19508
f7abdefb
RM
195092010-08-01 Robert Millan <rmh@gnu.org>
19510
19511 Make it even harder to use uninitialized `libzfs_handle' (and
19512 make the interface a bit simpler).
19513
19514 * include/grub/util/misc.h (grub_util_init_libzfs)
19515 (libzfs_handle): Remove.
19516 (grub_get_libzfs_handle): New prototype.
19517
19518 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19519 attribute.
19520 (grub_util_init_libzfs): Remove.
19521 (grub_get_libzfs_handle): New function.
19522
19523 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19524 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19525 accessing `libzfs_handle' directly.
19526
c882acc0
RM
195272010-08-01 Robert Millan <rmh@gnu.org>
19528
19529 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19530 (grub_find_zpool_from_mount_point): New function prototypes.
19531
19532 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19533 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19534
19535 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19536 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19537 `static' attribute.
19538
19539 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19540 finding zpool from mount point into ...
19541 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19542
19543 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19544 requested path is part of a ZFS pool, use
19545 grub_find_zpool_from_mount_point() to detect its filesystem name,
19546 and generate a path with `/fsname@path' syntax.
19547
8bfe31d8
CW
195482010-08-01 Colin Watson <cjwatson@ubuntu.com>
19549
19550 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19551 (void) rather than () so that this is a proper prototype.
19552
553df63d
VS
195532010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19556
8687cf07
VS
195572010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19560 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19561
ea9be8ea
CW
195622010-08-01 Colin Watson <cjwatson@ubuntu.com>
19563
19564 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19565
6eea041a
CW
195662010-08-01 Colin Watson <cjwatson@ubuntu.com>
19567
19568 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19569
2cfb45df
CW
195702010-08-01 Colin Watson <cjwatson@ubuntu.com>
19571
19572 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19573 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19574 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19575 disable gfxpayload.
19576 (Shell-like scripting): Add real content.
19577 (Serial terminal): Suggest `terminal_input serial; terminal_output
19578 serial' rather than putting the two commands on separate lines,
19579 since console input will be inoperative after the first command.
19580 (menuentry): Document --class, --users, and --hotkey options.
19581 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19582 Vladimir Serbinenko).
19583
7decd202
VS
195842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
195852010-08-01 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19588
c882acc0
RM
195892010-08-01 Robert Millan <rmh@gnu.org>
19590
19591 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19592 (grub_find_zpool_from_mount_point): New function prototypes.
19593
19594 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19595 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19596
19597 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19598 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19599 `static' attribute.
19600
19601 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19602 finding zpool from mount point into ...
19603 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19604
19605 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19606 requested path is part of a ZFS pool, use
19607 grub_find_zpool_from_mount_point() to detect its filesystem name,
19608 and generate a path with `/fsname@path' syntax.
19609
deb0caa3
RM
196102010-08-01 Robert Millan <rmh@gnu.org>
19611
19612 Prevent accidental use of uninitialized libzfs_handle.
19613
19614 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19615 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19616 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19617
ce04ef47
CW
196182010-08-01 Colin Watson <cjwatson@ubuntu.com>
19619
19620 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19621 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19622
ebf53056
RM
196232010-08-01 Robert Millan <rmh@gnu.org>
19624
19625 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 19626
3710bb6b
RM
196272010-07-31 Robert Millan <rmh@gnu.org>
19628
19629 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19630
8072efeb
RM
196312010-07-31 Robert Millan <rmh@gnu.org>
19632
19633 * kern/emu/misc.c: Add missing license header.
19634
3169f4c7
RM
196352010-07-31 Robert Millan <rmh@gnu.org>
19636
19637 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19638
19639 * include/grub/util/libnvpair.h: Include `<config.h>'.
19640 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19641 declaring libnvpair prototypes ourselves.
19642 * include/grub/util/libzfs.h: Include `<config.h>'.
19643 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19644 declaring libzfs prototypes ourselves.
19645
19646 (libzfs_handle): Moved to ...
19647 * include/grub/util/misc.h (libzfs_handle): ... here.
19648 Include `<grub/util/libzfs.h>'.
19649
c9a00aee
RM
196502010-07-30 Robert Millan <rmh@gnu.org>
19651
19652 * include/grub/emu/misc.h: Add missing license header.
19653
a184f9c8
RM
196542010-07-30 Robert Millan <rmh@gnu.org>
19655
19656 Enable `grub-probe -t device' resolution on ZFS.
19657
19658 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19659 * include/grub/util/libnvpair.h: New file.
19660 * include/grub/util/libzfs.h: New file.
19661
19662 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19663 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19664 `<grub/util/libnvpair.h>'.
19665 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19666
19667 (find_mount_point_from_dir): New static function.
19668 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19669 function.
19670 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19671 find_root_device_from_libzfs() before ressorting to find_root_device().
19672
19673 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19674 prototype.
19675 * util/misc.c: Include `<grub/util/libzfs.h>'.
19676 (grub_util_init_libzfs): New function.
19677 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19678 [HAVE_LIBZFS] (fini_libzfs): New static function.
19679 (grub_util_init_libzfs): New function.
19680 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19681
f7790cdd
RM
196822010-07-30 Robert Millan <rmh@gnu.org>
19683
19684 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19685 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19686 `warn_unused_result' attribute.
19687 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19688 (grub_xasprintf, grub_xvasprintf): Likewise.
19689 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19690
0806b63c
RM
196912010-07-29 Robert Millan <rmh@gnu.org>
19692
19693 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19694 (probe): Handle `PRINT_FS_LABEL'.
19695 (main): Handle `-t fs_label'.
19696
9f841f5c
RM
196972010-07-29 Robert Millan <rmh@gnu.org>
19698
19699 * configure.ac: Remove grub-mkisofs checks.
19700
46371121
VS
197012010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19704 Reported by: Lennart Sorensen.
19705
197062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19709 prior to terminal_input/terminal_output separation. It's been over 1.5
19710 years and those versions weren't widely deployed.
19711
a9600892
CW
197122010-07-22 Colin Watson <cjwatson@ubuntu.com>
19713
19714 * disk/raid.c (insert_array): Don't count named arrays when looking
19715 for unused array numbers.
697e053c 19716 Reported and tested by: Michael Guntsche.
a9600892 19717
c03507df
CW
197182010-07-20 Colin Watson <cjwatson@ubuntu.com>
19719
19720 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19721 implementation of this so that grub-emu links again, with a note
19722 that this should support hotplugging in the future.
19723
b26f1c11
CW
197242010-07-20 Colin Watson <cjwatson@ubuntu.com>
19725
19726 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19727
efc9d7f1
CW
197282010-07-20 Colin Watson <cjwatson@ubuntu.com>
19729
19730 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19731 handle on failure.
19732 (grub_loopback_close): Remove empty function.
19733 (grub_loopback_dev): Remove close method.
19734
dd8ff5c9
CW
197352010-07-20 Colin Watson <cjwatson@ubuntu.com>
19736
19737 Disable EFI cursor when the EFI console becomes inactive.
19738
19739 * term/efi/console.c (grub_efi_console_init): New function.
19740 (grub_efi_console_fini): New function.
19741 (grub_console_term_output): Register init and fini methods.
19742
5e3bec67
VS
197432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19746 sh script.
19747
afaec079
VS
197482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19749
19750 * disk/loopback.c (grub_loopback): Replace filename with file.
19751 (delete_loopback): Handle new semantics.
19752 (grub_cmd_loopback): Likewise.
19753 (grub_loopback_iterate): Likewise.
19754 (grub_loopback_close): Likewise.
19755
a6a11f3c
VS
197562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19759 with -p "".
19760 Reported by: Tito Keitel.
19761
64a638b0
VS
197622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * docs/grub.texi (Naming convention): Document new naming convention.
19765
ab8ba957
VS
197662010-07-20 Vadim Solomin <vadic052@gmail.com>
197672010-07-20 Colin Watson <cjwatson@ubuntu.com>
19768
19769 Generate device.map in something closer to the old ordering.
19770
19771 * util/deviceiter.c (struct device): New declaration.
19772 (compare_file_names): Rename to ...
19773 (compare_devices): ... this. Sort by kernel name in preference to
19774 the stable by-id name, but keep the latter as a fallback comparison.
19775 Update header comment.
19776 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19777 of `struct device' rather than of plain file names.
19778
a29d6a4b
TF
197792010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19780
19781 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19782 on i386.
19783
39d824e8
VS
197842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19787 hardcoding size.
19788 (setv1table): Likewise.
19789
f058276b
FZ
197902010-07-20 Colin Watson <cjwatson@ubuntu.com>
19791
19792 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19793 removing the homehost if present.
19794 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19795 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19796 removing the homehost if present.
19797 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19798 if possible.
19799 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19800
19801 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19802 parameter. Set its pointer target to 0.
19803 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19804 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19805 `data_offset' value from the superblock for 1.x metadata.
19806 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19807 data on the device.
19808 (insert_array): Record the start sector of data on the device.
19809 (grub_raid_register): Pass start_sector parameters to
19810 grub_raid_list->detect and insert_array.
19811 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19812 member.
19813 (struct grub_raid): Add start_sector parameter to `detect'.
19814
19815 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19816 __attribute__ ((packed)), leaving a comment.
19817 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19818 (grub_mdraid_detect_09): ... here and ...
19819 (grub_mdraid_detect_1x): ... here.
19820
198212010-07-20 Peter Henn <peter.henn@web.de>
19822
19823 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19824 chunk size and disk size, which are already given as sector counts
19825 as distinct from the 0.90 units. Fetch the correct device number
19826 from the role table instead of using the table index.
19827
198282010-07-20 Felix Zielcke <fzielcke@z-51.de>
19829
19830 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19831 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19832 (WriteMostly1): New macro.
19833 Set array->name to NULL for metadata format 0.90. Add support for
19834 metadata 1.x. Fix some comments.
19835 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19836 few comments.
19837 * util/getroot.c (grub_util_get_grub_dev): Add support for
19838 /dev/md/name style devices.
19839
4b761da9
CW
198402010-07-20 Colin Watson <cjwatson@ubuntu.com>
19841
19842 * .bzrignore: Ignore 20_linux_xen.
19843
5771289a
CW
198442010-07-17 Colin Watson <cjwatson@ubuntu.com>
19845
19846 * util/import_unicode.py: Remove unnecessary imports.
19847
5dab68df
AN
198482010-07-17 Aleš Nesrsta <starous@volny.cz>
19849
19850 Hotplugging and USB hub support.
19851
19852 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19853 (grub_ohci): Likewise.
19854 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19855 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19856 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19857 (GRUB_OHCI_CTRL_EDS): Likewise.
19858 (GRUB_OHCI_BULK_EDS): Likewise.
19859 (GRUB_OHCI_TDS): Likewise.
19860 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19861 (grub_ohci_ed_phys2virt): New function.
19862 (grub_ohci_virt_to_phys): Likewise.
19863 (grub_ohci_td_phys2virt): Likewise.
19864 (grub_ohci_td_virt2phys): Likewise.
19865 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19866 attachment.
19867 (grub_ohci_find_ed): New function.
19868 (grub_ohci_alloc_td): Likewise.
19869 (grub_ohci_free_td): Likewise.
19870 (grub_ohci_free_tds): Likewise.
19871 (grub_ohci_transfer): Use previously allocated memory.
19872 (grub_ohci_portstatus): Reset status changed bit.
19873 (grub_ohci_detect_dev): Supply status changed.
19874 (grub_ohci_fini_hw): Free memory.
19875 (grub_ohci_restore_hw): Reallocate memory.
19876 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19877 Reset status change.
19878 (grub_uhci_detect_dev): Supply status_change.
19879 * bus/usb/usb.c (attach_hooks): New var.
19880 (grub_usb_device_attach): New function.
19881 (grub_usb_register_attach_hook_class): Likewise.
19882 (grub_usb_unregister_attach_hook_class): Likewise.
19883 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19884 (grub_usb_add_hub): Reset connection changed bit.
19885 (attach_root_port): New function.
19886 (grub_usb_root_hub): Likewise.
19887 (poll_nonroot_hub): Likewise.
19888 (grub_usb_poll_devices): Likewise.
19889 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19890 * disk/usbms.c (grub_usbms_open): Use device hooks.
19891 (grub_usbms_iterate) :Poll devices.
19892 (grub_usbms_finddevs): Split into ...
19893 (grub_usbms_attach): ... this ...
19894 (grub_usbms_attach): ... and this.
19895 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19896 in detect_dev.
19897 (grub_usb_interface): New fields attached and detach_hook.
19898 (grub_usb_attach_hook_class): New type.
19899 (grub_usb_attach_desc): New struct.
19900 (grub_usb_register_attach_hook_class): New function.
19901 (grub_usb_unregister_attach_hook_class): Likewise.
19902 (grub_usb_poll_devices): Likewise.
19903 (grub_usb_device_attach): Likewise.
19904 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19905 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19906
3222efaf
VS
199072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19910 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19911 delta determination style. Works with most NetBSD partitions too.
19912
139b714a
VS
199132010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19916 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19917
986aad56
VS
199182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19921
99be513c
AB
199222010-07-14 Anton Blanchard <anton@samba.org>
19923
19924 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19925 ET_DYN files.
19926
18075f62
GS
199272010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19928
19929 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19930
8d9a5b15
GS
199312010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19932
19933 * kern/partition.c (grub_partition_check_containment): New function to
19934 check that a partition is physically contained in a parent. Since
19935 offsets are relative (and non-negative), this reduces to checking that
19936 the partition ends before its parent.
19937 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19938 (grub_partition_iterate): Likewise.
19939 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19940 comments.
19941 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19942 partitions that start before their parent, and add debug printfs.
19943
19563c25
CW
199442010-07-13 Colin Watson <cjwatson@ubuntu.com>
19945
19946 * Makefile.in (.SUFFIX): Spell correctly, as ...
19947 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19948 bare module name without `.mod', e.g. `test') tried to invoke a
19949 Modula-2 compiler.
19950
1a1f1e67
CW
199512010-07-13 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * README: Point to the Info manual.
19954
811b0dca
JS
199552010-07-13 Jiro SEKIBA <jir@unicus.jp>
19956
19957 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19958 2nd superblock position from partition size.
19959
e4f4eafc
CW
199602010-07-10 Colin Watson <cjwatson@ubuntu.com>
19961
19962 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19963 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19964 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19965 outputs.
19966
4274c30f
VS
199672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 Restructure SCSI .id handling.
19970 Reported and tested by: Aleš Nesrsta.
19971
19972 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19973 (grub_atapi_dev): Changed .name to "ata". New field .id.
19974 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19975 (grub_usbms_dev): New field .id.
19976 * disk/scsi.c (grub_scsi_iterate): Generate name.
19977 (grub_scsi_open): Parse name.
19978 * include/grub/scsi.h (grub_make_scsi_id): New function.
19979 (grub_scsi_dev): Change iterate and open to number instead of naming
19980 busses. All users updated.
19981 (grub_scsi): Remove name. Add .bus.
19982
5bc24388
VS
199832010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * commands/help.c (grub_cmd_help): Fix a typo.
19986
249975ba
VS
199872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19990 Reported and tested by: Colin Watson.
19991
3eaac1a1
VS
199922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19995 in this context.
19996
becce1b1
VS
199972010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19998
19999 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20000
f7bf0918
CW
200012010-07-07 Colin Watson <cjwatson@ubuntu.com>
20002
20003 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20004 indentation.
20005
0b0f9620
CW
200062010-07-06 Colin Watson <cjwatson@ubuntu.com>
20007
20008 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20009 and disk/raid6_recover.c.
20010 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20011 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20012
1e545469
CW
200132010-07-06 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * term/gfxterm.c (repaint_schedulded): Rename to ...
20016 (repaint_scheduled): ... this. Update all callers.
20017 (repaint_was_schedulded): Rename to ...
20018 (repaint_was_scheduled): ... this. Update all callers.
20019
5357687a
CW
200202010-07-06 Colin Watson <cjwatson@ubuntu.com>
20021
20022 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20023 which we expect to be handled by upper layers.
20024
29d7e783
BC
200252010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20026
20027 * bus/usb/usbhub.c: #include time.h header.
20028
37582066
CW
200292010-07-06 Colin Watson <cjwatson@ubuntu.com>
20030
20031 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20032 entry_name also for entries without stat blocks (e.g. ".."); fixes
20033 corruption of the first entry in a directory.
20034
c8c06953
CW
200352010-07-06 Colin Watson <cjwatson@ubuntu.com>
20036
20037 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20038 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20039 doesn't work otherwise.
20040
e75056f1
CW
200412010-07-05 Colin Watson <cjwatson@ubuntu.com>
20042
20043 * docs/grub.texi (Features): Update list of supported file systems.
20044 (GNU/Linux): Update for GRUB 2.
20045 (Serial terminal): Remove mention of --disable-serial, which was a
20046 GRUB Legacy configure option. Update instructions to use
20047 `terminal_input' and `terminal_output' rather than `terminal'.
20048 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20049 configuration' and `Installing GRUB using grub-install'.
20050 (Menu entry editor): Update for GRUB 2.
20051 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20052 Document new -a, -u, and -v options.
20053 (initrd): New section.
20054 (initrd16): New section.
20055 (linux): New section.
20056 (linux16): New section.
20057 (search): The `var' argument to `--set' is optional.
20058 (GRUB only offers a rescue shell): Go into a little more detail on
20059 drive ordering.
20060
5cf69151
CW
200612010-07-05 Colin Watson <cjwatson@ubuntu.com>
20062
20063 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20064
e3f90044
CW
200652010-07-05 Colin Watson <cjwatson@ubuntu.com>
20066
20067 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20068 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20069
38d8f4f3
CW
200702010-07-05 Colin Watson <cjwatson@ubuntu.com>
20071
20072 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20073 install_prefix, in line with install_dos_part and install_bsd_part.
20074 Add new prefix variable, which is copied to install_prefix after
20075 comparing core.img in memory with the one read from disk in the
20076 no-embedding case, and use that rather than overwriting
20077 install_prefix immediately when installing to a partition.
20078 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20079 Bicakci.
20080
57ebd41e
GS
200812010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20082
20083 * configure.ac: Avoid == in test command, it's not portable.
20084 * util/grub.d/30_os-prober.in: Likewise.
20085
cb7f64b2
CW
200862010-07-04 Colin Watson <cjwatson@ubuntu.com>
20087
20088 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20089
6b654bb0
GS
200902010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20091
20092 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20093 multiple (top-level) partmaps.
20094
72a2026d
VS
200952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20098 Reported by: Tino Keitel.
72a2026d 20099
df3eb88f
VS
201002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 Bidi and diacritics support.
20103
20104 * Makefile.in (widthspec.bin): New target.
20105 (widthspec.h): Likewise.
20106 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20107 * autogen.sh: Generate unidata.c.
20108 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20109 * commands/ls.c (grub_ls_list_devices): Likewise.
20110 (grub_ls_list_files): Likewise.
20111 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20112 (grub_mini_cmd_lsmod): Likewise.
20113 * commands/read.c: Likewise.
20114 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20115 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20116 * lib/arg.c (grub_arg_show_help): Likewise.
20117 * lib/crypto.c (grub_password_get): Likewise.
20118 * normal/auth.c (grub_username_get): Likewise.
20119 * normal/misc.c (grub_normal_print_device_info): Likewise.
20120 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20121 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20122 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20123 (normal/charset.c_DEPENDENCIES): New variable.
20124 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20125 (pkglib_MODULES): Remove charset.mod.
20126 (charset_mod_SOURCES): Removed.
20127 (charset_mod_CFLAGS): Likewise.
20128 (charset_mod_LDFLAGS): Likewise.
20129 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20130 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20131 and term/tparm.c.
20132 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20133 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20134 (kernel_img_HEADERS): Add terminfo.h.
20135 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20136 Fill ->font. Reverse ascii bitmaps.
20137 (grub_font_get_xheight): New function.
20138 * font/font.c (grub_font_get_string_width): Moved from here ...
20139 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20140 * font/font.c (grub_font_draw_string): Moved from here ...
20141 * gfxmenu/font.c (grub_font_draw_string): ... here.
20142 * font/font.c (grub_font_dup_glyph): New function.
20143 (grub_font_blit_glyph): Likewise.
20144 (grub_font_blit_glyph_mirror): Likewise.
20145 (blit_comb): Likewise.
20146 (grub_font_construct_dry_run): Likewise.
20147 (grub_font_get_constructed_device_width): Likewise.
20148 (grub_font_construct_glyph): Likewise.
20149 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20150 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20151 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20152 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20153 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20154 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20155 (grub_font_get_xheight): New proto.
20156 (grub_font_get_constructed_device_width): Likewise.
20157 (grub_font_construct_glyph): Likewise.
20158 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20159 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20160 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20161 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20162 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20163 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20164 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20165 (grub_console_getcharwidth): Likewise.
20166 * include/grub/misc.h (grub_xputs): New proto.
20167 (grub_puts): Inlined.
20168 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20169 (grub_normal_get_line_counter): Removed.
20170 (grub_install_newline_hook): Likewise.
20171 (grub_normal_get_char_counter): New proto.
20172 (grub_normal_reset_more): Likewise.
20173 (grub_xputs_normal): Likewise.
20174 * include/grub/powerpc/ieee1275/console.h: Removed.
20175 * include/grub/sparc64/ieee1275/console.h: Likewise.
20176 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20177 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20178 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20179 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20180 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20181 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20182 (grub_term_input): Pass reference to self. All users updated.
20183 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20184 Pass reference to self. New fields normal_color, highlight_color and
20185 data. All users updated.
20186 (grub_putchar): Removed.
20187 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20188 (grub_unicode_estimate_width): New function.
20189 (grub_term_getcharwidth): Add defaults.
20190 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20191 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20192 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20193 (grub_cls): Remove EXPORT_FUNC.
20194 (grub_setcolorstate): Inline.
20195 (grub_newline_hook): Removed.
20196 * include/grub/terminfo.h: Rewritten. All users updated.
20197 * include/grub/unicode.h: New file.
20198 * include/grub/video.h (grub_video_signed_rect): New type.
20199 * kern/emu/console.c (grub_console_highlight_color): Removed.
20200 (grub_console_normal_color): Likewise.
20201 (grub_console_standard_color): Made static.
20202 (grub_ncurses_putchar): Remove mapping.
20203 (grub_ncurses_getcharwidth): Removed.
20204 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20205 (grub_ncurses_setcolor): Removed.
20206 (grub_ncurses_getcolor): Likewise.
20207 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20208 (grub_console_putchar): ... this.
20209 (grub_console_putchar): Handle argument difference.
20210 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20211 console_init_early and console_init_lately.
20212 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20213 * kern/misc.c (grub_puts): Removed.
20214 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20215 (grub_vsnprintf_real): Remove str = NULL support.
20216 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20217 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20218 * kern/term.c (grub_putcode): Renamed to ...
20219 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20220 (grub_putchar): Removed.
20221 (grub_xputs_dumb): New function.
20222 (grub_xputs): New variable.
20223 * lib/charset.c: Move from here ...
20224 * normal/charset.c: ... to here.
20225 (grub_ucs4_to_utf8): New function.
20226 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20227 (join_types): New variable.
20228 (unpack_join): New function.
20229 (bidi_types): New variable.
20230 (unpack_bidi): New function.
20231 (get_bidi_type): Likewise.
20232 (get_join_type): Likewise.
20233 (is_mirrored): Likewise.
20234 (grub_unicode_get_comb_type): Likewise.
20235 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20236 (is_type_after): Likewise.
20237 (grub_unicode_aglomerate_comb): Likewise.
20238 (bidi_line_wrap): Likewise.
20239 (grub_bidi_line_logical_to_visual): Likewise.
20240 (grub_bidi_logical_to_visual): Likewise.
20241 (grub_unicode_mirror_code): Likewise.
20242 (grub_unicode_shape_code): Likewise.
20243 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20244 Don't use grub_putchar.
20245 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20246 (grub_normal_reader_init): Likewise.
20247 (grub_xputs_saved): New variable.
20248 (GRUB_MOD_INIT): Set grub_xputs.
20249 (GRUB_MOD_FINI): Restore grub_xputs.
20250 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20251 (menu_init): Avoid printing gfxmenu error.
20252 (show_menu): Use grub_normal_get_char_counter.
20253 * normal/menu_entry.c (update_screen): Fix out-of-array.
20254 (complete): Avoid NULL dereferencing.
20255 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20256 * normal/menu_text.c (print_spaces): Removed.
20257 (grub_print_ucs4): Likewise.
20258 (grub_print_message_indented): Use grub_print_ucs4.
20259 (print_message): Use grub_putcode.
20260 (print_entry): Hanlde diacritics.
20261 * normal/term.c (term_state): New type.
20262 (grub_more_lines): Removed.
20263 (term_states): New variable.
20264 (grub_normal_line_counter): Renamed to ..
20265 (grub_normal_char_counter): ...this. All users updated.
20266 (grub_normal_get_line_counter): Renamed to ...
20267 (grub_normal_get_char_counter): ... this.
20268 (grub_normal_reset_more): New function.
20269 (process_newline): Removed.
20270 (print_more): New function.
20271 (grub_install_newline_hook): Removed.
20272 (map_code): New function.
20273 (grub_puts_terminal): Use grub_print_ucs4.
20274 (putglyph): New function.
20275 (putcode_real): Likewise.
20276 (grub_putcode): Use putcode_real.
20277 (get_maxwidth): New function.
20278 (get_startwidth): Likewise.
20279 (print_ucs4_terminal): Likewise.
20280 (find_term_state): Likewise.
20281 (put_glyphs_terminal): Likewise.
20282 (print_backlog): Likewise.
20283 (print_ucs4_real): Likewise.
20284 (grub_print_ucs4): Likewise.
20285 (grub_xputs_normal): Likewise.
20286 * term/efi/console.c (grub_console_putchar): Output diacritics.
20287 (grub_console_getcharwidth): Removed.
20288 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20289 * term/gfxterm.c (clear_char): Free chars.
20290 (scroll_up): Avoid leaking memory.
20291 (grub_gfxterm_putchar): Support diacritics.
20292 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20293 * term/i386/pc/console.c (grub_console_term_output): Declare as
20294 GRUB_TERM_CODE_TYPE_VGA.
20295 * term/i386/pc/vga.c (grub_vga_term): Declare as
20296 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
20297 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
20298 GRUB_TERM_CODE_TYPE_VGA.
20299 * term/i386/vga_common.c (map_char): Removed.
20300 (grub_console_putchar): Likewise.
20301 (grub_console_getcharwidth): Likewise.
20302 * term/ieee1275/ofconsole.c: Simplify using terminfo.
20303 (colors): Reordered to match terminfo.
20304 (grub_ofconsole_normal_color): Removed.
20305 (grub_ofconsole_writeesc): Likewise.
20306 (grub_ofconsole_highlight_color): Likewise.
20307 (grub_ofconsole_getcharwidth): Likewise.
20308 (grub_ofconsole_setcolorstate): Likewise.
20309 (grub_ofconsole_setcolor): Likewise.
20310 (grub_ofconsole_getcolor): Likewise.
20311 (grub_ofconsole_readkey): Renamed to ...
20312 (readkey): ... this. Remove escape sequence handling. Return -1 on no
20313 key.
20314 (grub_ofconsole_checkkey): Removed.
20315 (grub_ofconsole_getkey): Likewise.
20316 (grub_ofconsole_getxy): Likewise.
20317 (grub_ofconsole_gotoxy): Likewise.
20318 (grub_ofconsole_cls): Likewise.
20319 (grub_ofconsole_refresh): Likewise.
20320 (grub_ofconsole_terminfo_input): New struct.
20321 (grub_ofconsole_terminfo_output): Likewise.
20322 (grub_ofconsole_term_input): Use terminfo.
20323 (grub_ofconsole_term_output): Likewise.
20324 (grub_console_init): Split into ...
20325 (grub_console_init_early): ...this and ...
20326 (grub_console_init_lately): ...this. Use terminfo.
20327 (grub_ofconsole_putchar): Renamed to ...
20328 (put): ... this. Remove mapping.
20329 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20330 * term/serial.c: Simplify using terminfo.
20331 (xpos): Removed.
20332 (ypos): Likewise.
20333 (keep_track): Likewise.
20334 (registered): Likewise.
20335 (input_buf): Likewise.
20336 (npending): Likewise.
20337 (serial_translate_key_sequence): Likewise.
20338 (fill_input_buf): Likewise.
20339 (grub_serial_checkkey): Likewise.
20340 (grub_serial_getkey): Likewise.
20341 (grub_serial_getxy): Likewise.
20342 (grub_serial_gotoxy): Likewise.
20343 (grub_serial_putchar): Likewise.
20344 (grub_serial_cls): Likewise.
20345 (grub_serial_setcolorstate): Likewise.
20346 (grub_serial_setcursor): Likewise.
20347 (serial_hw_init): Use serial_hw_fetch.
20348 (grub_serial_terminfo_input): New variable.
20349 (grub_serial_terminfo_output): Likewise.
20350 (grub_serial_term_input): Use terminfo.
20351 (grub_serial_term_output): Likewise.
20352 * term/terminfo.c (putstr): Use put.
20353 (grub_terminfo_all_free): New function
20354 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
20355 (grub_terminfo_output_register): New function.
20356 (grub_terminfo_output_unregister): Likewise.
20357 (grub_terminfo_getxy): Likewise.
20358 (grub_terminfo_readkey): Likewise.
20359 (grub_terminfo_checkkey): Likewise.
20360 (grub_terminfo_getkey): Likewise.
20361 (grub_terminfo_input_init): Likewise.
20362 (print_terminfo): Likewise.
20363 (grub_cmd_terminfo): Handle encoding.
20364 (grub_terminfo_gotoxy): Track position.
20365 (grub_terminfo_cls): Likewise.
20366 (grub_terminfo_putchar): Likewise.
20367 (grub_terminfo_setcolorstate): Handle colors
20368 (grub_terminfo_cursor_on): This ...
20369 (grub_terminfo_cursor_off): ... and this merged into ...
20370 (grub_terminfo_setcursor): ... this.
20371 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
20372 * unicode/ArabicShaping.txt: New file (imported from Unicode).
20373 * unicode/BidiMirroring.txt: Likewise.
20374 * unicode/UnicodeData.txt: Likewise.
20375 * unicode/COPYING: Likewise.
20376 * util/grub-editenv.c (grub_putchar): Removed.
20377 (grub_xputs_real): New function.
20378 (grub_xputs): New variable.
20379 * util/grub-fstest.c (grub_putchar): Removed.
20380 (grub_xputs_real): New function.
20381 (grub_xputs): New variable.
20382 * util/grub-mkdevicemap.c (grub_putchar): Removed.
20383 (grub_xputs_real): New function.
20384 (grub_xputs): New variable.
20385 * util/grub-probe.c (grub_putchar): Removed.
20386 (grub_xputs_real): New function.
20387 (grub_xputs): New variable.
20388 * util/grub-script-check.c (grub_putchar): Removed.
20389 (grub_xputs_real): New function.
20390 (grub_xputs): New variable.
20391 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
20392 (grub_xputs_real): New function.
20393 (grub_xputs): New variable.
20394 * util/import_unicode.py: New file.
20395 * util/grub-mkfont.c (ft_errmsgs): New array.
20396 (grub_glyph_info): Make bitmap a pointer.
20397 (file_formats): New type WIDTH_SPEC.
20398 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
20399 (options): Add width-spec.
20400 (help): Likewise.
20401 (add_char): Renamed to ...
20402 (add_glyph): ... this.
20403 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
20404 (glyph_replace): New type.
20405 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
20406 (add_char): New function.
20407 (add_subst): Likewise.
20408 (process_cursive): Likewise.
20409 (add_font): Handle GSUB.
20410 (write_font_width_spec): New function.
20411 (main): Sort glyphs.
20412 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
20413 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
20414 * kern/term.c (grub_cls): Moved from here...
20415 * normal/term.c (grub_cls): ... here.
20416
50f0bcda
CW
204172010-07-02 Colin Watson <cjwatson@ubuntu.com>
20418
20419 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
20420 suitable for using within the format argument of printf when
20421 converting grub_size_t.
20422 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
20423 "x" to convert grub_size_t arguments.
20424
40372103
VS
204252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
20428 too long captions.
20429 (list_get_minimal_size): Take selection box into account.
20430
942a10c7
VS
204312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
20434 NULL font.
20435
2bdb2892
CW
204362010-07-02 Colin Watson <cjwatson@ubuntu.com>
20437
20438 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
20439 devices when iterating over /dev/disk/by-id; they will be handled
20440 later if appropriate, which they aren't always (e.g. LVM).
20441
e03ed6c1
CW
204422010-07-02 Colin Watson <cjwatson@ubuntu.com>
20443
20444 * include/grub/misc.h (grub_reboot): Declare as noreturn.
20445 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
20446 fails.
20447 (grub_halt): Likewise.
20448 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
20449 reset-all fails.
20450 (grub_halt): Don't return, even if all of shut-down, power-off, and
20451 poweroff fail.
20452
47695765
CW
204532010-07-02 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
20456 arguments, not three.
20457
507736c8
CW
204582010-07-02 Colin Watson <cjwatson@ubuntu.com>
20459
20460 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20461 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20462 LVM-on-RAID is handled correctly.
20463
e3c8cd37
CW
204642010-07-02 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * docs/grub.texi (Changes from GRUB Legacy): New section.
20467 (Future): Fix typo.
20468
8d4a2fec
CW
204692010-07-02 Colin Watson <cjwatson@ubuntu.com>
20470
20471 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20472 grub.d/README accidentally ends up executable for one reason or
20473 another. Ignore it.
20474
1c4827be
VS
204752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20478 (gpt_partition_map_iterate): Support non-512B sectors.
20479
d9a0c941
VS
204802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20483 Tested by: Seth Goldberg.
20484
48f27e87
VS
204852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20488 Properly align mbi.
20489 Reported by: Seth Goldberg.
20490
b0c4f956
VS
204912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 * util/grub-mkrescue.in: Avoid module duplication.
20494
105a2e8c
SF
204952010-07-01 Sean Finney <seanius@seanius.net>
20496
20497 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20498
5944958c
SF
204992010-07-01 Sean Finney <seanius@seanius.net>
20500
20501 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20502
205032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * disk/lvm.c (grub_lvm_checkvalue): New function.
20506 (grub_lvm_check_flag): Likewise.
20507
b79889ba
RM
205082010-07-01 Robert Millan <rmh@gnu.org>
20509
20510 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20511 Support 'p' as partition separator on kernel of FreeBSD (used
20512 with GPT labels).
20513 (grub_util_biosdisk_get_grub_dev): Likewise.
20514
ec1d04f1
VS
205152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 Yeeloong firmware port.
20518
20519 * boot/mips/yeeloong/fwstart.S: New file.
20520 * bus/cs5536.c (gpiodump): New const.
20521 (set_io_space): New function.
20522 (set_iod): Likewise.
20523 (set_p2d): Likewise.
20524 (grub_cs5536_init_geode): Likewise.
20525 * commands/mips/yeeloong/lsspd.c: New file.
20526 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20527 (serial_mod_SOURCES): New variable.
20528 (serial_mod_CFLAGS): Likewise.
20529 (serial_mod_LDFLAGS): Likewise.
20530 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20531 term/terminfo.c and term/tparm.c.
20532 (pkglib_IMAGES): Add fwstart.img.
20533 (fwstart_img_SOURCES): New variable.
20534 (fwstart_img_CFLAGS): Likewise.
20535 (fwstart_img_ASFLAGS): Likewise.
20536 (fwstart_img_LDFLAGS): Likewise.
20537 (fwstart_img_FORMAT): Likewise.
20538 (pkglib_MODULES): Add lsspd.mod.
20539 (lsspd_mod_SOURCES): New variable.
20540 (lsspd_mod_CFLAGS): Likewise.
20541 (lsspd_mod_LDFLAGS): Likewise.
20542 (pkglib_MODULES): Add halt.mod.
20543 (halt_mod_SOURCES): New variable.
20544 (halt_mod_CFLAGS): Likewise.
20545 (halt_mod_LDFLAGS): Likewise.
20546 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20547 (serial_mod_SOURCES): Removed.
20548 (serial_mod_CFLAGS): Likewise.
20549 (serial_mod_LDFLAGS): Likewise.
20550 * disk/ata.c (check_device): New function.
20551 (grub_ata_device_initialize): Use check_device.
20552 (grub_ata_iterate): Recheck devices.
20553 (grub_ata_open): Likewise.
20554 (grub_atapi_iterate): Likewise.
20555 (grub_atapi_open): Likewise.
20556 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20557 (GRUB_ATA_CH1_PORT1): Likewise.
20558 (GRUB_ATA_CH0_PORT2): Likewise.
20559 (GRUB_ATA_CH1_PORT2): Likewise.
20560 * include/grub/mips/loongson.h: New file.
20561 * include/grub/mips/yeeloong/ec.h: Likewise.
20562 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20563 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20564 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20565 * include/grub/misc.h (grub_halt): Declare as noreturn.
20566 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20567 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20568 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20569 (UART_ENABLE_DTRRTS): Likewise.
20570 (UART_ENABLE_MODEM): Removed.
20571 (UART_ENABLE_OUT2): New const.
20572 * include/grub/term.h (grub_term_register_input_active): New function.
20573 (grub_term_register_output_active): Likewise.
20574 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20575 argument.
20576 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20577 (init_pci): New function.
20578 (grub_machine_init): Execute platform init when firmware. Init serial.
20579 (grub_halt): Implement.
20580 (grub_exit): Likewise.
20581 (grub_reboot): Likewise.
20582 * term/serial.c (serial_hw_init): Update macros.
20583 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20584 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20585 (image_targets): New target mipsel-yeeloong-flash.
20586 (generate_image): Support IMAGE_YEELOONG_FLASH.
20587 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20588 (grub_video_sm712_setup): Init card.
20589 (grub_video_sm712_set_palette): Removed.
20590 * video/sm712_init.c: New file.
20591
ff4a70d2
CW
205922010-06-30 Colin Watson <cjwatson@ubuntu.com>
20593
20594 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20595 PATH when running help2man and then run it on the unadorned
20596 executable names, rather than passing $(builddir)/* paths to
20597 help2man. This avoids the build directory ending up in generated
20598 manual pages.
20599
1246efeb
CW
206002010-06-29 Colin Watson <cjwatson@ubuntu.com>
20601
20602 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20603 to avoid accidents when debugging with 'sh -x'.
20604 * util/grub-mkrescue.in: Likewise.
20605 * util/grub.d/00_header.in: Likewise.
20606 * util/grub.d/10_hurd.in: Likewise.
20607 * util/grub.d/10_kfreebsd.in: Likewise.
20608 * util/grub.d/10_linux.in: Likewise.
20609 * util/grub.d/10_netbsd.in: Likewise.
20610 * util/grub.d/10_windows.in: Likewise.
20611 * util/grub.d/20_linux_xen.in: Likewise.
20612 * util/grub.d/30_os-prober.in: Likewise.
20613 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20614
1ba9b889
CW
206152010-06-29 Colin Watson <cjwatson@ubuntu.com>
20616
20617 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20618 last character in the buffer.
20619 Reported by: Vladimir Serbinenko.
20620
dccaf99d
RM
206212010-06-29 Robert Millan <rmh@gnu.org>
20622
20623 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20624 (Command-line and menu entry commands): Document `badram' command.
20625
d500ed12
RM
206262010-06-28 Robert Millan <rmh@gnu.org>
20627
20628 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20629 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20630 command using ${GRUB_BADRAM} as parameter.
20631
20bc84a6
CW
206322010-06-28 Colin Watson <cjwatson@ubuntu.com>
20633
20634 * docs/grub.texi (Device map): New section.
20635 (Themes): New section (stub).
20636 * Makefile.in (docs/grub.info): The info documentation now builds
20637 without errors. Make sure it stays that way.
20638
4045dee1
VS
206392010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 Use normal parser for menu entries.
20642 Reported by: Thomas Frauendorfer
20643
20644 * include/grub/parser.h (grub_parser_execute): Don't export.
20645 * normal/menu.c (grub_menu_execute_entry_real): New function.
20646 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20647
bca58c7b
CW
206482010-06-28 Colin Watson <cjwatson@ubuntu.com>
20649
20650 * docs/grub.texi (Embedded configuration): New section (replacing
20651 old "Preset Menu" stub).
20652 (Images): New section.
20653 (configfile): Note that any menu entries defined in `file' are shown
20654 immediately.
20655
dec53e63
JT
206562010-06-28 Josh Triplett <josh@joshtriplett.org>
20657
20658 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20659
c06e40f7
CW
206602010-06-28 Colin Watson <cjwatson@ubuntu.com>
20661
20662 * util/grub-install.in: Add --debug-image= option.
20663
cb88052b
CW
206642010-06-28 Colin Watson <cjwatson@ubuntu.com>
20665
20666 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20667 possible on Linux.
20668
20669 * util/deviceiter.c (check_device): Rename to ...
20670 (check_device_readable_unique): ... this. Update all callers.
20671 Maintain and check a list of which devices (by canonicalized name)
20672 have already been seen.
20673 (clear_seen_devices): New function.
20674 (compare_file_names) [__linux__]: New function.
20675 (grub_util_iterate_devices): Clear the list of seen devices on exit
20676 and (just in case) on entry.
20677 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20678 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20679 seen-devices list, superseded by general code in check_device.
20680
bbe34652
CW
206812010-06-28 Colin Watson <cjwatson@ubuntu.com>
20682
20683 * commands/cat.c (options): New variable.
20684 (grub_cmd_cat): Parse options. If the --dos option is given, print
20685 DOS-style "\r\n" line endings as simple newlines (Debian bug
20686 #586358).
20687 (GRUB_MOD_INIT): Use extcmd.
20688 (GRUB_MOD_FINI): Likewise.
20689 * docs/grub.texi (cat): Document --dos.
20690
412e09f3
VS
206912010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 XEN with Linux grub-mkconfig support.
20694
20695 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20696 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20697 GRUB_CMDLINE_XEN_DEFAULT.
20698 * util/grub.d/20_linux_xen.in: New file.
20699
53f3ef38 207002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
20701
20702 Initialise VGA video on qemu ourselves.
20703
20704 * boot/i386/qemu/boot.S: Don't call 0xc000.
20705 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20706 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20707 (kernel_img_HEADERS): Add pci.h.
20708 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20709 * configure.ac: Force unifont on qemu and yeeloong.
20710 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20711 (grub_vga_palette_write): Use correct register.
20712 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20713 Call grub_qemu_init_cirrus.
20714 * kern/i386/qemu/init.c: New file.
20715 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20716
20717 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20718
c75be4fb
PR
207192010-06-26 Pavel Roskin <proski@gnu.org>
20720
20721 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20722 13.
20723
d8034603
CW
207242010-06-26 Colin Watson <cjwatson@ubuntu.com>
20725
20726 * docs/grub.texi (Simple configuration): Explain that
20727 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20728 set to `true' to disable their respective recovery entries, not
20729 merely set.
20730
3fa06487
CW
207312010-06-26 Colin Watson <cjwatson@ubuntu.com>
20732
20733 Make the `source' command slightly faster.
20734
20735 * normal/main.c (grub_normal_execute): Don't re-read list files when
20736 nested.
20737
e9b29642
CW
207382010-06-23 Colin Watson <cjwatson@ubuntu.com>
20739
20740 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20741 field position and mask size to red fields from mode_info, not
20742 green.
20743 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20744 Remove redundant tag->common.framebuffer_type assignment.
20745 Reported by: Seth Goldberg.
20746
e726542f
CW
207472010-06-23 Colin Watson <cjwatson@ubuntu.com>
20748
20749 Sync up other versions of the Linux loader with Robert Millan's
20750 change of 2010-01-09, "Make loader output a bit more user-friendly".
20751
20752 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20753 grub_dprintf().
20754 (grub_cmd_linux): Likewise.
20755 (grub_cmd_initrd): Likewise.
20756 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20757 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20758
d6e98a17
CW
207592010-06-21 Colin Watson <cjwatson@ubuntu.com>
20760
20761 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20762 larger than MEMORY_MAP_SIZE.
20763
14d3f08e
BC
207642010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20765
20766 Fix parallel build.
20767
20768 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20769 dependency.
20770 * script/parser.y: #include grub_script.tab.h header.
20771
4f9613a3
VS
207722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 Support >3GiB and <16MiB RAM in i386-qemu.
20775
20776 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20777 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20778 (grub_lower_mem): Removed.
20779 (grub_upper_mem): Likewise.
20780 (mem_size): Made static.
20781 (above_4g): New variable.
20782 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20783 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20784 support.
20785
05e51879
VS
207862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 Cirrus 5446 and Bochs video cards support.
20789
20790 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20791 video_bochs.mod
20792 (video_cirrus_mod_SOURCES): New variable.
20793 (video_cirrus_mod_CFLAGS): Likewise.
20794 (video_cirrus_mod_LDFLAGS): Likewise.
20795 (video_bochs_mod_SOURCES): Likewise.
20796 (video_bochs_mod_CFLAGS): Likewise.
20797 (video_bochs_mod_LDFLAGS): Likewise.
20798 * include/grub/vga.h: New file.
20799 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20800 (grub_video_fb_set_page_t): New type.
20801 (grub_video_fb_setup): New prototype.
20802 (grub_video_fb_swap_buffers): Likewise.
20803 (grub_video_fb_get_info_and_fini): Likewise.
20804 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20805 (CRTC_DATA_PORT): Likewise.
20806 (CRTC_CURSOR): Likewise.
20807 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20808 (CRTC_CURSOR_ADDR_LOW): Likewise.
20809 (CRTC_CURSOR_DISABLE): Likewise.
20810 (update_cursor): Use grub_vga_cr_write.
20811 (grub_vga_text_setcursor): Likewise.
20812 * video/bochs.c: New file.
20813 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20814 (palette): Likewise.
20815 (palette_size): Likewise.
20816 (framebuffer): New variable.
20817 (grub_video_fb_init): Use 'framebuffer'.
20818 (grub_video_fb_fini): Likewise.
20819 (grub_video_fb_get_info): Likewise.
20820 (grub_video_fb_get_palette): Likewise.
20821 (grub_video_fb_set_palette): Likewise.
20822 (grub_video_fb_set_viewport): Likewise.
20823 (grub_video_fb_get_viewport): Likewise.
20824 (grub_video_fb_map_color): Likewise.
20825 (grub_video_fb_map_rgb): Likewise.
20826 (grub_video_fb_map_rgba): Likewise.
20827 (grub_video_fb_unmap_color): Likewise.
20828 (grub_video_fb_unmap_color_int): Likewise.
20829 (grub_video_fb_fill_rect): Likewise.
20830 (grub_video_fb_blit_bitmap): Likewise.
20831 (grub_video_fb_blit_render_target): Likewise.
20832 (grub_video_fb_scroll): Likewise.
20833 (grub_video_fb_create_render_target): Likewise.
20834 (grub_video_fb_doublebuf_blit_init): Likewise.
20835 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20836 (doublebuf_pageflipping_update_screen): New function.
20837 (doublebuf_pageflipping_init): Likewise.
20838 (grub_video_fb_setup): Likewise.
20839 (grub_video_fb_swap_buffers): Likewise.
20840 (grub_video_fb_get_info_and_fini): Likewise.
20841 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20842 All users updated.
20843 (doublebuf_pageflipping_commit): Restructured into ...
20844 (doublebuf_pageflipping_set_page): ... this.
20845 (doublebuf_pageflipping_update_screen): Removed.
20846 (doublebuf_pageflipping_init): Likewise.
20847 (double_buffering_init): Likewise.
20848 (grub_video_vbe_setup): Use grub_video_fb_setup.
20849 (grub_video_vbe_swap_buffers): Removed.
20850 (grub_video_vbe_set_active_render_target): Likewise.
20851 (grub_video_vbe_get_active_render_target): Likewise.
20852 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20853 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20854 grub_video_fb_set_active_render_target and
20855 grub_video_fb_get_active_render_target.
20856 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20857 (SEQUENCER_DATA_PORT): Likewise.
20858 (MAP_MASK_REGISTER): Likewise.
20859 (CRTC_ADDR_PORT): Likewise.
20860 (CRTC_DATA_PORT): Likewise.
20861 (START_ADDR_HIGH_REGISTER): Likewise.
20862 (START_ADDR_LOW_REGISTER): Likewise.
20863 (GRAPHICS_ADDR_PORT): Likewise.
20864 (GRAPHICS_DATA_PORT): Likewise.
20865 (READ_MAP_REGISTER): Likewise.
20866 (INPUT_STATUS1_REGISTER): Likewise.
20867 (INPUT_STATUS1_VERTR_BIT): Likewise.
20868 (get_map_mask): Use grub_vga_sr_read.
20869 (set_map_mask): Use grub_vga_sr_write.
20870 (set_read_map): Use grub_vga_gr_write.
20871 (set_start_address): Use grub_vga_cr_write.
20872 * video/sm712.c (framebuffer): Remove leftover fields.
20873
4321c64a
CW
208742010-06-20 Colin Watson <cjwatson@ubuntu.com>
20875
20876 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20877 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20878 instead. Replace the gfxterm backend check with a check that
20879 ${GRUB_PREFIX}/video.lst is non-empty.
20880 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20881 again.
20882 (load_video): New generated function. Call it before loading
20883 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20884 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20885 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20886 * docs/grub.texi (Simple configuration): Document
20887 GRUB_VIDEO_BACKEND.
20888
208892010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 Use video functions in linux and xnu loaders.
20892
20893 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20894 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20895 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20896 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20897 loader/i386/pc/linux.c.
20898 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20899 (find_line_len): Removed.
20900 (find_framebuf): Likewise.
20901 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20902 * loader/i386/efi/xnu.c: Removed.
20903 * loader/i386/pc/xnu.c: Moved from here...
20904 * loader/i386/xnu.c: ...here.
20905
20906 Enable priorities in video drivers.
20907
20908 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20909 (grub_video_adapter): New field prio.
20910 (grub_video_register): Respect prio when inserting.
20911 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20912 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20913 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20914 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20915 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20916 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20917 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20918
20919 Fix SDL driver ID.
20920
20921 * include/grub/video.h (grub_video_driver_id_t): New value
20922 GRUB_VIDEO_DRIVER_SDL.
20923 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20924
7d24e434
CW
209252010-06-17 Colin Watson <cjwatson@ubuntu.com>
20926
20927 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20928 argument to printf.
20929 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20930
c88a83f6
CW
209312010-06-17 Colin Watson <cjwatson@ubuntu.com>
20932
20933 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20934 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20935
094dfb69
CW
209362010-06-17 Colin Watson <cjwatson@ubuntu.com>
20937
20938 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20939 directly, and recommend grub-install instead.
20940 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20941
2164da6b
CW
209422010-06-17 Colin Watson <cjwatson@ubuntu.com>
20943
20944 Fix i386-pc prefix handling with nested partitions (Debian bug
20945 #585068). Note that the case where the core image is booted using
20946 multiboot and relocated from its original location still requires
20947 more work.
20948
20949 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20950 with "(,", fill the boot drive in between those two characters, but
20951 expect that a full partition specification including partition map
20952 names will follow.
20953 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20954 specified, write a prefix without the drive name but including a
20955 full partition specification.
20956
044e2e60
CW
209572010-06-16 Colin Watson <cjwatson@ubuntu.com>
20958
20959 * util/grub-mkconfig.in: Ignore non-option arguments, for
20960 compatibility with older versions (before 2010-06-12) which did the
20961 same. In particular, this makes it easier to ship an update-grub
20962 wrapper which is compatible with that used with GRUB Legacy (Debian
20963 bug #586056).
20964
5591324f
GS
209652010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20966
20967 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20968 for manual page generation.
20969
662e24d5
GS
209702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20971
20972 * po/POTFILES: Remove leftover commands/handler.c.
20973
8d70754e
CW
209742010-06-14 Colin Watson <cjwatson@ubuntu.com>
20975
20976 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20977 left this script non-functional.
20978
41160e2e
CW
209792010-06-14 Colin Watson <cjwatson@ubuntu.com>
20980
20981 * docs/man/grub-emu.h2m: New file.
20982
b5309cc1
CW
209832010-06-13 Colin Watson <cjwatson@ubuntu.com>
20984
20985 * docs/grub.texi (Commands): Document reduced command set in rescue
20986 mode.
20987 (cpuid): New section.
20988
fcb2d090
GS
209892010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20990
20991 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20992 new partition naming style.
20993 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20994
96e5c556
BC
209952010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20996
20997 Add "-o grub.iso" like cmdline options support.
20998
20999 * util/grub-install.in: Improve cmdline option parsing.
21000 * util/grub-mkconfig.in: Likewise.
21001 * util/grub-mkrescue.in: Likewise.
21002 * util/grub-reboot.in: Likewise.
21003 * util/grub-set-default.in: Likewise.
21004 * util/i386/efi/grub-install.in: Likewise.
21005 * util/ieee1275/grub-install.in: Likewise.
21006 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21007
c16be99b
CW
210082010-06-12 Colin Watson <cjwatson@ubuntu.com>
21009
21010 * .bzrignore: Ignore 41_custom.
21011
ce08a9fb
TS
210122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21013
21014 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21015
7beac90c
CW
210162010-06-12 Colin Watson <cjwatson@ubuntu.com>
21017
21018 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21019 prototype declarations.
21020
21021 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21022 generating fs, partmap, and video lists.
21023 * include/grub/fs.h (grub_fs_register): Omit prototype if
21024 GRUB_LST_GENERATOR is defined.
21025 * include/grub/partition.h (grub_partition_map_register): Likewise.
21026 * include/grub/video.h (grub_video_register): Likewise.
21027
1c8f0f8d
JM
210282010-06-12 Javier Martín <lordhabbit@gmail.com>
21029
21030 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21031
a6085973
TS
210322010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21033
21034 * util/grub-mkrescue.in: Support --xorriso argument.
21035
25c56d29
VS
210362010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21039 Suggested by: Thomas Schmitt.
21040
e03e4b24
VS
210412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21044 Suggested by: Thomas Schmitt.
21045
57711df6
VS
210462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 custom.cfg support.
21049
21050 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21051 * util/grub.d/41_custom.in: New file.
21052
ee62c427
CW
210532010-06-12 Colin Watson <cjwatson@ubuntu.com>
21054
21055 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21056 been merged back into normal.
21057
283af07a
CW
210582010-06-11 Colin Watson <cjwatson@ubuntu.com>
21059
21060 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21061 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21062
56a0d956
CW
210632010-06-11 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21066 when generating manual pages.
21067 * docs/man/grub-bin2h.h2m: New file.
21068 * docs/man/grub-editenv.h2m: New file.
21069 * docs/man/grub-fstest.h2m: New file.
21070 * docs/man/grub-install.h2m: New file.
21071 * docs/man/grub-macho2img.h2m: New file.
21072 * docs/man/grub-mkconfig.h2m: New file.
21073 * docs/man/grub-mkdevicemap.h2m: New file.
21074 * docs/man/grub-mkfont.h2m: New file.
21075 * docs/man/grub-mkimage.h2m: New file.
21076 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21077 * docs/man/grub-mkrelpath.h2m: New file.
21078 * docs/man/grub-mkrescue.h2m: New file.
21079 * docs/man/grub-ofpathname.h2m: New file.
21080 * docs/man/grub-pe2elf.h2m: New file.
21081 * docs/man/grub-probe.h2m: New file.
21082 * docs/man/grub-reboot.h2m: New file.
21083 * docs/man/grub-script-check.h2m: New file.
21084 * docs/man/grub-set-default.h2m: New file.
21085 * docs/man/grub-setup.h2m: New file.
21086
3a37e322
VS
210872010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 Use FOR_* macros instead of *_iterate whenever possible.
21090
21091 * commands/handler.c: Removed.
21092 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21093 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21094 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21095 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21096 (grub_probe_SOURCES): Remove kern/parser.c.
21097 (util/grub-script-check.c_DEPENDENCIES): Removed.
21098 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21099 and grub_script_check_init.c.
21100 (grub_script_check_init.lst): Removed.
21101 (grub_script_check_init.h): Likewise.
21102 (grub_script_check_init.c): Likewise.
21103 (pkglib_MODULES): Remove handler.mod and sh.mod.
21104 (handler_mod_SOURCES): Removed.
21105 (handler_mod_CFLAGS): Likewise.
21106 (handler_mod_LDFLAGS): Likewise.
21107 (normal_mod_SOURCES): Remove normal/handler.c.
21108 Add script/main.c, script/script.c, script/execute.c,
21109 script/function.c, script/lexer.c, grub_script.tab.c
21110 and grub_script.yy.c.
21111 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21112 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21113 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21114 (grub_setup_SOURCES): Remove kern/parser.c.
21115 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21116 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21117 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21118 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21119 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21120 (grub_setup_SOURCES): Remove kern/parser.c.
21121 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21122 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21123 * include/grub/command.h (grub_command_iterate): Removed.
21124 (FOR_COMMANDS): New macro.
21125 * include/grub/dl.h (grub_dl): New member next.
21126 (grub_dl_iterate): Removed.
21127 (grub_dl_head): New variable declaration.
21128 (FOR_DL_MODULES): New macro.
21129 * include/grub/fs.h: Include list.h.
21130 (grub_fs): Make next first element.
21131 (grub_fs_list): New variable declaration.
21132 (grub_fs_register): Make inline.
21133 (grub_fs_unregister): Likewise.
21134 (grub_fs_iterate): Removed.
21135 (FOR_FILESYSTEMS): New macro.
21136 * include/grub/handler.h: Removed.
21137 * include/grub/list.h (grub_list_hook_t): Removed.
21138 (grub_list_test_t): Likewise.
21139 (grub_list_pop): Likewise.
21140 (grub_list_iterate): Likewise.
21141 (grub_list_insert): Likewise.
21142 (FOR_LIST_ELEMENTS): New macro.
21143 * include/grub/parser.h (grub_parser_class): Removed.
21144 (grub_parser_register): Likewise.
21145 (grub_parser_unregister): Likewise.
21146 (grub_parser_get_current): Likewise.
21147 (grub_parser_set_current): Likewise.
21148 (grub_register_rescue_parser): Likewise.
21149 (grub_rescue_parse_line): New function.
21150 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21151 * include/grub/script_sh.h (grub_script_function_list): New variable
21152 declaration.
21153 (FOR_SCRIPT_FUNCTIONS): New macro.
21154 (grub_script_function_iterate): Removed.
21155 (grub_normal_parse_line): New prototype.
21156 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21157 (FOR_DISABLED_TERM_INPUTS): Likewise.
21158 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21159 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21160 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21161 element.
21162 (grub_video_register): Inline.
21163 (grub_video_unregister): Likewise.
21164 (grub_video_adapter_list): New variable declaration.
21165 (grub_video_iterate): Removed.
21166 (FOR_VIDEO_ADAPTERS): New macro.
21167 * kern/dl.c (grub_dl_list): Removed. All users updated.
21168 (grub_dl_iterate): Removed.
21169 * kern/fs.c (grub_fs_list): Make global.
21170 (grub_fs_register): Removed.
21171 (grub_fs_unregister): Likewise.
21172 (grub_fs_iterate): Likewise.
21173 * kern/handler.c: Removed.
21174 * kern/list.c (grub_list_pop): Removed.
21175 (grub_list_iterate): Likewise.
21176 (grub_list_insert): Likewise.
21177 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21178 (grub_prio_list_insert): Don't use grub_list_insert.
21179 * kern/main.c (grub_register_rescue_parser): Don't call
21180 grub_register_rescue_parser.
21181 * kern/parser.c (grub_parser_class): Removed.
21182 (grub_parser_execute): Use grub_rescue_parse_line.
21183 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21184 (grub_rescue_parser): Removed.
21185 (grub_register_rescue_parser): Likewise.
21186 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21187 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21188 (grub_auth_check_authentication): Likewise.
21189 * normal/completion.c (iterate_command): Removed.
21190 (grub_normal_do_completion): Use FOR_COMMANDS.
21191 * normal/handler.c: Removed.
21192 * normal/main.c (read_config_file): Remove parser changing.
21193 (grub_normal_execute): Don't call read_handler_list.
21194 (grub_normal_read_line_real): Statically allocate prompt.
21195 (grub_cmdline_run): Use grub_normal_parse_line.
21196 (GRUB_MOD_FINI): Don't call free_handler_list.
21197 * normal/menu_entry.c (run): Likewise.
21198 * script/function.c (grub_script_function_list): Make global.
21199 (grub_script_function_iterate): Removed.
21200 * script/main.c (grub_normal_parse_line): Make global.
21201 (grub_sh_parser): Removed.
21202 (GRUB_MOD_INIT): Likewise.
21203 (GRUB_MOD_FINI): Likewise.
21204 * tests/lib/functional_test.c (grub_functional_test): Use
21205 FOR_LIST_ELEMENTS.
21206 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21207 (grub_test_run): Use FOR_LIST_ELEMENTS.
21208 * tests/lib/unit_test.c (main): Likewise.
21209 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21210 grub_list_pop.
21211 * util/grub-fstest.c (grub_term_input_class): Removed.
21212 (grub_term_output_class): Likewise.
21213 * util/grub-probe.c: Likewise.
21214 * util/i386/pc/grub-setup.c: Likewise.
21215 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21216 * util/grub-script-check.c (main): Don't call grub_init_all and
21217 grub_fini_all.
21218 * video/video.c (grub_video_adapter_list): Make global.
21219 (grub_video_register): Removed.
21220 (grub_video_unregister): Likewise.
21221 (grub_video_iterate): Likewise.
21222
6289c3a7
VS
212232010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21224
21225 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21226 reported by Henrique Ferreiro.
21227
91460247
RM
212282010-06-09 Robert Millan <rmh@gnu.org>
21229
21230 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21231 ones, when both are available.
21232
0ea7c4f9
GS
212332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21234
21235 Make --version uniform and avoid hard-coded program name.
21236
21237 * util/grub-mkimage.c (main): Use `program_name' instead of
21238 hard-coded string.
21239 * util/i386/pc/grub-setup.c (main): Likewise.
21240 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21241 * util/grub-install.in: Save the basename of $0 in $self, and use the
21242 latter in informational messages. Use the same format for --version
21243 as the binary programs.
21244 * util/grub-mkconfig.in: Likewise.
21245 * util/grub-mkrescue.in: Likewise.
21246 * util/grub-reboot.in: Likewise.
21247 * util/grub-set-default.in: Likewise.
21248 * util/i386/efi/grub-install.in: Likewise.
21249 * util/ieee1275/grub-install.in: Likewise.
21250 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21251
e8a6f3b6
GS
212522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21253
21254 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21255 embedding area. Use <= instead of == when checking for non-emptiness.
21256
f4d095d7
GS
212572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21258
21259 * configure.ac: Add `.' to the directories searched for unifont.
21260
50e532ca
CW
212612010-06-08 Colin Watson <cjwatson@ubuntu.com>
21262
21263 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21264 grub_script.yy.h.
21265
d39f3dec
CW
212662010-06-08 Colin Watson <cjwatson@ubuntu.com>
21267
21268 * docs/grub.texi (History): Expand to cover GRUB 2.
21269 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21270 commands, not `terminal'.
21271 (serial): Likewise.
21272 (terminal_input): New section.
21273 (terminal_output): New section.
21274 (uppermem): New section (stub).
21275 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21276
6ef0ddb4
CW
212772010-06-08 Colin Watson <cjwatson@ubuntu.com>
21278
21279 * docs/grub.texi (Security): Menu entries are unrestricted by
21280 default, not restricted to superusers as I had previously thought.
21281 Reword to account for this.
21282
e0f4c438
CW
212832010-06-07 Colin Watson <cjwatson@ubuntu.com>
21284
21285 * kern/emu/misc.c (device_mapper_null_log): New function.
21286 (grub_device_mapper_supported): New function.
21287 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21288 prototype.
21289 * kern/emu/hostdisk.c (find_partition_start): Check whether
21290 device-mapper is supported before trying to use it.
21291 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21292
da908200
CW
212932010-06-07 Colin Watson <cjwatson@ubuntu.com>
21294
21295 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
21296 (File name syntax): Likewise.
21297 (help): --all is no longer supported in GRUB 2. Be more precise
21298 about pattern matching.
21299
fb55c3ac
CW
213002010-06-07 Colin Watson <cjwatson@ubuntu.com>
21301
21302 * normal/completion.c (grub_normal_do_completion): When completing
21303 arguments to "set" and the current word contains an equals sign,
21304 skip to after the equals sign before starting completion.
21305
258c2573
CW
213062010-06-07 Colin Watson <cjwatson@ubuntu.com>
21307
21308 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21309
ee75515e
CW
213102010-06-07 Colin Watson <cjwatson@ubuntu.com>
21311
21312 * docs/grub.texi (Network): New section.
21313 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
21314 `(nd)' as in GRUB Legacy.
21315 (pxe_unload): New section.
21316
a6a700aa
CW
213172010-06-07 Colin Watson <cjwatson@ubuntu.com>
21318
21319 * docs/grub.texi (Troubleshooting): `echo' is not usually available
21320 in the rescue shell, so recommend using `set' instead. Thanks,
21321 Jordan Uggla.
21322
4003dd38
CW
213232010-06-07 Colin Watson <cjwatson@ubuntu.com>
21324
21325 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
21326 (password): New section.
21327 (password_pbkdf2): New section.
21328 (search): New section.
21329 (Security): New section.
21330 (Troubleshooting): New section, currently very incomplete.
21331 (Invoking grub-mkpasswd-pbkdf2): New section.
21332 (Internals): New section, currently very incomplete.
21333
e1cbcc40
CW
213342010-06-07 Colin Watson <cjwatson@ubuntu.com>
21335
21336 * util/grub.d/00_header.in: Add some more quoting (of
21337 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
21338 work again.
21339 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
21340
db8fa1ad
CW
213412010-06-07 Colin Watson <cjwatson@ubuntu.com>
21342
21343 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
21344 to `count', fixing variable shadowing that broke the -c option.
21345
213462010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
21347
21348 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21349 in case they contain spaces.
21350
f28a9212
CW
213512010-06-04 Colin Watson <cjwatson@ubuntu.com>
21352
21353 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
21354 "part_" to partmap module names, in line with grub-install.
21355 Reported by: Jindřich Makovička (Debian bug #584426).
21356
9cdfe32f
CW
213572010-06-04 Colin Watson <cjwatson@ubuntu.com>
21358
21359 * util/grub-mkimage.c: Make target-related error messages slightly
21360 more helpful; -O talks about "format". Explicitly point to the use
21361 of -O if no target is specified.
21362 Reported by: Didier Raboud (Debian bug #584415).
21363
795b593a
CW
213642010-06-03 Colin Watson <cjwatson@ubuntu.com>
21365
21366 * INSTALL: Document several build requirements for optional features
21367 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
21368
9d9b5833
GS
213692010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
21370
21371 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
21372 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
21373 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
21374
0819fec8
CW
213752010-06-02 Colin Watson <cjwatson@ubuntu.com>
21376
21377 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
21378 Thanks to Jordan Uggla for spotting this.
21379
49396b4f
VS
213802010-06-02 Aleš Nesrsta <starous@volny.cz>
21381
21382 Finally make USB usable.
21383
21384 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
21385 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
21386 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
21387 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
21388 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
21389 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
21390 (GRUB_OHCI_FSMPS): Likewise.
21391 (GRUB_OHCI_PERIODIC_START): Likewise.
21392 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
21393 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
21394 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
21395 (GRUB_OHCI_SET_PORT_RESET): Likewise.
21396 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
21397 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
21398 (grub_ohci_transaction): Likewise.
21399 (grub_ohci_transfer): Improve condition detection algorithms.
21400 Handle toggle property. Program the transactions correctly.
21401 Improve error handling. Various important fixups.
21402 (grub_ohci_portstatus): Put register writes in right order.
21403 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
21404 (grub_uhci_transfer): Don't show "failed" message on success.
21405 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
21406 array.
21407 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
21408 determine its size.
21409 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
21410 before initialization is completed. Use IN direction for empty
21411 transfers. Use last_trans and compute toggle.
21412 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
21413 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
21414 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
21415 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
21416 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
21417 (grub_usb_device): Increase toggle to 256.
21418 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
21419 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
21420 GRUB_USBMS_SUBCLASS_SFF8070.
21421 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
21422 (grub_scsi_inquiry): New member page and alloc_length.
21423 (grub_scsi_request_sense): New structure.
21424 (grub_scsi_request_sense_data): Likewise.
21425 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
21426 control.
21427 * disk/scsi.c (grub_scsi_request_sense): New function.
21428 (grub_scsi_test_unit_ready): Likewise.
21429 (grub_scsi_inquiry): Fill new fields.
21430 (grub_scsi_read_capacity): Likewise.
21431 (grub_scsi_read10): Add request sense at the end.
21432 (grub_scsi_read12): Likewise.
21433 (grub_scsi_write10): Likewise.
21434 (grub_scsi_write12): Likewise.
21435 (grub_scsi_open): Add Test Unit Ready.
21436 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
21437 Support additional subclasses. Con't clear halt yet. Activate the
21438 proper config. Calculate LUNs correctly.
21439 (grub_usbms_transfer): Various important fixups.
21440
214412010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
21444 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
21445 (grub_ohci_fini_hw): New function.
21446 (grub_ohci_restore_hw): Likewise.
21447 (GRUB_MOD_INIT(ohci)): Register preboot hook.
21448 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
21449 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
21450
214512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 Dedicated DMA allocations.
21454
21455 * bus/pci.c (grub_memalign_dma32): New function
21456 (grub_dma_free): Likewise.
21457 (grub_dma_get_virt): Likewise.
21458 (grub_dma_get_phys): Likewise.
21459 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21460 (grub_ohci_pci_iter): Use dma32_alloc.
21461 (grub_ohci_transfer): Likewise.
21462 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21463 (grub_usb_bulk_readwrite): Likewise.
21464 * include/grub/pci.h: Add declarations.
21465
214662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 CS5536 support.
21469
21470 * bus/cs5536.c: New file.
21471 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21472 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21473 (cs5536_mod_SOURCES): New variable.
21474 (cs5536_mod_CFLAGS): Likewise.
21475 (cs5536_mod_LDFLAGS): Likewise.
21476 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21477 machine/pci.h.
21478 (kernel_img_SOURCES): Add bus/cs5536.c.
21479 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21480 usb_keyboard.mod.
21481 (usb_mod_SOURCES): New variable.
21482 (usb_mod_CFLAGS): New variable.
21483 (usb_mod_LDFLAGS): New variable.
21484 (usbtest_mod_SOURCES): New variable.
21485 (usbtest_mod_CFLAGS): New variable.
21486 (usbtest_mod_LDFLAGS): New variable.
21487 (ohci_mod_SOURCES): New variable.
21488 (ohci_mod_CFLAGS): New variable.
21489 (ohci_mod_LDFLAGS): New variable.
21490 (usbms_mod_SOURCES): New variable.
21491 (usbms_mod_CFLAGS): New variable.
21492 (usbms_mod_LDFLAGS): New variable.
21493 (usb_keyboard_mod_SOURCES): New variable.
21494 (usb_keyboard_mod_CFLAGS): New variable.
21495 (usb_keyboard_mod_LDFLAGS): New variable.
21496 * include/grub/smbus.h: New file.
21497 * include/grub/cs5536.h: New file.
21498
0b35b2a9
CW
214992010-06-02 Colin Watson <cjwatson@ubuntu.com>
21500
21501 * util/grub.d/00_header.in: Add safety check to make sure that
21502 ${locale_dir} exists before trying to probe it.
21503
ca0afd5b
CW
215042010-06-02 Colin Watson <cjwatson@ubuntu.com>
21505
21506 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21507 per the GNU Coding Standards; this is now too obscure to be worth
21508 documenting.
21509 (QNX): Likewise.
21510 (chainloader): Remove cross-reference to `SCO UnixWare'.
21511
1c41aa78
CW
215122010-06-02 Colin Watson <cjwatson@ubuntu.com>
21513
21514 * docs/grub.texi (Chain-loading): New section.
21515 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21516 adjusted for GRUB 2.
21517 (SCO UnixWare): Likewise.
21518 (QNX): Likewise.
21519 (chainloader): Add reference to `Block list syntax'.
21520 (drivemap): New section.
21521 (parttool): New section.
21522
bb8ea0f5
CW
215232010-06-02 Colin Watson <cjwatson@ubuntu.com>
21524
21525 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21526 the grub shell'.
21527 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21528 (Installing GRUB using grub-install): Remove reference to the grub
21529 shell; mention `grub-mkimage' and `grub-setup' instead.
21530 (Invoking grub-install): Likewise.
21531 (Interface): Add reference to `Menu entry editor'.
21532 (serial): Remove `--device' option.
21533
288dd6ed
CW
215342010-06-02 Colin Watson <cjwatson@ubuntu.com>
21535
21536 * docs/grub.texi (Configuration): New section, documenting
21537 configuration file generation using grub-mkconfig. I've left a slot
21538 for documenting the full shell scripting format but have not yet
21539 started on writing that up.
21540 (Invoking grub-mkconfig): New section.
21541
34c9f0e9
CW
215422010-06-02 Colin Watson <cjwatson@ubuntu.com>
21543
21544 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21545 (GNU GRUB manual): Likewise.
21546 (General commands): Update description of `terminfo' for GRUB 2.
21547
9121567e
CW
215482010-06-02 Colin Watson <cjwatson@ubuntu.com>
21549
21550 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21551 (GRUB_MOD_INIT): Fix capitalisation.
21552 * docs/grub.texi (Command-line and menu entry commands): Document
21553 gettext and gptsync commands.
21554
ab631611
CW
215552010-06-02 Colin Watson <cjwatson@ubuntu.com>
21556
21557 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21558 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21559
bde4a9ac
CW
215602010-06-01 Colin Watson <cjwatson@ubuntu.com>
21561
21562 Add btrfs probing support, currently only in the single-device case.
21563
21564 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21565 function.
21566 (grub_guess_root_device): Call find_root_device_from_mountinfo
21567 before looking in /dev.
21568
b1d17e10
VS
215692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21572 GRUB_DISK_SIZE_UNKNOWN.
21573 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21574
dfbfe004
JS
215752010-05-31 Jiro SEKIBA <jir@unicus.jp>
21576
21577 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21578 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21579 corrupted or not synced properly.
21580
c2ffc8e9
VS
215812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21584 Reported by: Seth Goldberg.
21585
56293166
VS
215862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21589 addition of dest.
21590 Reported by: Seth Goldberg.
21591
7620e7de
VS
215922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21595 Reported by: Seth Goldberg.
21596
c837af3f
VS
215972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21600 64-bit address as signed on MIPS.
21601
c7c75cf4
CW
216022010-05-28 Colin Watson <cjwatson@ubuntu.com>
21603
21604 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21605 to the empty string.
21606
fa4b8490
BC
216072010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21608
21609 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21610
21611 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21612 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21613 * kern/misc.c (__enable_execute_stack): Disable on
21614 GRUB_MACHINE_EMU.
21615
a33075b9
CW
216162010-05-28 Colin Watson <cjwatson@ubuntu.com>
21617
21618 Make grub-probe work with symbolic links under /dev/mapper as well
21619 as with real block devices. The Linux world seems to be (at best)
21620 in transition here, and GRUB shouldn't get caught in the middle.
21621
21622 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21623 /dev/mapper.
21624
d8708134
CW
216252010-05-27 Colin Watson <cjwatson@ubuntu.com>
21626
21627 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21628 input files (in which case exit zero).
21629
db2102a0
CW
216302010-05-27 Colin Watson <cjwatson@ubuntu.com>
21631
21632 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21633 return NULL for various reasons even if it has a maximum-length
21634 buffer: for example, there might be a symlink loop, or the path
21635 might exceed PATH_MAX. If this happens, return NULL.
21636
5fdba519
RM
216372010-05-27 Robert Millan <rmh@gnu.org>
21638
21639 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21640 partmap module to handle cross-partmap setups.
21641 Reported by Orestes Mas. Gràcies!
21642
d1d368e4
CW
216432010-05-27 Colin Watson <cjwatson@ubuntu.com>
21644
21645 * util/grub-mkrescue.in: Initialise override_dir rather than
21646 assuming that it's unset or empty in the environment.
21647
95ac3c73
GS
216482010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21649
21650 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21651 variable index into p_index to suppress a warning with -Wshadow.
21652
7d8c0213
BC
216532010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21654
21655 * INSTALL: Added flex >= 2.5.35 requirement.
21656
db4d5813
VS
216572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21660
f24f4300
VS
216612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 cmostest support.
21664
21665 * commands/i386/cmostest.c: New file.
21666 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21667 (cmostest_mod_SOURCES): New variable.
21668 (cmostest_mod_CFLAGS): Likewise.
21669 (cmostest_mod_LDFLAGS): Likewise.
21670 * conf/i386-pc.rmk: Likewise.
21671 * docs/grub.texi (Vendor power-on keys): New section.
21672 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21673 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21674 and GRUB_BUTTON_CMOS_ADDRESS.
21675 * util/grub.d/00_header.in: Handle powering-on by separate button.
21676
ad603f61
VS
216772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21680 Removed drawing_scrollbar argument. All users updated
21681 Fixes #29792.
21682 Reported by Jo Shields
21683
3ecb080a
VS
216842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21687 buffer since gfxterm handles double repaint.
21688
5f2316c1
VS
216892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21692 * term/gfxterm.c (real_scroll): Likewise.
21693
9a25f885
VS
216942010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21695
21696 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21697 before calling BIOS.
21698
39fbb79a
VS
216992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * include/grub/i18n.h: Always enable grub_gettext.
21702
228cfa97
VS
217032010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21706 partition naming style.
21707
21717c8f
CW
217082010-05-21 Colin Watson <cjwatson@ubuntu.com>
21709
21710 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21711 not the first option.
21712
c0f48e65
CW
217132010-05-20 Colin Watson <cjwatson@ubuntu.com>
21714
21715 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21716
96779aec
CW
217172010-05-20 Colin Watson <cjwatson@ubuntu.com>
21718
21719 * util/misc.c: Move inclusion of <limits.h> to ...
21720 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21721
fa9d256e
GS
217222010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21723
21724 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21725 Fix merge error in NetBSD code.
21726 (find_partition_start) [__NetBSD__]: Likewise.
21727
123b7a85
BC
217282010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21729
21730 Fix grub-mkrescue usage unit testing.
21731
21732 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21733
74276c0d
CF
217342010-05-18 Christian Franke <franke@computer.org>
21735
21736 * util/grub.d/10_windows.in: Use path names instead of
21737 drive letters to prevent warning from Cygwin 1.7.
21738 Add drivemap command to menuentry if needed.
21739
c4f7b523
ST
217402010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21741
21742 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21743 gnumach and gnumach.gz.
21744
95b97950
VS
217452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * include/grub/i18n.h (gettext): Inline instead of using #define.
21748 (grub_gettext): Likewise.
21749 (_): Likewise.
21750
01b8d2d7
VS
217512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21754 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21755 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21756 (main): Add a slash after pkglibdirroot.
21757
654e1d1e
VS
217582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * util/grub-install.in: Add missing "in" keyword.
21761
26966aeb
VS
217622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21765 Reported by: Seth Goldberg.
21766
75006747
VS
217672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21768
21769 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21770
74cbf5bd
CW
217712010-05-18 Colin Watson <cjwatson@ubuntu.com>
21772
21773 * configure.ac: Check for Linux device-mapper support.
21774
21775 * util/hostdisk.c (device_is_mapped): New function.
21776 (find_partition_start): New function, partly broken out from
21777 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21778 device-mapper support added.
21779 (linux_find_partition): Use find_partition_start.
21780 (convert_system_partition_to_system_disk): Add `st' argument.
21781 Support Linux /dev/mapper/* devices if device-mapper support is
21782 available; only DM-RAID devices are understood at present.
21783 (find_system_device): Add `st' argument. Pass it to
21784 convert_system_partition_to_system_disk.
21785 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21786 find_system_device and convert_system_partition_to_system_disk. Use
21787 find_partition_start.
21788
21789 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21790 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21791 * util/deviceiter.c [__linux__]: Define MINOR.
21792 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21793 * util/mkdevicemap.c (grub_putchar): New function.
21794 (grub_getkey): New function.
21795 (grub_refresh): New function.
21796 (main): Set debug=all if -v -v is used.
21797
355b51e9
CW
217982010-05-18 Colin Watson <cjwatson@ubuntu.com>
21799
21800 Fix build with non-GNU libcs.
21801
21802 * util/misc.c (canonicalize_file_name): Move to ...
21803 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21804 grub_make_system_path_relative_to_its_root.
21805
7fb5c25f
CW
218062010-05-18 Colin Watson <cjwatson@ubuntu.com>
21807
21808 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21809 we handle finding grub-mkimage. Default to finding grub-mkimage in
21810 ${bindir} with program_transform_name applied, and provide a
21811 --grub-mkimage option to override this.
21812
1d3293d6
VS
218132010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21814
21815 Remove grub-mkisofs.
21816
21817 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21818 (grub_mkisofs_SOURCES): Removed.
21819 (grub_mkisofs_CFLAGS): Removed.
21820 * util/mkisofs/defaults.h: Removed.
21821 * util/mkisofs/eltorito.c: Likewise.
21822 * util/mkisofs/exclude.h: Likewise.
21823 * util/mkisofs/hash.c: Likewise.
21824 * util/mkisofs/include/: Likewise.
21825 * util/mkisofs/include/fctldefs.h: Likewise.
21826 * util/mkisofs/include/mconfig.h: Likewise.
21827 * util/mkisofs/include/prototyp.h: Likewise.
21828 * util/mkisofs/include/statdefs.h: Likewise.
21829 * util/mkisofs/iso9660.h: Likewise.
21830 * util/mkisofs/joliet.c: Likewise.
21831 * util/mkisofs/match.c: Likewise.
21832 * util/mkisofs/match.h: Likewise.
21833 * util/mkisofs/mkisofs.c: Likewise.
21834 * util/mkisofs/mkisofs.h: Likewise.
21835 * util/mkisofs/msdos_partition.h: Likewise.
21836 * util/mkisofs/multi.c: Likewise.
21837 * util/mkisofs/name.c: Likewise.
21838 * util/mkisofs/rock.c: Likewise.
21839 * util/mkisofs/tree.c: Likewise.
21840 * util/mkisofs/write.c: Likewise.
21841
5dde9afe
VS
218422010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 Unify grub-mkimage accross platforms.
21845
21846 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21847 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21848 (grub_mkelfimage_SOURCES): Removed.
21849 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21850 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21851 (bin_UTILITIES): Add grub-mkimage.
21852 (grub_mkimage_SOURCES): New variable.
21853 (kernel_img_HEADERS): Remove machine/kernel.h.
21854 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21855 (pkglib_PROGRAMS): Add kernel.img.
21856 (kernel_img_HEADERS): Add machine/kernel.h.
21857 (kernel_img_FORMAT): Removed.
21858 (bin_UTILITIES): Remove grub-mkimage.
21859 (grub_mkimage_SOURCES): Removed.
21860 (grub_mkimage_CFLAGS): Likewise.
21861 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21862 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21863 (pkglib_PROGRAMS): Add kernel.img.
21864 (bin_UTILITIES): Remove grub-mkimage.
21865 (grub_mkimage_SOURCES): Removed.
21866 (grub_mkimage_CFLAGS): Likewise.
21867 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21868 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21869 (pkglib_PROGRAMS): Add kernel.img.
21870 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21871 (pkglib_PROGRAMS): Add kernel.img.
21872 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21873 (grub_mkimage_SOURCES): Removed.
21874 (grub_mkimage_CFLAGS): Likewise.
21875 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21876 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21877 (pkglib_PROGRAMS): Add kernel.img.
21878 (bin_UTILITIES): Remove grub-mkimage.
21879 (grub_mkimage_SOURCES): Removed.
21880 (grub_mkimage_CFLAGS): Likewise.
21881 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21882 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21883 (grub_mkimage_SOURCES): Removed.
21884 (grub_mkimage_CFLAGS): Likewise.
21885 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21886 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21887 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21888 (grub_pe32_optional_header): ... this.
21889 (grub_pe64_optional_header): ... and this. All users updated.
21890 (GRUB_PE32_PE32_MAGIC): Split into ..
21891 (GRUB_PE32_PE32_MAGIC): .. this.
21892 (GRUB_PE32_PE64_MAGIC): .. and this.
21893 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21894 * include/grub/elf.h (PT_GNU_STACK): New definition.
21895 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21896 * include/grub/i386/efi/kernel.h: Likewise.
21897 * include/grub/i386/kernel.h: Likewise.
21898 * include/grub/i386/pc/kernel.h: Likewise.
21899 * include/grub/i386/qemu/boot.h: Likewise.
21900 * include/grub/mips/kernel.h: Likewise.
21901 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21902 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21903 * include/grub/powerpc/kernel.h: Likewise.
21904 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21905 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21906 * include/grub/sparc64/kernel.h: Likewise.
21907 * include/grub/x86_64/efi/kernel.h: Likewise.
21908 * include/grub/x86_64/kernel.h: Likewise.
21909 * include/grub/offsets.h: New file.
21910 * include/grub/kernel.h (grub_module_info): Split into ...
21911 (grub_module_info32): ... this.
21912 (grub_module_info64): ... and this.
21913 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21914 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21915 (grub_boot_blocklist): Moved from here ...
21916 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21917 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21918 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21919 * include/grub/types.h (grub_target_to_host16): Removed.
21920 (grub_target_to_host32): Likewise.
21921 (grub_target_to_host64): Likewise.
21922 (grub_host_to_target16): Likewise.
21923 (grub_host_to_target32): Likewise.
21924 (grub_host_to_target64): Likewise.
21925 (grub_host_to_target_addr): Likewise.
21926
21927 Support grub-mkrescue for efi, coreboot and qemu.
21928
21929 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21930 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21931 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21932 * util/grub-mkrawimage.c: Moved from here ...
21933 * util/grub-mkimage.c: ... here. All users updated.
21934 (ALIGN_ADDR): Use image_target.
21935 (TARGET_NO_FIELD): New const.
21936 (image_target_desc): New type.
21937 (image_targets): New array.
21938 (grub_target_to_host64): Use image_target.
21939 (grub_target_to_host32): Likewise.
21940 (grub_target_to_host16): Likewise.
21941 (grub_host_to_target64): Likewise.
21942 (grub_host_to_target32): Likewise.
21943 (grub_host_to_target16): Likewise.
21944 (grub_host_to_target_addr): Likewise.
21945 (generate_image): Handle multiimage.
21946 (main): Require -O parameter. All users updated.
21947 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21948 util/efi/grub-mkimage.c
21949 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21950 New option --rom-directory.
21951 Use xorriso.
21952 * util/i386/efi/grub-mkimage.c: Removed.
21953 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21954 (grub_target_to_host32): Likewise.
21955 (grub_target_to_host64): Likewise.
21956 (grub_host_to_target16): Likewise.
21957 (grub_host_to_target32): Likewise.
21958 (grub_host_to_target64): Likewise.
21959 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21960 (grub_target_to_host32): Likewise.
21961 (grub_target_to_host64): Likewise.
21962 (grub_host_to_target16): Likewise.
21963 (grub_host_to_target32): Likewise.
21964 (grub_host_to_target64): Likewise.
21965
f4fc97d0
BC
219662010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21967
21968 Source tree is reorganized for emu build.
21969
21970 * include/grub/util/console.h: Move from here...
21971 * include/grub/emu/console.h: ...to here.
21972 * include/grub/util/getroot.h: Move from here...
21973 * include/grub/emu/getroot.h: ...to here.
21974 * include/grub/util/hostdisk.h: Move from here...
21975 * include/grub/emu/hostdisk.h: ...to here.
21976 * util/console.c: Move from here...
21977 * kern/emu/console.c: ...to here.
21978 * util/getroot.c: Move from here...
21979 * kern/emu/getroot.c: ...to here.
21980 * util/grub-emu.c: Move from here...
21981 * kern/emu/main.c: ...to here.
21982 * util/hostdisk.c: Move from here...
21983 * kern/emu/hostdisk.c: ...to here.
21984 * util/hostfs.c: Move from here...
21985 * kern/emu/hostfs.c: ...to here.
21986 * util/mm.c: Move from here...
21987 * kern/emu/mm.c: ...to here.
21988 * util/pci.c: Move from here...
21989 * bus/emu/pci.c: ...to here.
21990 * util/sdl.c: Move from here...
21991 * video/emu/sdl.c: ...to here.
21992 * util/time.c: Move from here...
21993 * kern/emu/time.c: ...to here.
21994 * util/usb.c: Move from here...
21995 * bus/usb/emu/usb.c: ...to here.
21996
21997 * include/grub/emu/misc.h: New header for grub-emu functions.
21998 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21999
22000 * conf/any-emu.rmk: Rule updates for above renames.
22001 * conf/common.rmk: Likewise.
22002 * conf/i386-pc.rmk: Likewise.
22003 * conf/i386-qemu.rmk: Likewise.
22004 * conf/mips.rmk: Likewise.
22005 * conf/sparc64-ieee1275.rmk: Likewise.
22006 * conf/x86-efi.rmk: Likewise.
22007
22008 * disk/lvm.h: #include updates for above renames.
22009 * util/grub-mkrelpath.c: Likewise.
22010 * util/grub-probe.c: Likewise.
22011 * util/i386/pc/grub-setup.c: Likewise.
22012 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22013 * kern/emu/console.c: Likewise.
22014 * kern/emu/getroot.c: Likewise.
22015 * kern/emu/hostdisk.c: Likewise.
22016 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22017
22018 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22019 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22020 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22021 * util/misc.c: Remove grub-emu functions.
22022
cced9145
VS
220232010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22024
22025 Fix gfxmenu crash.
22026 Reported by: Thorsten Grützmacher.
22027
22028 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22029 timeout hook.
22030 (circprog_set_property): Register and unregister timeout hook.
22031 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22032 (label_destroy): Free template. and unregister hook.
22033 (label_set_state): New function.
22034 (label_set_property): Handle templates and hooks.
22035 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22036 timeout hook.
22037 (progress_bar_set_property): Register and unregister timeout hook.
22038 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22039 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22040 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22041 (update_timeout_visit): Removed.
22042 (update_timeouts): New function.
22043 (redraw_timeouts): Likewise.
22044 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22045 (grub_gfxmenu_clear_timeout): Likewise.
22046 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22047 (grub_gfxmenu_timeout_notify): Likewise.
22048 (grub_gfxmenu_timeout_notifications): New external variable.
22049 (grub_gfxmenu_timeout_register): New function.
22050 (grub_gfxmenu_timeout_unregister): Likewise.
22051
c6e5caab
VS
220522010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 Transform (broken) vga terminal into (working) vga video driver.
22055
22056 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22057 video/i386/pc/vga.c.
22058 * include/grub/video.h (grub_video_driver_id):
22059 Add GRUB_VIDEO_DRIVER_VGA.
22060 * term/i386/pc/vga.c: Renamed to ...
22061 * video/i386/pc/vga.c: ...this
22062 (DEBUG_VGA): Removed.
22063 (CHAR_WIDTH): Likewise.
22064 (CHAR_HEIGHT): Likewise.
22065 (TEXT_WIDTH): Likewise.
22066 (TEXT_HEIGHT): Likewise.
22067 (DEFAULT_FG_COLOR): Likewise.
22068 (DEFAULT_BG_COLOR): Likewise.
22069 (colored_char): Likewise.
22070 (xpos): Likewise.
22071 (ypos): Likewise.
22072 (cursor_state): Likewise.
22073 (fg_color): Likewise.
22074 (bg_color): Likewise.
22075 (text_buf): Likewise.
22076 (page): Likewise.
22077 (font): Likewise.
22078 (framebuffer): New variable.
22079 (set_read_map): Disabled.
22080 (setup): New variable.
22081 (is_target): Likewise.
22082 (grub_vga_mod_init): Likewise.
22083 (grub_vga_mod_fini): Likewise.
22084 (check_vga_mem): Likewise.
22085 (write_char): Likewise.
22086 (write_cursor): Likewise.
22087 (scroll_up): Likewise.
22088 (grub_vga_putchar): Likewise.
22089 (grub_vga_getcharwidth): Likewise.
22090 (grub_vga_getwh): Likewise.
22091 (grub_vga_getxy): Likewise.
22092 (grub_vga_gotoxy): Likewise.
22093 (grub_vga_cls): Likewise.
22094 (grub_vga_setcolorstate): Likewise.
22095 (grub_vga_setcursor): Likewise.
22096 (grub_video_vga_init): New function.
22097 (grub_video_vga_setup): Likewise.
22098 (grub_video_vga_fini): Likewise.
22099 (update_target): Likewise.
22100 (grub_video_vga_blit_bitmap): Likewise.
22101 (grub_video_vga_blit_render_target): Likewise.
22102 (grub_video_vga_set_active_render_target): Likewise.
22103 (grub_video_vga_get_active_render_target): Likewise.
22104 (grub_video_vga_swap_buffers): Likewise.
22105 (grub_video_vga_set_palette): Likewise.
22106 (grub_video_vga_get_info_and_fini): Likewise.
22107 (grub_vga_term): Removed.
22108 (grub_video_vga_adapter): New variable.
22109 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22110 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22111
2bf61a98
VS
221122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * video/readers/jpeg.c: Indented.
22115
09ddcd11
VS
221162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Various jpeg cleanups.
22119
22120 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22121 (grub_jpeg_decode_quan_table): Use sizeof.
22122 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22123
e5507505
PH
221242010-05-05 Peter Hurley <No e-mail available> (tiny change)
22125
22126 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22127 tables. Ignore non-last ac bit.
22128 (grub_jpeg_decode_quan_table): Likewise.
22129
7e720a9b
VS
221302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22133 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22134 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22135 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22136 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22137 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22138
a7fc080b
VS
221392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22142 error.
22143
2bf6012d
VS
221442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22147
265d68cd
VS
221482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22149
22150 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22151 condition.
22152
221532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22154
22155 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22156 part.
22157
265d68cd 221582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22159
22160 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22161 pointers.
22162
265d68cd 221632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22164
22165 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22166
d1b61374
CF
221672010-05-01 Christian Franke <franke@computer.org>
22168
22169 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22170 Remove broken Cygwin path conversion.
22171 * util/misc.c: [__CYGWIN__] Add include and define.
22172 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22173 for Cygwin 1.7.
22174 (make_system_path_relative_to_its_root): Simplify loop, replace early
22175 return by break.
22176 [__CYGWIN__] Add conversion to win32 path.
22177 Include "/" case in trailing slash removal.
22178
3558c6e9
VS
221792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22182 Reported by: Seth Goldberg
22183
f5f3ff93
VS
221842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * commands/help.c (grub_cmd_help): Fix a typo.
22187 Reported by: Seth Goldberg
22188
d8b5cd40
VS
221892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22192 name and add N_.
22193 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22194 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22195 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22196 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22197 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22198 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22199 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22200 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22201 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22202 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22203 * normal/context.c (GRUB_MOD_INIT): Likewise.
22204 * normal/main.c (GRUB_MOD_INIT): Likewise.
22205 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22206 * term/serial.c (GRUB_MOD_INIT): Likewise.
22207 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22208
88c14915
VS
222092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22212 extra == 0.
22213
165134bc
VS
222142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 * commands/iorw.c: New file.
22217 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22218 (iorw_mod_SOURCES): New variable.
22219 (iorw_mod_CFLAGS): Likewise.
22220 (iorw_mod_LDFLAGS): Likewise.
22221
c5ac9b32
VS
222222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 Hotkey support
22225
22226 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22227 * normal/main.c (hotkey_aliases): New variable.
22228 (grub_normal_add_menu_entry): Parse "--hotkey".
22229 * normal/menu_text.c (run_menu): Handle hotkeys.
22230
ce60689c
VS
222312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * kern/i386/coreboot/init.c (grub_machine_init): Call
22234 grub_machine_mmap_init on qemu.
22235
0359d006
VS
222362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 * boot/i386/qemu/boot.S: Add a missing .code16.
22239
7819a456
VS
222402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22241
22242 Use LBIO on coreboot.
22243
22244 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22245 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22246 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22247 New declaration.
22248 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22249 grub_machine_mmap_init on coreboot.
22250 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22251 GRUB_LINUXBIOS_MEMBER_LINK.
22252 (grub_machine_mmap_iterate): Fix declaration.
22253 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22254
7210dca9
VS
222552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 Split coreboot and multiboot ports.
22258
22259 * conf/i386-multiboot.rmk: New file.
22260 * configure.ac: Add multiboot port.
22261 * include/grub/i386/multiboot/boot.h: New file.
22262 * include/grub/i386/multiboot/console.h: Likewise.
22263 * include/grub/i386/multiboot/init.h: Likewise.
22264 * include/grub/i386/multiboot/kernel.h: Likewise.
22265 * include/grub/i386/multiboot/loader.h: Likewise.
22266 * include/grub/i386/multiboot/memory.h: Likewise.
22267 * include/grub/i386/multiboot/serial.h: Likewise.
22268 * include/grub/i386/multiboot/time.h: Likewise.
22269 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22270 * loader/multiboot.c: Likewise.
22271 * loader/multiboot_mbi2.c: Likewise.
22272 * util/grub-mkrescue.in: Generate multiboot rescue.
22273
6f8aaf68
VS
222742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22275
3080f7a7
VS
22276 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22277
222782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22279
22280 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
22281
22282 * commands/terminal.c (abstract_terminal): New struct.
22283 (handle_command): New function. Based on grub_cmd_terminal_input.
22284 (grub_cmd_terminal_input): Use handle_command.
22285 (grub_cmd_terminal_output): Use handle_command.
22286
a8ebb841
BC
222872010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22288
22289 Fix comment handling.
22290
22291 * tests/grub_script_comments.in: New testcase.
22292 * conf/tests.rmk: Rules for new testcase.
22293 * script/yylex.l: Updated flex rules.
22294
bb06ba08
ST
222952010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22296
22297 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
22298 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22299 if argc is 1.
bb06ba08 22300
cc9d2425
VS
223012010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
22304 autogen issues.
22305
460d8402
CF
223062010-04-26 Christian Franke <franke@computer.org>
22307
22308 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
22309 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
22310 (grub_get_prefix): Remove function.
22311 * util/grub-emu.c (main): Replace grub_get_prefix () call by
22312 make_system_path_relative_to_its_root ().
22313 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22314
553c01f9
CF
223152010-04-24 Christian Franke <franke@computer.org>
22316
22317 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22318 (kernel_img_LDFLAGS): Remove -static-libgcc.
22319
2aec1692
CF
223202010-04-24 Christian Franke <franke@computer.org>
22321
22322 * configure.ac: Do not CHECK_BSS_START_SYMBOL
22323 and CHECK_END_SYMBOL if grub-emu is built.
22324 Unset TARGET_OBJ2ELF if grub-emu is built
22325 without module support.
22326
f67dc308
JS
223272010-04-24 Jiro SEKIBA <jir@unicus.jp>
22328
22329 Nilfs2 support.
22330
22331 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
22332 (grub_fstest_SOURCES): Likewise.
22333 (pkglib_MODULES): Add nilfs2.mod.
22334 (nilfs2_mod_SOURCES): New variable.
22335 (nilfs2_mod_CFLAGS): Likewise.
22336 (nilfs2_mod_LDFLAGS): Likewise.
22337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22338 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22339 * fs/nilfs2.c: New file.
22340
4ba8d354
VS
223412010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
22342
22343 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
22344 is not supported.
22345
0d2c20c6
GS
223462010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
22347
22348 Add grub-mkconfig support for NetBSD.
22349
22350 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
22351 * util/grub-mkconfig.in: export new NetBSD specific variables.
22352 * po/POTFILES-shell: added 10_netbsd.in.
22353 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
22354
bc4a2d83
BC
223552010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
22356
22357 Fix emu build with grub-emu-pci and grub-emu-modules.
22358
22359 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
22360 functions.
22361 * include/grub/libpciaccess.h: New file.
22362 * conf/any-emu.rmk: Update kernel headers for emu build.
22363
f48c87aa
VS
223642010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22367
18959385
VS
223682010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22371
0037de3f
VS
223722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
22375 Retrieve chosen/bootpath if bootpath isn't hardcoded.
22376 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
22377 util/ieee1275/ofpath.c.
22378 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
22379 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
22380 * include/grub/sparc64/ieee1275/boot.h
22381 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
22382 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
22383 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
22384 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
22385 const char *.
22386 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
22387 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
22388 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
22389 install.
22390
38e55e90
GS
223912010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22392
22393 * util/grub-mkconfig.in: Corrected two == equality tests.
22394 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
22395 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
22396 expect a number appended to it.
22397 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
22398 expects a number appended to it.
22399
a9e6ff28
VS
224002010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22403
0b830b8f
VS
224042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 * util/hostdisk.c (make_device_name): Change to new partition naming.
22407
0973daeb
VS
224082010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22411
460d8402 224122010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
22413
22414 * Makefile.in: Add missing localedir setting.
22415
0b456309
CW
224162010-04-14 Colin Watson <cjwatson@ubuntu.com>
22417
22418 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
22419 mistake in r2156. Noticed by Anthony Fok.
22420
22421 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
22422 @localedir@.
22423 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22424
08f46d62
BC
224252010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
22426
22427 Fix a spurious, uninitialized variable warning.
22428
22429 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
22430 Initialize variable, shdr.
22431 (grub_freebsd_load_elfmodule): Likewise.
22432 (grub_freebsd_load_elf_meta): Likewise.
22433
8c4a72d4
BC
224342010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
22435
22436 Fix for escaped dollar in double quoted strings.
22437
22438 * script/yylex.l: Updated flex rules.
22439 * conf/tests.rmk: Rule for new testcase.
22440 * tests/grub_script_dollar.in: New testcase.
22441
ce44826e
CPE
224422010-04-13 Carles Pina i Estany <carles@pina.cat>
224432010-04-13 Colin Watson <cjwatson@ubuntu.com>
22444
22445 Enclose all translated strings in grub.cfg in single quotes, and
22446 escape them appropriately (Ubuntu bug #552921).
22447
22448 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
22449 * util/grub.d/10_hurd.in: Use it.
22450 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22451 * util/grub.d/10_linux.in (linux_entry): Likewise.
22452
4b0cd8f8
VS
224532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 Fix cygwin compilation.
22456
22457 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
22458 * include/grub/misc.h (__register_frame_info)
22459 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22460 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22461 * kern/misc.c (__register_frame_info)
22462 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22463 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22464
01fcf061
VS
224652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22468
5d04b11e
VS
224692010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 Unify libgcc processing.
22472
22473 * Makefile.in (kernel_img_LDFLAGS): New variable.
22474 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22475 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22476 overwriting.
22477 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22478 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22479 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22480 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22481 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22482 overwriting. Remove -lgcc and -static-libgcc
22483 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22484 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22485 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22486 (kernel_img_LDFLAGS): Append instead of overwriting.
22487 Remove -lgcc and -static-libgcc
22488 * conf/sparc64-ieee1275.rmk: Likewise.
22489 * include/grub/powerpc/libgcc.h: Move to ...
22490 * include/grub/libgcc.h: .. this.
22491 * include/grub/libgcc.h: Don't export most of the function on x86.
22492 (__bswapsi2): New export.
22493 (__bswapdi2): Likewise.
22494 * include/grub/mips/libgcc.h: Removed.
22495 * include/grub/sparc64/libgcc.h: Likewise.
22496
b7f3ac29
VS
224972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22498
22499 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22500 disk_info_msg (conflicts with gettexting into languages with cases).
22501
2c7031b1
GS
225022010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22503
22504 Add grub-probe support for NetBSD.
22505
22506 * util/getroot.c (find_root_device): Convert block device to
22507 character device on NetBSD.
22508 * util/probe.c (probe): Require character device on NetBSD.
22509 * util/hostdisk.c: NetBSD specific headers.
22510 (configure_device_driver): new function to tune device driver
22511 parameters (currently only for NetBSD floppy driver).
22512 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22513 via disklabel ioctl).
22514 (open_device): call configure_device_driver on NetBSD.
22515 (convert_system_partition_to_system_disk): NetBSD specific code.
22516 (device_is_wholedisk): Likewise.
22517 (grub_util_biosdisk_get_grub_dev): Likewise.
22518 (make_device_name): Fixed a typo in bsd_part_str.
22519 * configure.ac: check for opendisk() and getrawpartition() on
22520 NetBSD and set LIBUTIL.
22521 * Makefile.in: add LIBUTIL to LIBS.
22522
f516290c
BC
225232010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22524
22525 Documentation fix.
22526
22527 * util/grub-script-check.c: Better help message.
22528
d8dcc0df
BC
225292010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22530
22531 Fix FreeBSD build.
22532
22533 * configure.ac: Flex version check.
22534 * conf/common.rmk: Add -Wno-error to sh.mod.
22535 * script/yylex.l: Remove all #pragma.
22536
6734334a
VS
225372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22540 prototype.
22541 Reported by: Seth Goldberg.
22542
daea6abd
VS
225432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22546 Rename "module" to "module2".
22547 Reported by: Seth Goldberg.
22548
f2fd9d2b
VS
225492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22552 EXPORT_FUNC.
22553 Reported by: Seth Goldberg.
22554
be124579
VS
225552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 * lib/posix_wrap/locale.h: Add missing file.
22558 Reported by: Seth Goldberg.
22559
ef5da797
VS
225602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 grub-emu module load support.
22563
22564 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22565 NO_DYNAMIC_MODULES switched to this.
22566 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22567 (CFLAGS): Likewise.
22568 * conf/any-emu.rmk: Generate symlist.
22569 (kernel_img_HEADERS): Add util/datetime.h.
22570 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22571 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22572 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22573 kern/$(target_cpu)/cache.S.
22574 * configure.ac (grub-emu-modules): New option.
22575 * genmk.rb: Handle multiple source lists.
22576 * include/grub/sdl.h: New file.
22577 * include/grub/libusb.h: Likewise.
22578 * util/grub-emu.c (main): Hanle (host) root.
22579 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22580 GRUB_ERR_UNKNOWN_DEVICE.
22581 * util/misc.c: Move mm functions to ...
22582 * util/mm.c: ... here. All users updated.
22583
47822096
VS
225842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22587 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22588 missing files.
22589 (maintainer-clean): Remove libgcrypt-grub.
22590
5d7e7445
VS
225912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22594
25f4e252
EC
225952010-04-09 EFI Coder <eficoder@hotmail.com>
22596
22597 * normal/menu_text.c (print_message): Clean up the message and show
22598 the Fn information when on EFI
22599 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22600
027de555
VS
226012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22604 All users updated.
22605 * normal/crypto.c (read_crypto_list): Likewise.
22606 * normal/dyncmd.c (read_command_list): Likewise.
22607 * normal/term.c (read_terminal_list): Likewise.
22608 * normal/main.c (read_lists): Use explicit prefix.
22609 (read_lists_hook): Use read_lists.
22610 (grub_normal_execute): Likewise.
22611
47779711
VS
226122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22615 Reported by: Thomas Schmitt.
22616 Add -no-emul-boot to grub-mkisofs parameters.
22617
1118c32e
VS
226182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22619
22620 * font/font.c: Indented.
22621
7d652447
BC
226222010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22623
22624 Elif support to GRUB script (by Deepak Vankadaru).
22625
22626 * tests/grub_script_if.in: New testcase.
22627 * conf/tests.rmk: Rule for new testcase.
22628 * script/parser.y: Grammar rules for elif.
22629
34bb22df
BC
226302010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22631
22632 While and until loops support to GRUB script.
22633
22634 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22635 (grub_script_create_cmdwhile): New function prototype.
22636 (grub_script_execute_cmdwhile): New function prototype.
22637 * script/execute.c (grub_script_execute_cmdwhile): New function.
22638 * script/parser.y (command): New commands.
22639 (whilecmd): New grammar rule.
22640 (untilcmd): New grammar rule.
22641 * script/script.c (grub_script_create_cmdwhile): New function.
22642 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22643 function.
22644
22645 * tests/grub_script_while1.in: New testcase.
22646 * conf/tests.rmk: Rule for new testcase.
22647
e215d8e0
VS
226482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22651 as *.jpg.
22652
d7c43ba1
MV
226532010-04-09 Mario Vazquez <mariovazq@gmail.com>
22654
22655 GRUB_BACKGROUND support.
22656
22657 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22658 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22659
d64795c0
VS
226602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 22663 Idea by: Mario Vazquez
d64795c0
VS
22664
22665 * util/grub.d/00_header.in: Load pf2 and image modules.
22666
f267f83a
VS
226672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22668
22669 grub-mkconfig multiple terminal support.
22670
22671 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22672 * util/grub.d/00_header.in: Likewise.
22673
b7841ceb
VS
226742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22677 we use cd $(srcdir).
22678
df60998c
CW
226792010-04-08 Colin Watson <cjwatson@ubuntu.com>
22680
22681 * util/grub.d/10_linux.in: Only use the first word of
22682 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22683 spaces in GRUB_DISTRIBUTOR.
22684 * util/grub.d/10_kfreebsd.in: Likewise.
22685 * util/grub.d/10_hurd.in: Likewise.
22686
fa09c82e
BC
226872010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22688
14e18ae3 22689 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
22690
22691 * tests/util/grub-shell.in: Remove -serial stdio option.
22692
daf892b3
BC
226932010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 POSIX header file wrappers.
22696
22697 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22698 equivalents.
22699 * lib/posix_wrap/ctype.h: Likewise.
22700 * lib/posix_wrap/errno.h: Likewise.
22701 * lib/posix_wrap/langinfo.h: Likewise.
22702 * lib/posix_wrap/limits.h: Likewise.
22703 * lib/posix_wrap/localcharset.h: Likewise.
22704 * lib/posix_wrap/stdint.h: Likewise.
22705 * lib/posix_wrap/stdio.h: Likewise.
22706 * lib/posix_wrap/stdlib.h: Likewise.
22707 * lib/posix_wrap/string.h: Likewise.
22708 * lib/posix_wrap/sys/types.h: Likewise.
22709 * lib/posix_wrap/unistd.h: Likewise.
22710 * lib/posix_wrap/wchar.h: Likewise.
22711 * lib/posix_wrap/wctype.h: Likewise.
22712 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22713 (grub_script.yy.h): Likewise.
22714 * script/yylex.l: Remove POSIX emulation #defines.
22715 * Makefile.in (POSIX_CFLAGS): New variable.
22716 (GNULIB_UTIL_CFLAGS): Likewise.
22717
22718 Regexp support.
22719
22720 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22721 (regexp_mod_SOURCES): New variable.
22722 (regexp_mod_CFLAGS): Likewise.
22723 (regexp_mod_LDFLAGS): Likewise.
22724 * commands/regexp.c: New file.
22725 * gnulib/regcomp.c: New file. Imported from gnulib.
22726 * gnulib/regex.c: Likewise.
22727 * gnulib/regex_internal.c: Likewise.
22728 * gnulib/regex_internal.h: Likewise.
22729 * gnulib/regexec.c: Likewise.
22730 * gnulib/regex.h: Likewise.
22731
974ac4f7
VS
227322010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22735 unsupported video mode types.
22736
2622c3ff
VS
227372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22738
22739 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22740
064cb524
VS
227412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22744 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22745
a8c3b552
VS
227462010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 Remove unused grub_vga_get_font.
22749
22750 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22751 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22752
187bbe3d
GS
227532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22754
22755 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22756 * include/grub/misc.h: Likewise.
22757
b9396631
GS
227582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22759
22760 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22761 for which failure is fatal.
22762
50479feb
GS
227632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22764
22765 * util/grub-install.in: Use mkdir -p to create grub directory.
22766 * util/i386/efi/grub-install.in: Likewise.
22767 * util/ieee1275/grub-install.in: Likewise.
22768
b1654fdf
GS
227692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22770
22771 * Makefile.in (LEX): new variable.
22772
bd5a6415
GS
227732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22774
22775 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22776 `=' and added double quotes on operands of this equality test.
22777
3db3a82b
VS
227782010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 * Makefile.in (uninstall): Remove a leftover debug echo.
22781 Reported by: Grégoire Sutre
22782
38023412
VS
227832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22784
22785 MIPS multiboot2 support.
22786
22787 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22788 (multiboot2_mod_SOURCES): New variable.
22789 (multiboot2_mod_CFLAGS): Likewise.
22790 (multiboot2_mod_LDFLAGS): Likewise.
22791 (multiboot2_mod_ASFLAGS): Likewise.
22792 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22793 definition.
22794 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22795 (MULTIBOOT_MBI_REGISTER): Likewise.
22796 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22797 (MULTIBOOT_ELF32_MACHINE): Likewise.
22798 (MULTIBOOT_ELF64_MACHINE): Likewise.
22799 * include/grub/mips/multiboot.h: New file.
22800 * include/grub/video.h (grub_video_driver_id): New type
22801 GRUB_VIDEO_DRIVER_SM712.
22802 (grub_video_get_info_and_fini): Export.
22803 (grub_video_get_palette): Likewise.
22804 (grub_video_get_driver_id): Likewise.
22805 * include/multiboot2.h: Resynced with spec.
22806 * loader/i386/multiboot.c: Moved from here ...
22807 * loader/multiboot.c: ... here. All users updated.
22808 (grub_multiboot_boot): Use platform-specific macros.
22809 * loader/i386/multiboot_elfxx.c: Moved from here ...
22810 * loader/multiboot_elfxx.c: ... here. All users updated.
22811 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22812 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22813 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22814
47674667
VS
228152010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 Import gnulib argp module.
22818
22819 * gnulib/argp-ba.c: New file.
22820 * gnulib/argp-eexst.c: Likewise.
22821 * gnulib/argp-fmtstream.c: Likewise.
22822 * gnulib/argp-fmtstream.h: Likewise.
22823 * gnulib/argp-fs-xinl.c: Likewise.
22824 * gnulib/argp-help.c: Likewise.
22825 * gnulib/argp-namefrob.h: Likewise.
22826 * gnulib/argp-parse.c: Likewise.
22827 * gnulib/argp-pin.c: Likewise.
22828 * gnulib/argp-pv.c: Likewise.
22829 * gnulib/argp-pvh.c: Likewise.
22830 * gnulib/argp-version-etc.c: Likewise.
22831 * gnulib/argp-version-etc.h: Likewise.
22832 * gnulib/argp-xinl.c: Likewise.
22833 * gnulib/argp.h: Likewise.
22834
495442ed
VS
228352010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * kern/device.c (grub_device_iterate): Clear errors after failed
22838 opening device.
22839
f9fd65df
VS
228402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22841
22842 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22843 returned by firmware.
22844
af09641e
VS
228452010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22848 compilation on coreboot and qemu
22849
016883a5
VS
228502010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 * include/multiboot2.h: Resync with spec.
22853
f97e1f7d
VS
228542010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22855
22856 Multiboot2 tag support
22857
22858 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22859 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22860 Remove loader/multiboot_loader.c.
22861 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22862 (grub_multiboot2_real_boot): Likewise.
22863 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22864 (grub_get_multiboot_mmap_count): New proto.
22865 (grub_fill_multiboot_mmap): Likewise.
22866 (grub_multiboot_set_video_mode): Likewise.
22867 (grub_multiboot_set_console): Likewise.
22868 (grub_multiboot_load): Likewise.
22869 (grub_multiboot_load_elf): Likewise.
22870 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22871 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22872 * include/multiboot.h: Resynced with specification.
22873 * include/multiboot2.h: Resynced with specification.
22874 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22875 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22876 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22877 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22878 users updated.
22879 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22880 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22881 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22882 Removed.
22883 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22884 Moved from here...
22885 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22886 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22887 Moved from here...
22888 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22889 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22890 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22891 All users updated.
22892 * loader/i386/multiboot_mbi2.c: New file.
22893
3506b90b
VS
228942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 Resync with gnulib.
22897
22898 * Makefile.in (GNULIB_CFLAGS): New variable.
22899 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22900 (grub_script_check_CFLAGS): New variable.
22901 * gnulib/alloca.h: Resync with gnulib.
22902 * gnulib/error.c: Likewise.
22903 * gnulib/error.h: Likewise.
22904 * gnulib/fnmatch.c: Likewise.
22905 * gnulib/fnmatch_loop.c: Likewise.
22906 * gnulib/getdelim.c: Likewise.
22907 * gnulib/getline.c: Likewise.
22908 * gnulib/getopt.c: Likewise.
22909 * gnulib/getopt1.c: Likewise.
22910 * gnulib/getopt_int.h: Likewise.
22911 * gnulib/gettext.h: Likewise.
22912 * gnulib/progname.c: Likewise.
22913 * gnulib/progname.h: Likewise.
22914
394a3120
GS
229152010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22916
22917 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22918 which is the case with --disabled-nls.
22919
22920 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22921 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22922 * util/misc.c: Likewise.
22923 * util/mkisofs/mkisofs.c: Likewise.
22924 * util/mkisofs/mkisofs.h: Likewise.
22925
969d1c78
VS
229262010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22927
22928 Simplify Apple CC support.
22929
22930 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22931 Add 0 byte at the end not to have a symbol with empty target.
22932 * mmap/i386/pc/mmap_helper.S: Likewise.
22933 * genmk.rb: Ignore errors 2030 and 2050.
22934 * kern/i386/pc/startup.S: Use LOCAL when possible.
22935
8d2977bb
BC
229362010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22937
22938 Testcase and the fix for final semicolon on cmdline.
22939
22940 * tests/grub_script_final_semicolon.in: New testcase.
22941 * conf/tests.rmk: Rules for the new testcase.
22942 * script/parser.y: Grammar fix.
22943
a7bd6915
BC
229442010-03-26 BVK Chaitanya <bvk@localhost>
22945
22946 Blank lines testcase for GRUB script.
22947
22948 * tests/grub_script_blanklines.in: New testcase.
22949 * conf/tests.rmk: Rules for the new testcase.
22950
e4ff6628
VS
229512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22952
22953 Don't use __FILE__.
22954
22955 * genmk.rb: Add -DGRUB_FILE to all C targets.
22956 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22957 * include/grub/list.h: Likewise.
22958 * include/grub/misc.h: Likewise.
22959 * include/grub/mm.h: Likewise.
22960 * include/grub/test.h: Likewise.
22961 * kern/mm.c: Likewise.
22962 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22963
6a5cf6b6
VS
229642010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22965
22966 Sunpc partitions support.
22967
22968 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22969 (grub_fstest_SOURCES): Likewise.
22970 (pkglib_MODULES): Add part_sunpc.mod.
22971 (part_sunpc_mod_SOURCES): New variable.
22972 (part_sunpc_mod_CFLAGS): Likewise.
22973 (part_sunpc_mod_LDFLAGS): Likewise.
22974 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22975 * partmap/sunpc.c: New file.
22976
746d9045
BC
229772010-03-26 BVK Chaitanya <bvk@localhost>
22978
22979 For loop support to GRUB script.
22980
22981 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22982 (grub_script_create_cmdfor): New function prototype.
22983 (grub_script_execute_cmdfor): New function prototype.
22984 * script/execute.c (grub_script_execute_cmdfor): New function.
22985 * script/parser.y (command): New for command.
22986 (forcmd): New grammar rule.
22987 * script/script.c (grub_script_create_cmdfor): New function.
22988 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22989 function.
22990 * tests/grub_script_for1.in: New testcase.
22991 * conf/tests.rmk: Rules for new testcase.
22992
18486b18
VS
229932010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 Nested partitions
22996
22997 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22998 'partition' is NULL, grub_partition_get_start already does that.
22999 * commands/loadenv.c (check_blocklists): Likewise.
23000 (write_blocklists): Likewise.
23001 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23002 (grub_fstest_SOURCES): Likewise.
23003 (pkglib_MODULES): Add part_bsd.mod.
23004 (part_bsd_mod_SOURCES): New variable.
23005 (part_bsd_mod_CFLAGS): Likewise.
23006 (part_bsd_mod_LDFLAGS): Likewise.
23007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23008 (grub_emu_SOURCES): Likewise.
23009 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23010 * include/grub/bsdlabel.h: New file.
23011 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23012 'get_name'.
23013 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23014 (grub_partition_map_list): New variable.
23015 (grub_partition_map_register): Inline.
23016 (grub_partition_map_unregister): Likewise.
23017 (FOR_PARTITION_MAPS): New macro.
23018 (grub_partition_map_iterate): Removed.
23019 (grub_partition_get_start): Handle nested partitions.
23020 * include/grub/msdos_partition.h: Remove bsd-related entries.
23021 (grub_pc_partition): Remove.
23022 * kern/disk.c (grub_disk_close): Free partition data.
23023 (grub_disk_adjust_range): Handle nested partitions.
23024 * kern/partition.c (grub_partition_map_probe): New function.
23025 (grub_partition_probe): Parse name to number, handle subpartitions.
23026 (get_partmap): New function.
23027 (grub_partition_iterate): Handle subpartitions.
23028 (grub_partition_get_name): Likewise.
23029 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23030 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23031 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23032 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23033 Set 'number'.
23034 (acorn_partition_map_probe): Remove.
23035 (acorn_partition_map_get_name): Likewise.
23036 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23037 Set 'number'.
23038 Set 'index' to 0 since there can be only one partition entry per sector.
23039 (amiga_partition_map_probe): Remove.
23040 (amiga_partition_map_get_name): Likewise.
23041 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23042 Set 'number'.
23043 Set 'offset' and 'index' to real positions of partitions.
23044 (apple_partition_map_probe): Remove.
23045 (apple_partition_map_get_name): Likewise.
23046 * partmap/bsdlabel.c: New file.
23047 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23048 Set 'number'.
23049 Allocate 'data' so it can be correctly freed.
23050 Set 'index' to offset inside sector.
23051 (gpt_partition_map_probe): Remove.
23052 (gpt_partition_map_get_name): Likewise.
23053 * partmap/msdos.c (grub_partition_parse): Remove.
23054 (pc_partition_map_iterate): Don't force raw access.
23055 Set 'number'.
23056 Make 'ext_offset' a local variable.
23057 (pc_partition_map_probe): Remove.
23058 (pc_partition_map_get_name): Remove.
23059 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23060 Set 'number'.
23061 (sun_partition_map_probe): Remove.
23062 (sun_partition_map_get_name): Likewise.
23063 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23064 (grub_pcpart_type): Likewise.
23065 * util/hostdisk.c (open_device): Handle new numbering scheme.
23066 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23067 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23068 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23069 * util/grub-install.in: Insert all subpartition modules.
23070 * util/ieee1275/grub-install.in: Likewise.
23071
a3940f88
AG
230722010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23073
23074 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23075 grammar.
23076
21b99926 230772010-03-24 Colin Watson <cjwatson@ubuntu.com>
23078
23079 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23080
bed1d352
CW
230812010-03-21 Colin Watson <cjwatson@ubuntu.com>
23082
23083 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23084 match where 'make install' puts them.
23085 * util/i386/efi/grub-install.in: Likewise.
23086
c9f58427
CW
230872010-03-19 Colin Watson <cjwatson@ubuntu.com>
23088
23089 * .bzrignore: Add gentrigtables, grub-script-check,
23090 grub_script_check_init.c, grub_script_check_init.h, and
23091 trigtables.c.
23092
f84afb27
VS
230932010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23094
23095 * kern/parser.c: Indented.
23096
ed0e3d30
VS
230972010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23098
23099 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23100
0ea81d98
VS
231012010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23104 alpha_mask_size == 0 case.
23105
0cdc2a09
BC
231062010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23107
23108 GRUB shell lexer and parser improvements.
23109
23110 * conf/any-emu.rmk: Build rule updates.
23111 * conf/common.rmk: Likewise.
23112 * conf/i386-coreboot.rmk: Likewise.
23113 * conf/i386-efi.rmk: Likewise.
23114 * conf/i386-ieee1275.rmk: Likewise.
23115 * conf/i386-pc.rmk: Likewise.
23116 * conf/powerpc-ieee1275.rmk: Likewise.
23117 * conf/x86_64-efi.rmk: Likewise.
23118
23119 * configure.ac: Configure check for flex.
23120
23121 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23122 types.
23123 (grub_lexer_param): Struct member updates.
23124 (grub_parser_param): Likewise.
23125 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23126 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23127 (grub_script_lexer_init): Prototype update.
23128 (grub_script_lexer_record_start): Likewise.
23129 (grub_script_lexer_record_stop): Likewise.
23130 (grub_script_lexer_yywrap): New function prototype.
23131 (grub_script_lexer_fini): Likewise.
23132 (grub_script_execute_argument_to_string): Removed by...
23133 (grub_script_execute_argument_to_argv): ...better version.
23134
23135 * script/execute.c (ROUND_UPTO): New macro.
23136 (grub_script_execute_cmdline): Out of memory fixes.
23137 (grub_script_execute_menuentry): Likewise.
23138 (grub_script_execute_argument_to_string): Removed. Update all
23139 users by...
23140 (grub_script_execute_argument_to_argv): ...better version.
23141 * script/function.c (grub_script_function_create): Use
23142 grub_script_execute_argument_to_argv instead of
23143 grub_script_execute_argument_to_string.
23144
23145 * script/lexer.c (check_varstate): Removed.
23146 (check_textstate): Removed.
23147 (grub_script_lexer_record_start): Likewise.
23148 (grub_script_lexer_record_stop): Likewise.
23149 (recordchar): Replaced with...
23150 (grub_script_lexer_record): ...new function.
23151 (nextchar): Removed.
23152 (grub_script_lexer_init): Rewritten.
23153 (grub_script_yylex): Rewritten.
23154 (append_newline): New function.
23155 (grub_script_lexer_yywrap): New function.
23156 (grub_script_lexer_fini): New function.
23157 (grub_script_yyerror): Sets error flag.
23158
23159 * script/yylex.l: New file.
23160 (grub_lexer_yyfree): Wrapper for flex yyffre.
23161 (grub_lexer_yyalloc): Likewise.
23162 (grub_lexer_yyrealloc): Likewise.
23163 * script/parser.y: Refactored.
23164
23165 * script/script.c (grub_script_arg_add): Out of memory fixes.
23166 (grub_script_add_arglist): Likewise.
23167 (grub_script_create_cmdline): Likewise.
23168 (grub_script_create_cmdmenu): Likewise.
23169 (grub_script_add_cmd): Likewise.
23170 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23171 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23172 unnecessary code.
23173
23174 * tests/grub_script_echo1.in: New testcase.
23175 * tests/grub_script_vars1.in: New testcase.
23176 * tests/grub_script_echo_keywords.in: New testcase.
23177
1d63a066
VS
231782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23179
23180 Remove some redundancy in build system.
23181
23182 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23183 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23184 (TARGET_LDFLAGS): Add -nostdlib.
23185 (TARGET_IMG_LDFLAGS): Likewise.
23186 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23187 anything since mmap isn't available.
23188 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23189 Add util/time.c.
23190 (pkglib_MODULES): Remove reboot.mod.
23191 (reboot_mod_SOURCES): Removed.
23192 (reboot_mod_CFLAGS): Likewise.
23193 (reboot_mod_LDFLAGS): Likewise.
23194 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23195 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23196 (DEFSYMFILES): Add kernel_syms.lst.
23197 (kernel_img_HEADERS): Add common headers.
23198 (symlist.c): New target.
23199 (kernel_syms.lst): Likewise.
23200 (pkglib_MODULES): Add memdisk.mod.
23201 (memdisk_mod_SOURCES): New variable.
23202 (memdisk_mod_CFLAGS): Likewise.
23203 (memdisk_mod_LDFLAGS): Likewise.
23204 (pkglib_MODULES): Add reboot.mod.
23205 (reboot_mod_SOURCES): New variable.
23206 (reboot_mod_CFLAGS): Likewise.
23207 (reboot_mod_LDFLAGS): Likewise.
23208 (pkglib_MODULES): Add date.mod.
23209 (date_mod_SOURCES): New variable.
23210 (date_mod_CFLAGS): Likewise.
23211 (date_mod_LDFLAGS): Likewise.
23212 (pkglib_MODULES): Add datehook.mod.
23213 (datehook_mod_SOURCES): New variable.
23214 (datehook_mod_CFLAGS): Likewise.
23215 (datehook_mod_LDFLAGS): Likewise.
23216 (pkglib_MODULES): Add lsmmap.mod.
23217 (lsmmap_mod_SOURCES): New variable.
23218 (lsmmap_mod_CFLAGS): Likewise.
23219 (lsmmap_mod_LDFLAGS): Likewise.
23220 (pkglib_MODULES): Add boot.mod.
23221 (boot_mod_SOURCES): New variable.
23222 (boot_mod_CFLAGS): Likewise.
23223 (boot_mod_LDFLAGS): Likewise.
23224 * conf/i386-coreboot.rmk: Removed redundant parts.
23225 * conf/i386-ieee1275.rmk: Likewise.
23226 * conf/i386-pc.rmk: Likewise.
23227 * conf/mips-yeeloong.rmk: Likewise.
23228 * conf/mips.rmk: Likewise.
23229 * conf/powerpc-ieee1275.rmk: Likewise.
23230 * conf/sparc64-ieee1275.rmk: Likewise.
23231 * conf/x86_64-efi.rmk: Likewise.
23232 * conf/i386-coreboot.rmk: Moved qemu parts ..
23233 * conf/i386-qemu.rmk: ... here
23234 * conf/i386-efi.rmk: Moved common parts to...
23235 * conf/x86-efi.rmk: ... here.
23236 * conf/i386.rmk: Added modules common to all x86 variants.
23237 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23238 * disk/memdisk.c: Remove grub/machine/kernel.h.
23239 * gensymlist.sh.in: Include symbol.h.
23240 * hook/datehook.c: Correct module name.
23241 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23242 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23243 * include/grub/i386/efi/serial.h: New file.
23244 * include/grub/x86_64/efi/serial.h: Likewise.
23245 * util/time.c: Likewise.
23246 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23247
463ac55f
CK
232482010-03-14 Colin King <colin.king@ubuntu.com>
232492010-03-14 Colin Watson <cjwatson@ubuntu.com>
23250
23251 Shrink the pre-partition-table part of boot.img by eight bytes.
23252
23253 * boot/i386/pc/boot.S (ERR): New macro.
23254 (chs_mode): Use ERR.
23255 (geometry_error): Likewise.
23256 (hd_probe_error): Remove. This is only used once, so we wrwite
23257 it inline instead.
23258 (read_error): Instead of printing read_error_string, just set up
23259 %si and fall through to ...
23260 (error_message): ... this new function, also used by ERR.
23261
08e46ede
CW
232622010-03-14 Colin Watson <cjwatson@ubuntu.com>
23263
23264 Speed up consecutive hostdisk operations on the same device.
23265
23266 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23267 (grub_util_biosdisk_open): Initialise disk->data.
23268 (struct linux_partition_cache): New structure.
23269 (linux_find_partition): Cache partition start positions; these are
23270 expensive to compute on every read and write.
23271 (open_device): Cache open file descriptor in disk->data, so that we
23272 don't have to reopen it and flush the buffer cache for consecutive
23273 operations on the same device.
23274 (grub_util_biosdisk_close): New function.
23275 (grub_util_biosdisk_dev): Set `close' member.
23276
23277 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23278 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23279 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23280 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23281 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23282
4a6d2d06
VS
232832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23284
23285 Compile parts of grub-emu as modules.
23286
23287 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23288 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23289 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23290 (all-local): Add $(GRUB_EMU).
23291 (install-local): Install $(GRUB_EMU).
23292 (uninstall): Uninstall $(GRUB_EMU).
23293 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23294 * kern/dl.c: Likewise.
23295 * commands/sleep.c: Not include machine/time.h.
23296 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
23297 (COMMON_CFLAGS): Likewise.
23298 (sbin_UTILITIES): Remove grub-emu.
23299 (grub_emu_SOURCES): Removed.
23300 (kernel_img_RELOCATABLE): New variable.
23301 (pkglib_PROGRAMS): Add kernel.img.
23302 (kernel_img_SOURCES): New variable
23303 (kernel_img_CFLAGS): Likewise.
23304 (kernel_img_LDFLAGS): Likewise.
23305 (TARGET_NO_STRIP): Likewise.
23306 (TARGET_NO_DYNAMIC_MODULES): Likewise.
23307 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
23308 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
23309 (grub-emu): New target.
23310 (GRUB_EMU): New variable.
23311 * configure.ac: Whitelist -emu as possible x86_64 architecture.
23312 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
23313 * loader/xnu.c: Likewise.
23314 * include/grub/pci.h: Likewise.
23315 * genemuinit.sh: New file.
23316 * genemuinitheader.sh: Likewise.
23317 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
23318 Support TARGET_NO_DYNAMIC_MODULES.
23319 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
23320 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
23321 * disk/loopback.c: Likewise.
23322 * font/font_cmd.c: Likewise.
23323 * partmap/acorn.c: Likewise.
23324 * partmap/amiga.c: Likewise.
23325 * partmap/apple.c: Likewise.
23326 * partmap/gpt.c: Likewise.
23327 * partmap/msdos.c: Likewise.
23328 * partmap/sun.c: Likewise.
23329 * parttool/msdospart.c: Likewise.
23330 * term/gfxterm.c: Likewise.
23331 * video/bitmap.c: Likewise.
23332 * video/readers/jpeg.c: Likewise.
23333 * video/readers/png.c: Likewise.
23334 * video/readers/tga.c: Likewise.
23335 * video/video.c: Likewise.
23336 * util/grub-emu.c (read_command_list): Removed.
23337 (main): Don't call util_init_nls.
23338 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
23339 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
23340
91fdd2ed
VS
233412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23342
23343 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
23344 date.mod, datehook.mod.
23345 (datetime_mod_SOURCES): New variable.
23346 (datetime_mod_CFLAGS): Likewise.
23347 (datetime_mod_LDFLAGS): Likewise.
23348 (date_mod_SOURCES): Likewise.
23349 (date_mod_CFLAGS): Likewise.
23350 (date_mod_LDFLAGS): Likewise.
23351 (datehook_mod_SOURCES): Likewise.
23352 (datehook_mod_CFLAGS): Likewise.
23353 (datehook_mod_LDFLAGS): Likewise.
23354 * conf/sparc64-ieee1275.rmk: Likewise.
23355 * lib/ieee1275/datetime.c: New file.
23356
873ccae6
VS
233572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
23360 (ieee1275_fb_mod_SOURCES): New variable.
23361 (ieee1275_fb_mod_CFLAGS): Likewise.
23362 (ieee1275_fb_mod_LDFLAGS): Likewise.
23363 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
23364 New proto.
23365 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
23366 (HEAP_MAX_ADDR): Likewise.
23367 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
23368 type.
23369 Correct stop condition.
23370 (grub_ieee1275_devices_iterate): New function.
23371 * video/ieee1275.c: New file.
23372
601c97c0
VS
233732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
23376
23377 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
23378 as scratch.
23379 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
23380 SCRATCH_PAD_DISKBOOT as scratch.
23381 (bootit): Pass Openfirmware pointer in %o4.
23382 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
23383 of 0x200000.
23384 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
23385 with util/grub-mkrawimage.c.
23386 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
23387 * include/grub/aout.h (AOUT_MID_SUN): New definition.
23388 (grub_aout_get_type) [GRUB_UTIL]: Removed.
23389 (grub_aout_load) [GRUB_UTIL]: Likewise.
23390 * include/grub/kernel.h (grub_modules_get_end): New proto.
23391 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
23392 (SCRATCH_PAD_BOOT): New definition.
23393 (SCRATCH_PAD_DISKBOOT): Likewise.
23394 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
23395 * include/grub/sparc64/ieee1275/ieee1275.h
23396 (grub_ieee1275_original_stack): New variable
23397 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23398 New definition
23399 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
23400 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
23401 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
23402 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
23403 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
23404 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
23405 (grub_platform_image_format_t): New type.
23406 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
23407 * kern/main.c (grub_modules_get_end)
23408 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
23409 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
23410 (codestart): Switch stacks.
23411 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
23412 variable.
23413 (grub_heap_init): Use grub_modules_get_end.
23414 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
23415 stack.
23416 * util/grub-mkrawimage.c (generate_image): Support sparc64.
23417 (main): Likewise.
23418 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
23419
d68b491e
TG
234202010-03-14 Thorsten Glaser <tg@mirbsd.org>
23421
23422 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23423
4e02ed50
MK
234242010-03-08 Matt Kraai <kraai@ftbfs.org>
23425
23426 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
23427 bug #559005).
23428
1f15fc1e
VS
234292010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23430
23431 * genmoddep.awk: Output all missing symbols and not only first.
23432
fce5d8ff
VS
234332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23434
23435 * NEWS: Put the date of 1.98 release.
23436
d1e8a02f
VS
234372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23440 ft2build.h.
23441
696fd607
VS
234422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23443
23444 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
23445 completition in the middle of string.
23446
33e2e6f3
VS
234472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 * util/grub-mkrescue.in: Use mktemp with explicit template.
23450
b1f6d291
VS
234512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23454
2ac227c7
VS
234552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
23458 right pointer.
23459
8f9a632b
VS
234602010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23461
23462 Fix FreeBSD compilation.
23463
23464 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23465 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23466
60b03859
VS
234672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23470
48a5a769
VS
234712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23474
3ab4bd77
VS
234752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23478
d116e0d8
RM
234792010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23480
23481 Support relative image path in theme file.
23482
23483 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23484 (image_set_property): Handle theme_dir and relative path.
23485
c7ef54aa
VS
234862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 * configure.ac: Alias amd64 to x86_64.
23489
fcee14ed
VS
234902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23491
23492 * NEWS: mention multiboot on EFI.
23493
d0780363
VS
234942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23495
23496 * kern/main.c (grub_load_modules): Handle errors from init functions of
23497 embeded modules.
23498
41168ea4
VS
234992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 * normal/autofs.c (autoload_fs_module): Handle errors.
23502
b54d93ac
VS
235032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23504
23505 Disable linux.mod on qemu-mips since it's not functional and leads
23506 to compilation failure.
23507
23508 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23509 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23510 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23511 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23512 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23513 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23514 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23515 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23516 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23517 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23518 Reported by: BVK Chaitanya
23519
fc8345da
JU
235202010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23521
23522 * INSTALL: Add gettext as a dependency and add qemu to a new section
23523 "Prerequisites for make-check".
23524
4760f979
CF
235252010-03-04 Christian Franke <franke@computer.org>
23526
23527 * util/grub-pe2elf.c: Add missing include "progname.h".
23528
f209b5b2
VS
235292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * normal/crypto.c (read_crypto_list): Fix a typo.
23532 Reported by: Seth Goldberg.
23533
b4b7be98
VS
235342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23535
23536 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 23537 Reported by: Seth Goldberg.
b4b7be98 23538
c0ee0385
VS
235392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23542 ascii.bitmaps.
23543
a8efbf64
VS
235442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23545
23546 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 23547 Reported by: Seth Goldberg.
a8efbf64 23548
08dcd913
VS
235492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 * util/i386/efi/grub-install.in: Copy gettext files.
23552
c4d0b332
VS
235532010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23556
c6f2fe52
VS
235572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Wait for user entry basing on presence of output rather than on errors.
23560
23561 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23562 (grub_install_newline_hook): Likewise.
23563 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23564 * normal/menu.c (show_menu): Check line_counter to determine presence
23565 of output.
23566 * normal/term.c (grub_normal_line_counter): New variable.
23567 (grub_normal_get_line_counter): New function.
23568 (grub_install_newline_hook): Likewise.
23569
5382b1e4
VS
235702010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23571
23572 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23573
5519963b
VS
235742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23575
23576 * configure.ac: Update version to 1.98.
23577
72b28631
VS
235782010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 * util/grub.d/10_linux.in (linux_entry): Don't default to
23581 gfxpayload=keep if Linux doesn't support video handover.
23582
c140a180
VS
235832010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23584
23585 Don't compile video modules on yeeloong since video subsystem is part
23586 of kernel.
23587
23588 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23589 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23590 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23591 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23592 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23593 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23594 * include/grub/bitmap_scale.h: Likewise.
23595 * include/grub/bufio.h: Likewise.
23596 * include/grub/font.h: Likewise.
23597 * include/grub/gfxterm.h: Likewise.
23598 * include/grub/video.h: Likewise.
23599 * include/grub/vbe.h: Don't include video_fb.h.
23600 * video/i386/pc/vbe.c: Include video_fb.h.
23601 * commands/i386/pc/vbetest.c: Include video.h.
23602
a0ca21c2
CW
236032010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23604
23605 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23606 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23607 default entry if GRUB_SAVEDEFAULT=true. This allows using
23608 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23609 saving a new default on every boot.
23610
4a8a763c
VS
236112010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23612
23613 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23614 * normal/term.c (read_terminal_list): Likewise.
23615 * normal/main.c (grub_normal_init_page): Likewise.
23616 (grub_normal_read_line_real): Likewise.
23617
607ffde2
VS
236182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23619
23620 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23621 memory leak.
23622 Reported by: Seth Goldberg.
23623
2b8fa975
CW
236242010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23625
23626 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23627 duplicate declaration of `start'.
23628
618307dd
VS
236292010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23632 filename.
23633 Reported by: Georgy Buranov
23634
7dd05b96 236352010-02-20 Carles Pina i Estany <carles@pina.cat>
23636
23637 * util/grub-mkrawimage.c (usage): Change string formatting to
23638 improve gettext.
23639
d1484a42
MRA
236402010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23641
23642 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23643 backspace keys.
23644
42b1d186
VS
236452010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23648 Reported by: Michael Suchanek.
23649
236502010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
23651
23652 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23653 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23654
d9f31a41
VS
236552010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23656
23657 Remove any reference to non-free fonts.
23658
23659 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23660 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23661 uses non-free components.
23662 * font/font.c (grub_font_get_name): Remove example name.
23663 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23664 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23665 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23666 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23667
2793c71e
GB
236682010-02-16 Georgy Buranov <gburanov@gmail.com>
23669
23670 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23671
402e3779
VS
236722010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23673
23674 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23675 Double divisor.
23676 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23677 features.
23678 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23679
0dd1e0dd
VS
236802010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23681
23682 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23683
6fa7cfce
ST
236842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23685
23686 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23687 * docs/grub.texi (Command-line and menu entry commands): Document play
23688 command.
23689
37c8483b
ST
236902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23691
23692 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23693 parse arguments as inline tempo and notes. Move code for playing notes
23694 to...
23695 (play): ... new function.
23696
14da0fb7
ST
236972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23698
23699 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23700 grub_uint16_t instead of short.
23701 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23702 disk from little endian to cpu endianness.
23703
04459e70
ST
237042010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23705
23706 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23707 GRUB_TICKS_PER_SECOND instead of 120.
23708
a0876943
VS
237092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23710
23711 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23712 escape sequence after \e.
23713
e29f95dc
VS
237142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23717 non-ASCII characters.
23718
d27859b2
VS
237192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23720
23721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23722 set root in single quotes to prevent \, from being unescaped.
23723
bc028f2f
VS
237242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23725
23726 Prevent unknown commands from stopping menuentry execution.
23727
23728 * script/execute.c (grub_script_execute_cmdline): Print error after
23729 unknown command.
23730
095f5f82
VS
237312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23734 Reported by: Pavel Pisa.
23735
8c717950
VS
237362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23737
23738 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23739
904935c3
VS
237402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23741
23742 Merge grub_ieee1275_map_physical into grub_map and rename to
23743 grub_ieee1275_map
23744
23745 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23746 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23747 Remove.
23748 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23749 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23750 necessary.
23751 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23752
5b59a4e3
VS
237532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23756 opening and not after.
23757
69e137e8
VS
237582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23761 constants.
23762
2c0fcc36
VS
237632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23766 (alloc_phys): Use ALIGN_UP instead of align_addr.
23767
8c6052ce
VS
237682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23769
23770 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23771
17cec782
VS
237722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23775
e0128bbd
VS
237762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23779 verbose dprintf.
23780
ca62070b
VS
237812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Fix over-4GiB seek on sparc64.
23784
23785 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23786 Replace pos_i and pos_lo with pos. All users updated.
23787 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23788 New constant.
23789 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23790 Likewise.
23791 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23792 and pos_lo.
23793
bdca2607
VS
237942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 * util/grub-mkrawimage.c (main): Call set_program_name.
23797
da278c4d
VS
237982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 Properly align 64-bit targets.
23801
23802 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23803 (generate_image): Use ALIGN_ADDR.
23804
b274d734
VS
238052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23806
23807 Properly create cross-endian images.
23808
23809 * include/grub/types.h (grub_host_to_target_addr): New macro
23810 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23811
82da2062
VS
238122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23815
7cae4377
VS
238162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23819
23820 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23821 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23822 (grub_linux_boot): Divide by 64K when on VESA.
23823
65a533e7
VS
238242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 Support GRUB_GFXPAYLOAD_LINUX.
23827
23828 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23829 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23830
dd01d397
VS
238312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23834 to show messages instead of discarding them.
23835 Process errors after executing command and not before. Keep old method
23836 too as precaution.
23837
660960d6
VS
238382010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23839
23840 * configure.ac: Check for ft2build.h.
23841
62509f04
VS
238422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23845
473df63d
VS
238462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * genkernsyms.sh.in: Use TARGET_CC.
23849
c98d2a13
CW
238502010-02-07 Colin Watson <cjwatson@ubuntu.com>
23851
23852 * NEWS: Update.
23853
6e14234c
VS
238542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23855
23856 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
23857 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23858 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 23859
b255e9cf
YB
238602010-02-07 Yves Blusseau <blusseau@zetam.org>
23861
6e14234c 23862 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 23863
98e6959d
VS
238642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23865
23866 Fix warnings in grub-emu when compiling with maximum warning options.
23867
23868 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23869 (grub_arch_modules_addr): Return 0 and not NULL.
23870 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 23871 (xstrdup): Use newstr instead of dup.
f88d801b
VS
23872 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23873 of disk to dsk to avoid shadowing.
74e4934e
VS
23874 (find_free_slot): Fix prototype.
23875 * util/getroot.c (grub_util_is_dmraid): Make static.
23876 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23877 Add missing prototype.
23878 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 23879
74e31b5c
VS
238802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23883 appropriately.
23884
6b2ad14b
VS
238852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23886
23887 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23888 code out.
23889
8f891adc
VS
238902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23893 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23894 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23895 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23896 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23897 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23898
74b45184
VS
238992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * include/grub/err.h (grub_err_printf): Don't export.
23902
a4bced77
VS
239032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23904
23905 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23906
007d0695
VS
239072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23910 * kern/misc.c (grub_gettext_dummy): Make static.
23911
b6c0d9c2
VS
239122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23913
23914 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23915 by non-valid ones.
23916 * kern/term.c (grub_putchar): Likewise.
23917
f51a90d0
VS
239182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23921 buggy hook call and memory leak.
23922
6846cec5
VS
239232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23926
468d69fe
VS
239272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23928
23929 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23930
51906b8c
VS
239312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23932
23933 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23934 modevar.
23935 Return grub_errno on allocation error.
23936
09706ce5
VS
239372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23940
911df80c
YB
239412010-02-06 Yves Blusseau <blusseau@zetam.org>
23942
23943 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23944 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23945
3746a6bc
VS
239462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23949 non-pxe disk.
23950 (grub_pxefs_open): Likewise.
23951
09706ce5
VS
239522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23953
23954 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23955 * util/grub.d/10_kfreebsd.in: Likewise.
23956 * util/grub.d/10_linux.in: Likewise.
23957
7cc192d9
VS
239582010-02-06 Colin D Bennett <colin@gibibit.com>
23959
23960 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23961 (gfxmenu_mod_SOURCES): New variable.
23962 (gfxmenu_mod_CFLAGS): Likewise.
23963 (gfxmenu_mod_LDFLAGS): Likewise.
23964 * include/grub/term.h (grub_term_set_current_output): Declare
23965 argument as const.
23966 * docs/gfxmenu-theme-example.txt: New file.
23967 * gfxmenu/gfxmenu.c: Likewise.
23968 * gfxmenu/gui_box.c: Likewise.
23969 * gfxmenu/gui_canvas.c: Likewise.
23970 * gfxmenu/gui_circular_progress.c: Likewise.
23971 * gfxmenu/gui_image.c: Likewise.
23972 * gfxmenu/gui_label.c: Likewise.
23973 * gfxmenu/gui_list.c: Likewise.
23974 * gfxmenu/gui_progress_bar.c: Likewise.
23975 * gfxmenu/gui_string_util.c: Likewise.
23976 * gfxmenu/gui_util.c: Likewise.
23977 * gfxmenu/icon_manager.c: Likewise.
23978 * gfxmenu/model.c: Likewise.
23979 * gfxmenu/named_colors.c: Likewise.
23980 * gfxmenu/theme_loader.c: Likewise.
23981 * gfxmenu/view.c: Likewise.
23982 * gfxmenu/widget-box.c: Likewise.
23983 * include/grub/gfxmenu_model.h: Likewise.
23984 * include/grub/gfxmenu_view.h: Likewise.
23985 * include/grub/gfxwidgets.h: Likewise.
23986 * include/grub/gui.h: Likewise.
23987 * include/grub/gui_string_util.h: Likewise.
23988 * include/grub/icon_manager.h: Likewise.
23989
239902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 Agglomerate scrolling in gfxterm.
23993
23994 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23995 (grub_virtual_screen_setup): Initialise 'total_screen'.
23996 (write_char): Split to ...
23997 (paint_char): ... this ...
23998 (write_char): ... and this.
23999 (paint_char): Handle delayed scrolling.
24000 (draw_cursor): Likewise.
24001 (scroll_up): Split to ...
24002 (real_scroll): ... this ...
24003 (scroll_up): ... and this.
24004 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24005 characters.
24006 (grub_gfxterm_refresh): Call real_scroll.
24007
240082010-02-06 Colin D Bennett <colin@gibibit.com>
24009
24010 * include/grub/misc.h (grub_iscntrl): New inline function.
24011 (grub_isalnum): Likewise.
24012 (grub_strtol): Likewise.
24013
240142010-02-06 Colin D Bennett <colin@gibibit.com>
24015
24016 * normal/menu_text.c (get_entry_number): Move from here ...
24017 * normal/menu.c (get_entry_number): ... moved here.
24018 * include/grub/menu.h (grub_menu_get_default_entry_index):
24019 New prototype.
24020 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24021 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24022 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24023 (grub_menu_viewer_should_return): Likewise.
24024 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24025 * normal/menu_text.c (run_menu): Enable menu switching.
24026 * normal/menu_viewer.c (should_return): New variable.
24027 (menu_viewer_changed): Likewise.
24028 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24029 (grub_menu_viewer_should_return): New function.
24030 (menuviewer_write_hook): Likewise.
24031 (grub_menu_viewer_init): Likewise.
24032
240332010-02-06 Colin D Bennet <colin@gibibit.com>
240342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 Support for gfxterm in a window.
24037
24038 * include/grub/gfxterm.h: New file.
24039 * include/grub/video.h (struct grub_video_rect): New declaration.
24040 (grub_video_rect_t): Likewise.
24041 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24042 (refcount): New variable.
24043 (render_target): Likewise.
24044 (window): Likewise.
24045 (repaint_callback): Likewise.
24046 (grub_virtual_screen_setup): Use 'render_target'.
24047 (init_window): New function.
24048 (grub_gfxterm_init_window): Likewise.
24049 (grub_gfxterm_init): Check reference counter.
24050 Use init_window.
24051 (destroy_window): New function.
24052 (grub_gfxterm_destroy_window): Likewise.
24053 (grub_gfxterm_fini): Check reference counter.
24054 Use destroy_window.
24055 (redraw_screen_rect): Restore viewport.
24056 Use 'render_target' and 'window'.
24057 Call 'repaint_callback'.
24058 (write_char): Use 'render_target'.
24059 (draw_cursor): Likewise.
24060 (scroll_up): Restore viewport.
24061 Use 'render_target' and 'window'.
24062 Call 'repaint_callback'.
24063 (grub_gfxterm_cls): Likewise.
24064 (grub_gfxterm_refresh): Use 'window'.
24065 (grub_gfxterm_set_repaint_callback): New function.
24066 (grub_gfxterm_background_image_cmd): Use 'window'.
24067 (grub_gfxterm_get_term): New function.
24068 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24069
240702010-02-06 Colin D Bennett <colin@gibibit.com>
24071
24072 Bitmap scaling support.
24073
24074 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24075 (bitmap_scale_mod_SOURCES): New variable.
24076 (bitmap_scale_mod_CFLAGS): Likewise.
24077 (bitmap_scale_mod_LDFLAGS): Likewise.
24078 * include/grub/bitmap_scale.h: New file.
24079 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24080 (background_image_cmd_options): New variable.
24081 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24082 (cmd): Rename and change type to ...
24083 (background_image_cmd_handle): ... this. All users updated.
24084 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24085 * video/bitmap_scale.c: New file.
24086
240872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24088
24089 SDL support.
24090
24091 * Makefile.in (LIBSDL): New variable.
24092 (enable_grub_emu_sdl): Likewise.
24093 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24094 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24095 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24096 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24097 * util/sdl.c: New file.
24098
240992010-02-06 Colin D Bennett <colin@gibibit.com>
241002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 Double buffering support.
24103
24104 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24105 * include/grub/video.h: Update comment.
24106 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24107 New type.
24108 (grub_video_fb_doublebuf_blit_init): New prototype.
24109 * term/gfxterm.c (scroll_up): Support double buffering.
24110 (grub_gfxterm_refresh): Likewise.
24111 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24112 (grub_video_fb_doublebuf_blit_init): Likewise.
24113 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24114 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24115 'displayed_page', 'render_page' and 'update_screen'.
24116 (grub_video_vbe_fini): Free offscreen buffer.
24117 (doublebuf_pageflipping_commit): New function.
24118 (doublebuf_pageflipping_update_screen): Likewise.
24119 (doublebuf_pageflipping_init): Likewise.
24120 (double_buffering_init): Likewise.
24121 (grub_video_vbe_setup): Enable doublebuffering.
24122 (grub_video_vbe_swap_buffers): Implement.
24123 (grub_video_vbe_set_active_render_target): Handle double buffering.
24124 (grub_video_vbe_get_active_render_target): Likewise.
24125 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24126 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24127 (grub_video_vbe_enable_double_buffering): Likewise.
24128 (grub_video_vbe_swap_buffers): Use update_screen.
24129 (grub_video_set_mode): Use double buffering.
24130
241312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 * maintainance/gentrigtables.py: Remove.
24134 * lib/trig.c: Likewise.
24135
24136 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24137
24138 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24139 `trigtables.c'.
24140 (trigtables.c): New rule.
24141 (gentrigtables): Likewise.
24142 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24143
241442010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24145
24146 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24147 integer constants.
24148
241492010-02-06 Colin D Bennet <colin@gibibit.com>
24150
24151 Trigonometry support.
24152
24153 * include/grub/trig.h: New file.
24154 * lib/trig.c: Likewise.
24155 * maintainance/gentrigtables.py: Likewise.
24156 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24157 (trig_mod_SOURCES): New variable.
24158 (trig_mod_CFLAGS): Likewise.
24159 (trig_mod_LDFLAGS): Likewise.
24160
5562834e
VS
241612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24162
24163 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24164 disk devices.
24165
4f8528fc
VS
241662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24169 error.
24170
2b4068e9
VS
241712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 * util/hostdisk.c (open_device): Don't use partition device when reading
24174 before the partition.
24175 (grub_util_biosdisk_read): Don't read from partition and before the
24176 partition in single operation.
24177 (grub_util_biosdisk_write): Don't write to partition and before the
24178 partition in single operation.
24179
399f6e4d
TL
241802010-02-03 Torsten Landschoff <torsten@debian.org>
24181
24182 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24183 last sectors.
24184
996649b0
VS
241852010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24188 CDROM reads.
24189 (grub_biosdisk_write): Refuse to write to CDROM.
24190
3b205d4d
VS
241912010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24194
61e89d9d
VS
241952010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * font/font.c (find_glyph): Check that bmp_idx is available before
24198 using it.
24199 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24200 with (font == NULL).
24201
bf7fcba2
CS
242022010-01-28 Christian Schmitt <chris@ilovelinux.de>
24203
24204 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24205
f45d2663
BC
242062010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24207
24208 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24209 * util/grub-script-check.c (getline): Fix empty lines case.
24210
ec1444e6
RM
242112010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24212
24213 * Makefile.in (check): Exit with fail status when one of the tests
24214 fails.
24215 * tests/example_functional_test.c (example_test): Fix reversed assert.
24216 * tests/example_unit_test.c (example_test): Likewise.
24217
2e1cb9bb
CW
242182010-01-28 Colin Watson <cjwatson@ubuntu.com>
24219
24220 * util/grub.d/10_linux.in: This script does not use any of the
24221 contents of gettext.sh, only the external command `gettext', so stop
24222 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24223 the same prefix as GRUB.)
24224 * util/grub.d/10_kfreebsd.in: Likewise.
24225
63533ab0
VS
242262010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24227
24228 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24229 of the line.
24230
989e1f93
VS
242312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24232
24233 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24234 last sectors.
24235
e709ebe2
VS
242362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24237
24238 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24239 having a 4KiB and not 32KiB buffer size.
24240
27dea7ed
RM
242412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24242
24243 * util/hostfs.c: Include `<errno.h>'.
24244 (grub_hostfs_read): Handle errors from fseeko() and fread().
24245
67667b9c
RM
242462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24247
24248 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24249 loop when using read hooks on files whose size isn't sector-aligned.
24250
c294d9d8
RM
242512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24252
24253 Remove unused parameter.
24254
24255 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24256 (grub_iso9660_open): Remove initialization of `data->length'.
24257
af75a9f1
RM
242582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24261 memleak conditions.
24262
254e2ce5 242632010-01-27 Carles Pina i Estany <carles@pina.cat>
24264
24265 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24266 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24267
b510928c 242682010-01-26 Carles Pina i Estany <carles@pina.cat>
24269
24270 * util/bin2h.c (usage): Fix warning (space after backslash).
24271
aa2f9dd2 242722010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 24273
24274 * font/font.c: Include `grub/fontformat.h.
24275 Remove font file format constants.
24276 (grub_font_load): Use the new macros.
24277 * include/grub/fontformat.h: New file.
24278 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24279 (write_font_pf2): Use the new macros.
24280
94e7e712
RM
242812010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24282
24283 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24284 does.
24285
3973a59a
RM
242862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24287
24288 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24289
24290 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24291 (_start): Macroify `0x7F'.
24292
24293 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24294 (make_install_device): Use "(pxe)" as fallback prefix when booting
24295 via PXE.
24296
42e0cba3
GS
242972010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24298
24299 * configure.ac: Reset LIBS after check for libgcc symbols.
24300
847effd8
CW
243012010-01-25 Colin Watson <cjwatson@ubuntu.com>
24302
24303 * util/hostdisk.c (open_device): Add trailing newline to debug
24304 message.
24305
ea4a7e35
GS
243062010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
24307
24308 * configure.ac: Check for `limits.h'.
24309 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
24310
67951a53
RM
243112010-01-24 Robert Millan <rmh.grub@aybabtu.com>
24312
24313 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
24314 capitalize error strings.
24315
c273d4ce
ST
243162010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24317
24318 * util/grub.d/10_hurd.in: Add a recovery mode.
24319
69be5b74
VS
243202010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 * configure.ac: Check for libgcc symbols with -nostdlib.
24323
fc9e5810
BC
243242010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24325
24326 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24327
4b358c0a
VS
243282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24329
24330 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
24331 stack since heap may be unavailable at that point.
24332 (grub_ofconsole_gotoxy): Likewise.
24333
454fcd1c
VS
243342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * configure.ac: Check for _restgpr_14_x.
24337 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
24338 and _savegpr_* prototypes.
24339
566863ca
RM
243402010-01-22 Robert Millan <rmh.grub@aybabtu.com>
24341
24342 Use generic grub_reboot() for i386-efi.
24343
24344 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
24345 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
24346 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
24347
bf86e59a
VS
243482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
24351 presence of "prefix" variable as it breaks when normal.mod is
24352 embedded.
24353
d645e0f8
VS
243542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
24357 stack since heap is unavailable at that point.
24358
f9ab2e25
VS
243592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24360
24361 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
24362 (grub_freebsd_bootinfo): Rewritten.
24363 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
24364
01fc7054
VS
243652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24368
caab4fd6
RM
243692010-01-21 Robert Millan <rmh.grub@aybabtu.com>
24370
24371 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
24372 domain now.
24373
67eb1427
FZ
243742010-01-20 Felix Zielcke <fzielcke@z-51.de>
24375
24376 * util/misc.c (make_system_path_relative_to_its_root): Change the work
24377 around for handling "/" to the correct fix. Fix a memory leak. Use
24378 xstrdup instead of strdup.
24379
a9ed4ff3
VS
243802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
24383
243842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
24385
24386 Optimise glyph lookup by Basic Multilingual Plane lookup array.
24387
24388 * font/font.c (struct grub_font): New member 'bmp_idx'.
24389 (font_init): Initialise 'bmp_idx'.
24390 (load_font_index): Fill 'bmp_idx'.
24391 (find_glyph): Make inline. Use bmp_idx for BMP characters.
24392
48209f4f
VS
243932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
24396 unnecessary calls.
24397
9f0a4bb7
VS
243982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24399
24400 Move context handling out of the kernel.
24401
24402 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
24403 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
24404 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
24405 * conf/i386-efi.rmk: Likewise.
24406 * conf/i386-ieee1275.rmk: Likewise.
24407 * conf/i386-pc.rmk: Likewise.
24408 * conf/powerpc-ieee1275.rmk: Likewise.
24409 * conf/sparc64-ieee1275.rmk: Likewise.
24410 * conf/x86_64-efi.rmk: Likewise.
24411 * include/grub/env.h: Include grub/menu.h.
24412 (grub_env_var_type): Removed.
24413 (grub_env_var): Replaced field 'type' with 'global'.
24414 (grub_env_find): New prototype.
24415 (grub_env_context_open): Remove EXPORT_FUNC.
24416 (grub_env_context_close): Likewise.
24417 (grub_env_export): Likewise.
24418 (grub_env_set_data_slot): Removed.
24419 (grub_env_get_data_slot): Likewise.
24420 (grub_env_unset_data_slot): Likewise.
24421 (grub_env_unset_menu): New prototype.
24422 (grub_env_set_menu): Likewise.
24423 (grub_env_get_menu): Likewise.
24424 * include/grub/env_private.h: New file.
24425 * include/grub/normal.h (grub_context_init): New prototype.
24426 (grub_context_fini): Likewise.
24427 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
24428 * normal/context.c (grub_cmd_export): ... to here.
24429 * kern/env.c: Include env_private.h.
24430 (HASHSZ): Moved to include/grub/env_private.h.
24431 (grub_env_context): Likewise.
24432 (grub_env_sorted_var): Likewise.
24433 (current_context): Renamed from this ...
24434 (grub_current_context): ...to this. 'static' removed. All users updated.
24435 (grub_env_find): Removed 'static'.
24436 (grub_env_context_open): Moved to normal/context.c.
24437 (grub_env_context_close): Likewise.
24438 (grub_env_export): Likewise.
24439 (mangle_data_slot_name): Removed.
24440 (grub_env_set_data_slot): Likewise.
24441 (grub_env_get_data_slot): Likewise.
24442 (grub_env_unset_data_slot): Likewise.
24443 * kern/main.c (grub_set_root_dev): Don't export root.
24444 It will be done later.
24445 (grub_main): Don't export prefix.
24446 It will be done later.
24447 * normal/context.c: New file.
24448 * normal/main.c (free_menu): Use grub_env_unset_menu.
24449 (grub_normal_add_menu_entry): Use grub_env_get_menu.
24450 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
24451 (GRUB_MOD_INIT(normal)): Call grub_context_init.
24452 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
24453
8dd35b8c
VS
244542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24455
24456 setpci support.
24457
24458 * commands/setpci.c: New file.
24459 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24460 (setpci_mod_SOURCES): New variable.
24461 (setpci_mod_CFLAGS): Likewise.
24462 (setpci_mod_LDFLAGS): Likewise.
24463
449193d5
VS
244642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24465
24466 Byte-addressable PCI configuration space.
24467
24468 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24469 dword address.
24470 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24471 GRUB_PCI_REG_CACHELINE.
24472 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24473 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24474 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24475 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24476 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24477 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24478 grub_pci_make_address.
24479 (lock_rom_area): Likewise.
24480 * commands/lspci.c (grub_lspci_iter): Use macroses
24481 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24482 of grub_pci_make_address.
24483 * disk/ata.c (grub_ata_pciinit): Likewise.
24484 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24485 (GRUB_PCI_REG_VENDOR): Likewise.
24486 (GRUB_PCI_REG_DEVICE): Likewise.
24487 (GRUB_PCI_REG_COMMAND): Likewise.
24488 (GRUB_PCI_REG_STATUS): Likewise.
24489 (GRUB_PCI_REG_REVISION): Likewise.
24490 (GRUB_PCI_REG_CLASS): Likewise.
24491 (GRUB_PCI_REG_CACHELINE): Likewise.
24492 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24493 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24494 (GRUB_PCI_REG_BIST): Likewise.
24495 (GRUB_PCI_REG_ADDRESSES): Likewise.
24496 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24497 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24498 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24499 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24500 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24501 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24502 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24503 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24504 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24505 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24506 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24507 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24508 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24509 (GRUB_PCI_REG_MIN_GNT): Likewise.
24510 (GRUB_PCI_REG_MAX_LAT): Likewise.
24511 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24512 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24513 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 24514 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
24515 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24516 space.
24517
96d73208
RM
245182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24519
24520 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24521 can be reliably determined to be supported.
24522
d4484482
RM
245232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24524
24525 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24526 that VESA is supported.
24527 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24528 supported.
24529
00308ecf
VS
245302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24531
24532 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24533
f66924a4
RM
245342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24535
24536 * util/misc.c (make_system_path_relative_to_its_root): Work around
24537 special-casing of "/", as previous incarnation of this routine did.
24538
cbca0ada
VS
245392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Fix any-emu compilation.
24542
24543 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24544 * grub_bin2h_SOURCES: New variable.
24545
34a66d99
RM
245462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24547
24548 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24549
94fabf58
RM
245502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24551
24552 * util/grub.d/00_header.in: Fix handling of locale_dir.
24553
02cf98ca
VS
245542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24555
24556 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24557 as possible unifont location (Gentoo).
24558 Reported by: Alexander Brüning
24559
327dbcd7
VS
245602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24561
24562 Don't try to generate lists for kernel.img.
24563
24564 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24565 (pkglib_MODULES): Remove kernel.img.
24566 (kernel_img_EXPORTS): Removed.
24567 (kernel_img_RELOCATABLE): New variable.
24568 * conf/x86_64-efi.rmk: Likewise.
24569 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24570
ca467290
VS
245712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24572
24573 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24574 grub_xasprintf or grub_snprintf.
24575 (grub_vsprintf): Likewise.
24576 (grub_snprintf): New proto.
24577 (grub_vsnprintf): Likewise.
24578 (grub_xasprintf): Likewise.
24579 (grub_xvasprintf): Likewise.
24580 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24581 (grub_sprintf): Removed.
24582 (grub_vsnprintf): New function.
24583 (grub_snprintf): Likewise.
24584 (grub_xvasprintf): Likewise.
24585 (grub_xasprintf): Likewise.
24586 (grub_vsprintf): Renamed to ...
24587 (grub_vsnprintf_real): ...this. New argument max_len.
24588
aca655fd
BC
245892010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24590
24591 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24592 fix grub-script-check warning.
24593
7ee92c32
VS
245942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 * include/grub/font.h (grub_font_load): Fix prototype.
24597
f80927ca
VS
245982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24601
119c50ea
VS
246022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 * include/grub/x86_64/at_keyboard.h: New file.
24605
47d5f3c1
VS
246062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * loader/mips/linux.c: Include missing grub/i18n.h.
24609
55ff5266
RM
246102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24611
24612 * normal/menu.c (notify_execution_failure): Clarify error message.
24613
c893cc87
RM
246142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24615
24616 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24617 return value (and revert all return statements). Update users.
24618
917dd370
CW
246192010-01-20 Dan Merillat <debian@dan.merillat.org>
24620
24621 * kern/device.c (grub_device_iterate): Allocate new part_ent
24622 structure based on sizeof (*p) rather than sizeof (p->next), to
24623 account for structure padding.
24624
24625 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24626 disk is NULL, which might happen for LVM physical volumes with no
24627 LVM signature.
24628
d4a4ee57
RM
246292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24630
24631 * loader/mips/linux.c (grub_cmd_initrd)
24632 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24633
246342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24635
24636 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24637 (grub_video_video_init, grub_video_bitmap_init)
24638 (grub_font_manager_init, grub_term_gfxterm_init)
24639 (grub_at_keyboard_init): New extern declarations.
24640 (grub_machine_init): Initialize gfxterm and at_keyboard.
24641
24642 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24643
24644 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24645 `gfxterm.mod' into core image.
24646
24647 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24648 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24649 (kernel_img_FORMAT): Copy to ...
24650
24651 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24652 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24653 (kernel_img_FORMAT): ... here, and ...
24654
24655 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24656 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24657 (kernel_img_FORMAT): ... here.
24658
24659 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24660 and input (at_keyboard) terminals in kernel.
24661 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24662
24663 (pkglib_MODULES): Remove `pci.mod'.
24664 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24665 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24666 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24667 (at_keyboard_mod_LDFLAGS): Remove variables.
24668
246692010-01-11 Felix Zielcke <fzielcke@z-51.de>
24670
24671 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24672
246732009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24674
24675 * include/grub/mips/libgcc.h: Only export symbols for functions
24676 that libgcc provides.
24677
246782009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24679
24680 MIPS support.
24681
24682 * bus/bonito.c: New file.
24683 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24684 GRUB_PCI_NUM_DEVICES.
24685 * term/i386/pc/serial.c: Move to ...
24686 * term/serial.c: ... here. All users updated.
24687 * util/i386/pc/grub-mkimage.c: Move to ...
24688 * util/grub-mkrawimage.c: ... here. All users updated.
24689 * term/i386/pc/at_keyboard.c: Move to ...
24690 * term/at_keyboard.c: ... here. All users updated.
24691 * conf/mips-qemu-mips.rmk: New file.
24692 * conf/mips-yeeloong.rmk: Likewise.
24693 * conf/mips.rmk: Likewise.
24694 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24695 mipsel-qemu-mips.
24696 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24697 to port addresses.
24698 (grub_ata_pciinit): Support CS5536.
24699 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24700 * font/font_cmd.c (loadfont_command): Open file before passing it to
24701 grub_font_load.
24702 (pseudo_file_read): New function.
24703 (pseudo_file_close): Likewise.
24704 (pseudo_fs): New structure.
24705 (load_font_module): New function.
24706 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24707 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24708 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24709 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24710 * include/grub/i386/at_keyboard.h: Split into ...
24711 * include/grub/at_keyboard.h: ... this ...
24712 * include/grub/i386/at_keyboard.h: ... and this.
24713 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24714 New prototype.
24715 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24716 updated.
24717 (grub_elf64_size): Likewise.
24718 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24719 filename.
24720 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24721 * include/grub/i386/coreboot/serial.h: Rewritten.
24722 * include/grub/i386/ieee1275/serial.h: Include
24723 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24724 * include/grub/i386/pc/serial.h: Moved from here ...
24725 * include/grub/serial.h: ... to here. All users updated.
24726 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24727 (GRUB_PCI_NUM_BUS): Likewise.
24728 (GRUB_PCI_NUM_DEVICES): Likewise.
24729 (grub_pci_device_map_range): Add missing volatile keyword.
24730 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24731 * include/grub/mips/at_keyboard.h: New file.
24732 * include/grub/mips/cache.h: Likewise.
24733 * include/grub/mips/io.h: Likewise.
24734 * include/grub/mips/kernel.h: Likewise.
24735 * include/grub/mips/libgcc.h: Likewise.
24736 * include/grub/mips/pci.h: Likewise.
24737 * include/grub/mips/qemu-mips/boot.h: Likewise.
24738 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24739 * include/grub/mips/qemu-mips/loader.h: Likewise.
24740 * include/grub/mips/qemu-mips/memory.h: Likewise.
24741 * include/grub/mips/qemu-mips/serial.h: Likewise.
24742 * include/grub/mips/qemu-mips/time.h: Likewise.
24743 * include/grub/mips/relocator.h: Likewise.
24744 * include/grub/mips/time.h: Likewise.
24745 * include/grub/mips/types.h: Likewise.
24746 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24747 * include/grub/mips/yeeloong/boot.h: Likewise.
24748 * include/grub/mips/yeeloong/kernel.h: Likewise.
24749 * include/grub/mips/yeeloong/loader.h: Likewise.
24750 * include/grub/mips/yeeloong/memory.h: Likewise.
24751 * include/grub/mips/yeeloong/pci.h: Likewise.
24752 * include/grub/mips/yeeloong/serial.h: Likewise.
24753 * include/grub/mips/yeeloong/time.h: Likewise.
24754 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24755 * kern/elf.c (grub_elf32_size): New parameter. All users
24756 updated.
24757 (grub_elf64_size): Likewise.
24758 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24759 Load modules before saying "Welcome to GRUB!".
24760 Call grub_refresh after saying "Welcome to GRUB!".
24761 * kern/mips/cache.S: New file.
24762 * kern/mips/cache_flush.S: Likewise.
24763 * kern/mips/dl.c: Likewise.
24764 * kern/mips/init.c: Likewise.
24765 * kern/mips/qemu-mips/init.c: Likewise.
24766 * kern/mips/startup.S: Likewise.
24767 * kern/mips/yeeloong/init.c: Likewise.
24768 * kern/term.c (grub_putcode): Handle NULL terminal.
24769 (grub_getcharwidth): Likewise.
24770 (grub_getkey): Likewise.
24771 (grub_checkkey): Likewise.
24772 (grub_getkeystatus): Likewise.
24773 (grub_getxy): Likewise.
24774 (grub_getwh): Likewise.
24775 (grub_gotoxy): Likewise.
24776 (grub_cls): Likewise.
24777 (grub_setcolorstate): Likewise.
24778 (grub_setcolor): Likewise.
24779 (grub_getcolor): Likewise.
24780 (grub_refresh): Likewise.
24781 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24782 (write_jump): Add hatch nop.
24783 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24784 * lib/mips/setjmp.S: New file.
24785 * loader/mips/linux.c: Likewise.
24786 * term/i386/pc/at_keyboard.c: Move from here ...
24787 * term/at_keyboard.c: ... to here.
24788 * term/i386/pc/serial.c: Moved from here ...
24789 * term/serial.c: ... to here. All users updated.
24790 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24791 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24792 (serial_translate_key_sequence): Avoid deadlock.
24793 (grub_serial_getkey): Handle backspace.
24794 (grub_serial_putchar): Fix newline handling.
24795 * util/i386/pc/grub-mkimage.c: Move from here ...
24796 * util/grub-mkrawimage.c: ... to here. All users updated.
24797 (generate_image): New parameters 'font_path' and 'format'.
24798 Support embedding font.
24799 Use grub_host_to_target* instead of grub_cpu_to_le*.
24800 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24801 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24802 (options): New option "--font".
24803 (usage): Likewise.
24804 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24805 (main): Handle "--font".
24806 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24807 (grub_virtual_screen_setup): Set bg_color_display.
24808 (redraw_screen_rect): Use bg_color_display instead of incorrect
24809 bg_color.
24810 (grub_gfxterm_cls): Likewise.
24811 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24812 Support embedding config file.
24813 (add_segments): Likewise.
24814 (options): New option "--config".
24815 (main): Handle "--config".
24816 * video/sm712.c: New file.
24817
25c2b5b3
RM
248182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24819
24820 Fix parallel builds.
24821
24822 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24823 font.c depend on ascii.h).
24824
248252010-01-12 Carles Pina i Estany <carles@pina.cat>
24826
24827 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24828
248292010-01-11 Carles Pina i Estany <carles@pina.cat>
24830
24831 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24832 By default: disabled.
24833 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24834 parameter.
24835
248362010-01-10 Carles Pina i Estany <carles@pina.cat>
24837
24838 * font/font.c: Update copyright years.
24839 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24840
248412010-01-10 Carles Pina i Estany <carles@pina.cat>
24842
24843 * font/font.c: Include `ascii.h'.
24844 (ASCII_BITMAP_SIZE): New macro.
24845 (ascii_font_glyph): Define.
24846 (ascii_glyph_lookup): New function.
24847 (grub_font_get_string_width): Change comment. If glyph not found, use
24848 ascii_glyph_lookup.
24849 (grub_font_get_glyph_with_fallback): If glyph not available returns
24850 ascii_glyph_lookup.
24851 * util/grub-mkfont.c (file_formats): New enum.
24852 (options): Add `ascii-bitmaps' new option.
24853 (usage): Add `asii-bitmaps' new option.
24854 (write_font_ascii_bitmap): New function.
24855 (write_font): Rename to ...
24856 (write_font_p2): ... this. Remove print_glyphs call.
24857 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24858 used. Call print_glyphs.
24859 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24860
248612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24862
24863 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24864 (grub_bin2h_SOURCES): New variable.
24865 * util/bin2h.c: New file.
24866
915fc1b8
VS
248672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 * include/multiboot.h: Resynced with spec.
24870 * include/multiboot2.h: Likewise.
24871 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24872 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24873
9444b678
RM
248742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24875
24876 * include/grub/term.h (grub_term_register_input,
24877 grub_term_register_output): Check return of terminal init()
24878 routines, and abort if errors are raised.
24879
24880 * commands/terminal.c: Update copyright year.
24881
cba98e8d
RM
248822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24883
24884 * commands/terminal.c (grub_cmd_terminal_input)
24885 (grub_cmd_terminal_output): Check return of terminal init()
24886 routines, and abort if errors are raised.
24887
6f7db5d6
VS
248882010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 * include/grub/i386/bsd.h: Fix include pathes.
24891
262bff8d
VS
248922010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 Add missing *BSD copyright headers.
24895
24896 * include/grub/aout.h: Add BSD licence.
24897 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24898 * include/grub/i386/freebsd_linker.h: ... here,
24899 * include/grub/i386/freebsd_reboot.h: ... here,
24900 * include/grub/i386/netbsd_bootinfo.h: ... here,
24901 * include/grub/i386/netbsd_reboot.h: ... here,
24902 * include/grub/i386/openbsd_bootarg.h: ... here,
24903 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24904 licence to each file.
24905
b2cab848
RM
249062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24907
24908 * acinclude.m4: Remove `nop' assembly instruction; it's not
24909 implemented by all architectures.
24910
2cb6be4b
RM
249112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24912
24913 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24914 ELILO. This is no longer necessary.
24915
a2eaee15
BC
249162010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24917
24918 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24919
24920 * util/grub-script-check.c: grub-script-check tool.
24921 * conf/common.rmk: Make rules for grub-script-check.
24922
88d17012
RM
249232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24924
24925 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24926 spotting it back in 2008. Shame on me for forgetting he did.
24927
24928 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24929
8040619d
RM
249302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24931
24932 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24933 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24934 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24935 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24936 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24937 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24938
a0c2a0f6
RM
249392010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24940
24941 * include/grub/test.h: Add license header.
24942 * tests/example_functional_test.c: Likewise.
24943 * tests/example_unit_test.c: Likewise.
24944 * tests/lib/functional_test.c: Likewise.
24945 * tests/lib/test.c: Likewise.
24946 * tests/lib/unit_test.c: Likewise.
24947
b0b13907
VS
249482010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24949
24950 Use flag-based instead of hook-based video mode selection and "auto"
24951 keyword.
24952
24953 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24954 (grub_video_set_mode): Changed prototype. All users updated.
24955 (grub_video_check_mode_flag): New inline function.
24956 * video/video.c (parse_modespec): New function.
24957 (grub_video_set_mode): Parse flags and keywords.
24958
ea379330 249592010-01-17 Carles Pina i Estany <carles@pina.cat>
24960
24961 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24962 fprintf call.
24963
e15c215e
FZ
249642010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24965
24966 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24967
409ae1c9 249682010-01-16 Carles Pina i Estany <carles@pina.cat>
24969
24970 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24971 string.
24972 * util/grub-emu.c (usage): Likewise.
24973 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24974 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24975 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24976 * util/i386/pc/grub-setup.c (usage): Likewise.
24977
70a14d3d 249782010-01-16 Carles Pina i Estany <carles@pina.cat>
24979
24980 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24981 the message.
24982 (grub_util_info): Likewise.
24983 (grub_util_error): Likewise.
24984 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24985 and/or new lines in `grub_util_warna', `grub_util_info',
24986 `grub_util_error' calls.
24987 * util/getroot.c: Likewise.
24988 * util/grub-editenv.c: Likewise.
24989 * util/grub-emu.c: Likewise.
24990 * util/grub-fstest.c: Likewise.
24991 * util/grub-mkdevicemap.c: Likewise.
24992 * util/grub-mkfont.c: Likewise.
24993 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24994 * util/grub-mkrelpath.c: Likewise.
24995 * util/grub-pe2elf.c: Likewise.
24996 * util/grub-probe.c: Likewise.
24997 * util/hostdisk.c: Likewise.
24998 * util/i386/efi/grub-mkimage.c: Likewise.
24999 * util/i386/pc/grub-mkimage.c: Likewise.
25000 * util/i386/pc/grub-setup.c: Likewise.
25001 * util/ieee1275/ofpath.c: Likewise.
25002 * util/mkisofs/eltorito.c: Likewise.
25003 * util/mkisofs/rock.c: Likewise.
25004 * util/mkisofs/write.c: Likewise.
25005 * util/raid.c: Likewise.
25006 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25007 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25008
a0b766fc
VS
250092010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25010
25011 Enable multiboot on non-pc.
25012
25013 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25014 multiboot.mod and multiboot2.mod to ...
25015 * conf/i386.rmk (pkglib_MODULES): ... here.
25016 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25017 Moved to ...
25018 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25019 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25020 Moved to ...
25021 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25022 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25023 Moved to ...
25024 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25025 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25026 Moved to ...
25027 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25028 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25029 relocator.mod.
25030 (ata_mod_SOURCES): Removed.
25031 (ata_mod_CFLAGS): Likewise.
25032 (ata_mod_LDFLAGS): Likewise.
25033 (relocator_mod_SOURCES): Removed.
25034 (relocator_mod_CFLAGS): Likewise.
25035 (relocator_mod_ASFLAGS): Likewise.
25036 (relocator_mod_LDFLAGS): Likewise.
25037 Include i386.mk.
25038 * include/grub/x86_64/multiboot.h: New file.
25039 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25040 Terminate EFI.
25041
884ade56
VS
250422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25043
25044 Video multiboot support.
25045
25046 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25047 New prototype.
25048 * include/multiboot.h: Resynced with multiboot specification.
25049 * include/multiboot2.h: Likewise.
25050 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25051 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25052 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25053 (HAS_VGA_TEXT): Likewise.
25054 (accepts_video): New variable.
25055 (grub_multiboot_set_accepts_video): New function.
25056 (grub_multiboot_get_mbi_size): Account for video structures.
25057 (set_video_mode): New function.
25058 (retrieve_video_parameters): Likewise.
25059 (grub_multiboot_make_mbi): Fill video fields.
25060
0d90e8a6
VS
250612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25062
25063 Video driver ids.
25064
25065 * include/grub/video.h (grub_video_driver_id): New type.
25066 (grub_video_adapter): New member 'id'. All users updated.
25067 (grub_video_get_driver_id): New proto.
25068 * video/video.c (grub_video_get_driver_id): New function.
25069
5c71db1b 250702010-01-14 Carles Pina i Estany <carles@pina.cat>
25071
25072 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25073 `var=val'.
25074
cca15b52 250752010-01-14 Carles Pina i Estany <carles@pina.cat>
25076
25077 * normal/cmdline.c (print_completion): Gettextizze.
25078
c586fbb2 250792001-01-14 Carles Pina i Estany <carles@pina.cat>
25080
25081 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25082
ba2f6848 250832010-01-14 Carles Pina i Estany <carles@pina.cat>
25084
25085 * gettext/gettext.c (grub_gettext_translate): Push and pop
25086 grub_errno.
25087 (grub_gettext_delete_list): Change comment style.
25088 * kern/err.c (grub_error): Gettextizze.
25089 (grub_fatal): Gettextizze.
25090
0a46429a
RM
250912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25092
25093 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25094 (grub_linux16_real_boot): ... this.
25095 * kern/i386/loader.S: Likewise.
25096 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25097 (grub_linux16_boot): New function. Switches to text mode and calls
25098 grub_linux16_real_boot().
25099
25100 * loader/i386/bsd.c: Include `<grub/video.h>'.
25101 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25102 text mode before calling grub_unix_real_boot().
25103
25104 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25105 (grub_multiboot_boot): Switch to text mode before calling
25106 grub_relocator32_boot().
25107
25108 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25109 (grub_chainloader_boot): Switch to text mode before calling
25110 grub_chainloader_real_boot().
25111
d6f93a66
RM
251122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
251132010-01-05 Colin Watson <cjwatson@ubuntu.com>
25114
25115 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25116 non-empty value.
25117
251182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
251192010-01-05 Colin Watson <cjwatson@ubuntu.com>
25120
25121 * util/grub.d/00_header.in: Define a "savedefault" function for use
25122 in menu entries.
25123 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25124
251252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
251262010-01-05 Colin Watson <cjwatson@ubuntu.com>
25127
25128 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25129 saved_entry if boot_once is unset.
25130 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25131 previous saved entry (i.e. grub-reboot).
25132
251332009-12-08 Colin Watson <cjwatson@ubuntu.com>
25134
25135 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25136
251372009-12-08 Colin Watson <cjwatson@ubuntu.com>
25138
25139 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25140 `var=val'.
25141 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25142
251432009-12-08 Colin Watson <cjwatson@ubuntu.com>
25144
25145 * util/grub-reboot.in: Fix --version output.
25146 * util/grub-set-default.in: Likewise.
25147
251482009-12-08 Colin Watson <cjwatson@ubuntu.com>
25149
25150 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25151 blocks.
25152
251532009-12-08 Colin Watson <cjwatson@ubuntu.com>
25154
25155 * util/grub.d/00_header.in: Quote the value assigned to `default',
25156 in case it contains spaces.
25157
251582009-12-08 Colin Watson <cjwatson@ubuntu.com>
25159
25160 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25161 `save_default_entry' call from the macosx case to the linux case.
25162
251632009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
251642009-10-25 Colin Watson <cjwatson@ubuntu.com>
25165
25166 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25167 in `chosen' environment variable.
25168 * normal/menu_text.c (get_entry_number): Check if the variable
25169 matches the title of a menu entry.
25170 (run_menu): Pass menu to get_entry_number.
25171
25172 * util/grub-reboot.in: New file.
25173 * util/grub-set-default.in: New file.
25174 * conf/common.rmk (grub-reboot): New utility.
25175 (grub-set-default): New utility.
25176
25177 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25178 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25179 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25180 move it to `saved_entry' for the next boot. Load environment on
25181 initialisation.
25182 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25183 * util/grub.d/10_hurd.in: Likewise.
25184 * util/grub.d/10_linux.in (linux_entry): Likewise.
25185 * util/grub.d/10_windows.in: Likewise.
25186 * util/grub.d/30_os-prober.in: Likewise.
25187
25188 * util/grub-install.in: Create environment block.
25189 * util/i386/efi/grub-install.in: Likewise.
25190 * util/ieee1275/grub-install.in: Likewise.
25191 * util/sparc64/ieee1275/grub-install.in: Likewise.
25192
0934d184
BC
251932010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25194
25195 Unit testing framework for GRUB.
25196
25197 * Makefile.in: Test framework build rules for 'make check'.
25198 * conf/tests.rmk: Build rules for individual tests and framework.
25199
25200 * include/grub/test.h: Header file for whitebox tests.
25201 * tests/lib/functional_test.c: Framework support for whitebox
25202 functional tests.
25203 * tests/lib/test.c: Common whitebox testing code for unit and
25204 functional tests.
25205 * tests/lib/unit_test.c: Framework support for whitebox unit
25206 tests.
25207
25208 * tests/util/grub-shell-tester.in: Support utility for grub-script
25209 tests.
25210 * tests/util/grub-shell.in: Utility to execute grub-script
25211 commands in a Qemu instance.
25212
25213 * tests/example_functional_test.c: Example whitebox functional
25214 test.
25215 * tests/example_grub_script_test.in: Example grub-script test.
25216 * tests/example_scripted_test.in: Example scripted test.
25217 * tests/example_unit_test.c: Example whitebox unit test.
25218
9c4ffeeb
VS
252192010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25220
25221 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25222 Add loader/i386/multiboot_mbi.c.
25223 (multiboot2_mod_SOURCES): Likewise.
25224 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25225 (multiboot2_mod_SOURCES): Likewise.
25226 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25227 (grub_multiboot_make_mbi): Likewise.
25228 (grub_multiboot_free_mbi): Likewise.
25229 (grub_multiboot_init_mbi): Likewise.
25230 (grub_multiboot_add_module): Likewise.
25231 (grub_multiboot_set_bootdev): Likewise.
25232 * loader/i386/multiboot.c (mbi): Removed.
25233 (mbi_dest): Likewise.
25234 (alloc_mbi): New variable.
25235 (grub_multiboot_payload_size): Removed. All users updated.
25236 (grub_multiboot_pure_size): New variable.
25237 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25238 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25239 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25240 (grub_fill_multiboot_mmap): Likewise.
25241 (grub_multiboot_get_bootdev): Likewise.
25242 (grub_multiboot): Use multiboot_mbi functions.
25243 * loader/i386/multiboot_mbi.c: New file.
25244
17383dfe
VS
252452010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25246
25247 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25248 it would result in module crash.
25249
c1f28820
VS
252502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25251
25252 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25253 (grub_ofconsole_getwh): Split to ...
25254 (grub_ofconsole_getwh): ... this.
25255 (grub_ofconsole_dimensions): ...and this.
25256 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25257
58655a16
RM
252582010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25259
25260 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25261
10891398
VS
252622010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * loader/i386/pc/multiboot2.c: Removed stalled file.
25265
0b8a223c
VS
252662010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25267
25268 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25269 Reported by: Grégoire Sutre
25270
92ab12b0
RM
252712010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25272
25273 * util/misc.c (canonicalize_file_name): New function.
25274 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25275 instead of realpath().
25276
a788afb6
CW
252772010-01-11 Colin Watson <cjwatson@ubuntu.com>
25278
25279 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25280 and make it clearer that it's optional. Based on confusion
25281 witnessed on IRC.
25282
ffa8e3d2
VS
252832010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25284
25285 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25286 in premature implicit newline.
25287
e9060a9d
VS
252882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25289
25290 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25291 which resulted in garbled command line at the end of screen.
25292
f0d0c0b7
RM
252932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
25296 initialization with similar approach as with other Linux loaders.
25297
0e60bae7
RM
252982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25299
25300 Fix i386-ieee1275 build.
25301
25302 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
25303 and grub_term_height() for video_{width,height} initialization.
25304
253052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
25306
25307 Fix grub-emu build.
25308
25309 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25310
cdb3f378
RM
253112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
253122010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25313
25314 Support for multiple terminals.
25315
25316 * Makefile.in (pkglib_DATA): terminal.lst.
25317 (terminal.lst): New target.
25318 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
25319 (GRUB_MOD_INIT(handler)): Likewise.
25320 (GRUB_MOD_FINI(handler)): Likewise.
25321 * commands/help.c (grub_cmd_help): Handle multiple terminals.
25322 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
25323 * commands/sleep.c (do_print): Use grub_term_restore_pos.
25324 (grub_cmd_sleep): Use grub_term_save_pos.
25325 * commands/terminal.c: New file.
25326 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
25327 commands/terminal.c and lib/charset.c.
25328 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
25329 (pkglib_MODULES): Add terminal.mod.
25330 (terminal_mod_SOURCES): New variable.
25331 (terminal_mod_CFLAGS): Likewise.
25332 (terminal_mod_LDFLAGS): Likewise.
25333 * genhandlerlist.sh: Don't handle terminals.
25334 * genmk.rb: Generate terminal-*.lst.
25335 * genterminallist.sh: New file.
25336 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
25337 (grub_is_valid_utf8): Likewise.
25338 (grub_utf8_to_ucs4_alloc): Likewise.
25339 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
25340 (grub_menu_register_viewer): Changed argument.
25341 (grub_menu_try_text): New proto.
25342 (grub_gfxmenu_try_hook): New declaration.
25343 * include/grub/normal.h (grub_normal_exit_level): New declaration.
25344 (grub_menu_init_page): Additional argument term.
25345 (grub_normal_init_page): Likewise.
25346 (grub_cmdline_get): Arguments simplified.
25347 (grub_utf8_to_ucs4_alloc): Removed.
25348 (grub_print_ucs4): Additional argument term.
25349 (grub_getstringwidth): Likewise.
25350 (grub_print_message_indented): Likewise.
25351 (grub_menu_text_register_instances): New proto.
25352 (grub_show_menu): Likewise.
25353 (read_terminal_list): Likewise.
25354 (grub_set_more): Likewise.
25355 * include/grub/parser.h: Include handler.h.
25356 * include/grub/reader.h: Rewritten.
25357 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
25358 (GRUB_TERM_WIDTH): Changed to function.
25359 (GRUB_TERM_HEIGHT): Likewise.
25360 (GRUB_TERM_BORDER_WIDTH): Likewise.
25361 (GRUB_TERM_BORDER_HEIGHT): Likewise.
25362 (GRUB_TERM_NUM_ENTRIES): Likewise.
25363 (GRUB_TERM_ENTRY_WIDTH): Likewise.
25364 (GRUB_TERM_CURSOR_X): Likewise.
25365 (grub_term_input_class): Likewise.
25366 (grub_term_output_class): Likewise.
25367 (grub_term_outputs_disabled): New declaration.
25368 (grub_term_inputs_disabled): Likewise.
25369 (grub_term_outputs): Likewise.
25370 (grub_term_inputs): Likewise.
25371 (grub_term_register_input): Rewritten.
25372 (grub_term_register_output): Likewise.
25373 (grub_term_unregister_input): Likewise.
25374 (grub_term_unregister_output): Likewise.
25375 (FOR_ACTIVE_TERM_INPUTS): New macro.
25376 (FOR_DISABLED_TERM_INPUTS): Likewise.
25377 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25378 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25379 * include/grub/terminfo.h: Add oterm argument to all protypes.
25380 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
25381 Use grub_rescue_run.
25382 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
25383 All users updated.
25384 * kern/reader.c: Removed. All users updated.
25385 * kern/rescue_reader.c (grub_rescue_init): Removed.
25386 (grub_rescue_reader): Likewise.
25387 (grub_register_rescue_reader): Likewise.
25388 (grub_rescue_run): New function based on kern/reader.c.
25389 * kern/term.c: Adapted for multiterm.
25390 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
25391 (grub_is_valid_utf8): Likewise.
25392 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
25393 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
25394 right terminal.
25395 * loader/i386/linux.c (grub_linux_boot): Likewise.
25396 * normal/auth.c (grub_username_get): New function.
25397 (grub_auth_check_authentication): Use grub_username_get.
25398 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
25399 * normal/color.c: Adapt for multiterm.
25400 * normal/main.c (read_config_file): Don't use grub_reader_loop.
25401 (grub_normal_init_page): Additional argument term.
25402 (read_lists): Call read_terminal_lists.
25403 (grub_enter_normal_mode): Call grub_cmdline_run.
25404 Handle grub_normal_exit_level.
25405 (grub_cmd_normal): Make reentrant.
25406 (grub_cmd_normal_exit): New function.
25407 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
25408 * normal/menu.c: Adapt for multiterm.
25409 * normal/menu_entry.c: Likewise.
25410 * normal/menu_text.c: Likewise.
25411 * normal/menu_viewer.c: Removed. All users updated.
25412 * normal/term.c: New file.
25413 * util/console.c: Change order of includes to workaround a bug in
25414 ncurses headers.
25415 * term/terminfo.c: New argument oterm on all exported functions.
25416 All users updated.
25417 * util/grub-editenv.c (grub_term_input_class): Removed.
25418 (grub_term_output_class): Likewise.
25419
1a064917
RM
254202010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25421
25422 Make loader output a bit more user-friendly.
25423
25424 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
25425 is being loaded. Likewise for the Hurd.
25426
25427 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
25428 that kernel of FreeBSD ${version} is being loaded.
25429
25430 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
25431 grub_dprintf().
25432 (grub_cmd_initrd): Likewise.
25433 * util/grub.d/10_linux.in (linux_entry): Print message indicating
25434 that Linux ${version} is being loaded. Likewise for initrd.
25435
5ce0a83a 254362010-01-09 Carles Pina i Estany <carles@pina.cat>
25437
25438 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25439
809bbfeb 254402010-01-08 Carles Pina i Estany <carles@pina.cat>
25441
25442 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
25443 (GRUB_MOD_INIT): Gettextizze.
25444 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
25445 (GRUB_MOD_INIT): Gettextizze.
25446 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
25447 (grub_cmd_linux): Capitalise Linux.
25448 (GRUB_MOD_INIT): Gettextizze.
25449 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
25450 (grub_cmd_linux): Capitalise Linux.
25451 (GRUB_MOD_INIT): Gettextizze.
25452 * loader/i386/linux.c: Include `<grub/i18n.h>'.
25453 (grub_cmd_linux): Capitalise Linux.
25454 (GRUB_MOD_INIT): Gettextizze.
25455 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
25456 (GRUB_MOD_INIT): Gettextizze.
25457 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
25458 (grub_cmd_linux): Capitalise Linux.
25459 (GRUB_MOD_INIT): Gettextizze.
25460 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25461 (grub_cpu_xnu_init): Gettextizze.
25462 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25463 (GRUB_MOD_INIT): Gettextizze.
25464 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25465 (GRUB_MOD_INIT): Gettextizze.
25466 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25467 (grub_linux_load64): Capitalise Linux.
25468 (GRUB_MOD_INIT): Gettextizze.
25469 * loader/xnu.c: Include `<grub/i18n.h>'.
25470 (GRUB_MOD_INIT): Gettextizze.
25471 * po/POTFILES: Add `loader/efi/appleloader.c',
25472 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25473 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25474 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25475 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25476 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25477 and `loader/xnu.c'.
25478
b394b2ca
RM
254792010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25480
25481 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25482
254832010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
25484
25485 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25486 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25487 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25488
bc8b32b3
RM
254892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25490
25491 Reset Multiboot 2 support. New loader implements the draft in
25492 /branches/multiboot2 and shares as much code as possible with the
25493 production Multiboot 1 implementation.
25494
25495 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25496 * loader/multiboot2.c: Likewise.
25497 * loader/i386/multiboot_helper.S: Likewise.
25498 * include/multiboot2.h: Replace with latest version from the draft
25499 in /branches/multiboot2.
25500
25501 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25502 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25503 and `loader/multiboot2.c'.
25504 (pkglib_MODULES): Add `multiboot2.mod'.
25505 (multiboot2_mod_SOURCES): New variable.
25506 (multiboot2_mod_LDFLAGS): Likewise.
25507 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25508
25509 * conf/i386-pc.rmk: Likewise.
25510
25511 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25512 (multiboot_mod_SOURCES): Remove variable.
25513 (multiboot_mod_LDFLAGS): Likewise.
25514 (multiboot_mod_CFLAGS): Likewise.
25515
25516 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25517 `<multiboot2.h>' instead of `<multiboot.h>'.
25518 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25519 (MULTIBOOT_HEADER_MAGIC): New macros.
25520
25521 * loader/multiboot_loader.c (module_version_status): Remove variable.
25522 (find_multi_boot2_header): Remove function.
25523 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25524 logic. Always check for the Multiboot version we're compiling for.
25525 (grub_cmd_module_loader): Likewise.
25526 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25527 command instead of `multiboot'.
25528
5d2c52b8
RM
255292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25530
25531 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25532 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25533 all users.
25534
53108d92
RM
255352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
255362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 Fix breakage introduced with previous commit.
25539
25540 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25541 commands.
25542 * normal/handler.c (read_handler_list): Revert part of previous commit
25543 affecting this file.
25544 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25545 (grub_normal_execute): ... here.
25546
e2e936b2
RM
255472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25548
25549 Merge prefix-redefinition-fix branch.
25550
25551 * normal/autofs.c (read_fs_list): Make function capable of being
25552 run multiple times, gracefuly replacing the previous data
25553 structures.
25554 * normal/dyncmd.c (read_command_list): Likewise.
25555 * normal/handler.c (read_handler_list): Likewise.
25556 * normal/main.c (read_lists): New function. Calls all the
25557 list reading functions.
25558 (grub_normal_execute): Use read_lists() instead of calling all
25559 list reading functions explicitly. Register read_lists() as a
25560 variable hook attached to ${prefix}.
25561
607a3701
VS
255622010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25563
25564 Merge crypto branch.
25565
25566 * Makefile.in (pkglib_DATA): Add crypto.lst.
25567 (crypto.lst): New target.
25568 * commands/hashsum.c: New file.
25569 * commands/password.c (check_password): Use grub_crypto_memcmp.
25570 * commands/password_pbkdf2.c: New file.
25571 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25572 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25573 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25574 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25575 -I$(srcdir)/lib/libgcrypt_wrap.
25576 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25577 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25578 password_pbkdf2.mod.
25579 (crypto_mod_SOURCES): New variable.
25580 (crypto_mod_CFLAGS): Likewise.
25581 (crypto_mod_LDFLAGS): Likewise.
25582 (hashsum_mod_SOURCES): New variable.
25583 (hashsum_mod_CFLAGS): Likewise.
25584 (hashsum_mod_LDFLAGS): Likewise.
25585 (pbkdf2_mod_SOURCES): New variable.
25586 (pbkdf2_mod_CFLAGS): Likewise.
25587 (pbkdf2_mod_LDFLAGS): Likewise.
25588 (password_pbkdf2_mod_SOURCES): New variable.
25589 (password_pbkdf2_mod_CFLAGS): Likewise.
25590 (password_pbkdf2_mod_LDFLAGS): Likewise.
25591 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25592 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25593 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25594 Include conf/gcry.rmk.
25595 * include/grub/auth.h: Rewritten.
25596 * include/grub/crypto.h: New file.
25597 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25598 * include/grub/normal.h (read_crypto_list): New prototype.
25599 * lib/crypto.c: New file.
25600 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25601 * lib/pbkdf2.c: Likewise.
25602 * normal/auth.c (grub_auth_strcmp): Removed.
25603 (grub_iswordseparator): Likewise.
25604 (grub_auth_strword): Likewise.
25605 (is_authenticated): Use grub_strword.
25606 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25607 and grub_strword. Pass entered password to authentication callback.
25608 * normal/crypto.c: New file.
25609 * normal/main.c: Call read_crypto_list.
25610 * util/grub-mkpasswd-pbkdf2.c: New file.
25611 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25612
42841caa
VS
256132010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 Fix descent and ascent calculation.
25616
25617 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25618 (options): New option "asce".
25619 (usage): Likewise.
25620 (add_char): Ignore invalid glyphs for descent calculation.
25621 Calculate ascent from actual content.
25622 (print_glyphs): Use 'asce'.
25623 (write_font): Likewise. Allow ascent override.
25624 (main): Handle "asce" option.
25625
e7730de7 256262010-01-06 Carles Pina i Estany <carles@pina.cat>
25627
25628 * kern/err.c: Include `<grub/i18n.h>'.
25629 (grub_print_error): Add full stop. Gettextizze.
25630 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25631 (grub_bsd_load_elf): Capitalise ELF.
25632 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25633 (grub_cmd_freebsd_module): Likewise.
25634 (grub_cmd_freebsd_module_elf): Likewise.
25635 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25636
40e3a41f 256372010-01-06 Carles Pina i Estany <carles@pina.cat>
25638
25639 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25640 * commands/search_file.c (HELP_MESSAGE): New macro.
25641 * commands/search_label.c (HELP_MESSAGE): Likewise.
25642 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25643 * po/POTFILES: Add `commands/search_file.c',
25644 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25645 `commands/search.c'.
25646
83507e68
RM
256472010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25648
25649 * config.rpath: Update from Gnulib.
25650
465c787b
YB
256512010-01-05 Yves Blusseau <blusseau@zetam.org>
25652
25653 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25654
6581dd3a
YB
256552010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25656
25657 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25658
3bff18c5
CW
256592010-01-05 Colin Watson <cjwatson@ubuntu.com>
25660
25661 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25662 arguments to fread so that we get a return value in bytes, rather
25663 than something that will normally be rounded down to 0.
25664 Adjust error handling to avoid producing garbage when size_t is not
25665 the same size as long long.
25666
a1368118
CW
256672010-01-05 Colin Watson <cjwatson@ubuntu.com>
25668
25669 * util/mkisofs/write.c (padblock_write): Check return value of
25670 fread.
25671
7c302978
RM
256722010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25673
25674 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25675 floppy images now.
25676
25677 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25678
e33ace06
RM
256792010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25680
25681 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25682 instead of manual alignment.
25683 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25684 verbose). Avoid attempts to read past end of the device
25685 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25686 but GRUB_DISK_CACHE_SIZE may exceed that).
25687
4b856776
RM
256882010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25689
25690 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25691 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25692 it to upper layer.
25693
52c2d97f
VS
256942010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25695
25696 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25697 New constant.
25698 (grub_efi_piwg_device_path): New structure
25699 (grub_efi_piwg_device_path_t): New type.
25700 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25701 (devpath_1): Transform to a structure. All users updated.
25702 (devpath_2): Likewise.
25703 (devpath_3): Likewise.
25704 (devpath_4): Likewise.
25705 (devpath_5): Likewise.
25706
98ff6a54
VS
257072010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 * loader/efi/appleloader.c: Restored. Update all users.
25710
3a73dcb6
RM
257112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25712
25713 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25714
25715 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25716 (struct boot_blocklist): Move from here ...
25717 * include/grub/i386/pc/boot.h [ASM_FILE]
25718 (struct grub_boot_blocklist): ... to here. Update all users.
25719 (setup): Only initialize `start' member of `first_block'
25720 structure. Add assert() calls to verify the other members.
25721
25722 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25723 (generate_image): Fix broken blocklist length initialization.
25724 Add assert() call to verify blocklist `segment' field.
25725
ab0eeb0c
RM
257262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25727
25728 * loader/efi/appleloader.c: Remove. Update all users.
25729
58bc8bd5
RM
257302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * boot/i386/pc/boot.S: Update copyright year.
25733 * boot/i386/pc/cdboot.S: Likewise.
25734 * boot/i386/pc/diskboot.S: Likewise.
25735 * boot/i386/pc/lnxboot.S: Likewise.
25736 * boot/i386/pc/pxeboot.S: Likewise.
25737 * bus/pci.c: Likewise.
25738 * commands/cmp.c: Likewise.
25739 * commands/help.c: Likewise.
25740 * commands/hexdump.c: Likewise.
25741 * commands/i386/pc/halt.c: Likewise.
25742 * commands/i386/pc/play.c: Likewise.
25743 * commands/i386/pc/vbeinfo.c: Likewise.
25744 * commands/ls.c: Likewise.
25745 * commands/test.c: Likewise.
25746 * disk/dmraid_nvidia.c: Likewise.
25747 * disk/i386/pc/biosdisk.c: Likewise.
25748 * disk/ieee1275/nand.c: Likewise.
25749 * disk/ieee1275/ofdisk.c: Likewise.
25750 * disk/lvm.c: Likewise.
25751 * disk/raid.c: Likewise.
25752 * disk/raid6_recover.c: Likewise.
25753 * disk/scsi.c: Likewise.
25754 * fs/affs.c: Likewise.
25755 * fs/cpio.c: Likewise.
25756 * fs/ext2.c: Likewise.
25757 * fs/hfs.c: Likewise.
25758 * fs/iso9660.c: Likewise.
25759 * fs/ntfs.c: Likewise.
25760 * fs/sfs.c: Likewise.
25761 * fs/udf.c: Likewise.
25762 * fs/ufs.c: Likewise.
25763 * fs/xfs.c: Likewise.
25764 * gencmdlist.sh: Likewise.
25765 * genmk.rb: Likewise.
25766 * include/grub/disk.h: Likewise.
25767 * include/grub/efi/api.h: Likewise.
25768 * include/grub/efi/efi.h: Likewise.
25769 * include/grub/efi/pe32.h: Likewise.
25770 * include/grub/elf.h: Likewise.
25771 * include/grub/fs.h: Likewise.
25772 * include/grub/i386/at_keyboard.h: Likewise.
25773 * include/grub/i386/pc/memory.h: Likewise.
25774 * include/grub/i386/pc/vbe.h: Likewise.
25775 * include/grub/i386/pci.h: Likewise.
25776 * include/grub/i386/tsc.h: Likewise.
25777 * include/grub/ieee1275/ieee1275.h: Likewise.
25778 * include/grub/ntfs.h: Likewise.
25779 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25780 * include/grub/sparc64/libgcc.h: Likewise.
25781 * include/grub/symbol.h: Likewise.
25782 * include/grub/types.h: Likewise.
25783 * include/multiboot2.h: Likewise.
25784 * io/gzio.c: Likewise.
25785 * kern/device.c: Likewise.
25786 * kern/disk.c: Likewise.
25787 * kern/efi/efi.c: Likewise.
25788 * kern/efi/mm.c: Likewise.
25789 * kern/elf.c: Likewise.
25790 * kern/file.c: Likewise.
25791 * kern/i386/dl.c: Likewise.
25792 * kern/i386/pc/init.c: Likewise.
25793 * kern/i386/pc/startup.S: Likewise.
25794 * kern/ieee1275/ieee1275.c: Likewise.
25795 * kern/ieee1275/init.c: Likewise.
25796 * kern/main.c: Likewise.
25797 * kern/mm.c: Likewise.
25798 * kern/powerpc/dl.c: Likewise.
25799 * kern/sparc64/dl.c: Likewise.
25800 * kern/x86_64/dl.c: Likewise.
25801 * lib/hexdump.c: Likewise.
25802 * loader/efi/appleloader.c: Likewise.
25803 * loader/i386/ieee1275/linux.c: Likewise.
25804 * loader/i386/pc/chainloader.c: Likewise.
25805 * loader/i386/pc/linux.c: Likewise.
25806 * loader/i386/pc/multiboot2.c: Likewise.
25807 * loader/ieee1275/multiboot2.c: Likewise.
25808 * loader/multiboot2.c: Likewise.
25809 * loader/multiboot_loader.c: Likewise.
25810 * loader/powerpc/ieee1275/linux.c: Likewise.
25811 * normal/completion.c: Likewise.
25812 * normal/menu_entry.c: Likewise.
25813 * partmap/apple.c: Likewise.
25814 * util/grub.d/10_hurd.in: Likewise.
25815 * util/hostfs.c: Likewise.
25816 * video/readers/png.c: Likewise.
25817
e2d70b5c
CW
258182010-01-03 Colin Watson <cjwatson@ubuntu.com>
25819
25820 * include/grub/misc.h (GNUC_PREREQ): New macro.
25821 (ATTRIBUTE_ERROR): New macro.
25822 * include/grub/list.h (grub_bad_type_cast_real): Use
25823 ATTRIBUTE_ERROR.
25824
a173283f 258252010-01-03 Carles Pina i Estany <carles@pina.cat>
25826
25827 * normal/menu_text.c (print_message): Change messages.
25828
7fa7ff74 258292010-01-03 Carles Pina i Estany <carles@pina.cat>
25830
25831 * normal/menu_entry.c (store_completion): Gettextizze.
25832
136d24f6 258332010-01-03 Carles Pina i Estany <carles@pina.cat>
25834
25835 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25836
f936862e 258372010-01-03 Carles Pina i Estany <carles@pina.cat>
25838
25839 * po/POTFILES: Sort correctly.
25840
29c44ad1 258412010-01-03 Carles Pina i Estany <carles@pina.cat>
25842
25843 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25844 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25845 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25846 full stop.
25847 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25848 summary. Gettextizze the strings.
25849 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25850 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25851 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25852 full stop.
25853 (GRUB_MOD_INIT): Remove command name from summary.
25854 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25855 summary.
25856 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25857 * term/i386/pc/serial.c (options): Add full stops.
25858 (GRUB_MOD_INIT): Remove command name from the summary.
25859
77a79592 258602010-01-03 Carles Pina i Estany <carles@pina.cat>
25861
25862 * commands/acpi.c: Gettextizze help strings and/or options. Include
25863 `grub/i18n.h' if needed.
25864 * commands/blocklist.c: Likewise.
25865 * commands/boot.c: Likewise.
25866 * commands/cat.c: Likewise.
25867 * commands/cmp.c: Likewise.
25868 * commands/configfile.c: Likewise.
25869 * commands/crc.c: Likewise.
25870 * commands/date.c: Likewise.
25871 * commands/echo.c: Likewise.
25872 * commands/efi/fixvideo.c: Likewise.
25873 * commands/efi/loadbios.c: Likewise.
25874 * commands/gptsync.c: Likewise.
25875 * commands/halt.c: Likewise.
25876 * commands/handler.c: Likewise.
25877 * commands/hdparm.c: Likewise.
25878 * commands/hexdump.c: Likewise.
25879 * commands/i386/cpuid.c: Likewise.
25880 * commands/i386/pc/drivemap.c: Likewise.
25881 * commands/i386/pc/halt.c: Likewise.
25882 * commands/i386/pc/pxecmd.c: Likewise.
25883 * commands/i386/pc/vbeinfo.c: Likewise.
25884 * commands/i386/pc/vbetest.c: Likewise.
25885 * commands/ieee1275/suspend.c: Likewise.
25886 * commands/keystatus.c: Likewise.
25887 * commands/loadenv.c: Likewise.
25888 * commands/ls.c: Likewise.
25889 * commands/lsmmap.c: Likewise.
25890 * commands/lspci.c: Likewise.
25891 * commands/memrw.c: Likewise.
25892 * commands/minicmd.c: Likewise.
25893 * commands/parttool.c: Likewise.
25894 * commands/password.c: Likewise.
25895 * commands/probe.c: Likewise.
25896 * commands/read.c: Likewise.
25897 * commands/reboot.c: Likewise.
25898 * commands/search.c: Likewise.
25899 * commands/sleep.c: Likewise.
25900 * commands/test.c: Likewise.
25901 * commands/true.c: Likewise.
25902 * commands/usbtest.c: Likewise.
25903 * commands/videotest.c: Likewise.
25904 * commands/xnu_uuid.c: Likewise.
25905 * disk/loopback.c: Likewise.
25906 * hello/hello.c: Likewise.
25907 * loader/i386/bsd.c: Likewise.
25908 * term/i386/pc/serial.c: Likewise.
25909 * po/POTFILES: Add new files.
25910
da8d5c53
CW
259112010-01-02 Colin Watson <cjwatson@ubuntu.com>
25912
25913 * term/i386/pc/at_keyboard.c
25914 (keyboard_controller_wait_untill_ready): Rename to ...
25915 (keyboard_controller_wait_until_ready): ... this. Update all users.
25916
33937904 259172010-01-01 Carles Pina i Estany <carles@pina.cat>
25918
25919 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25920 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25921 string using string width.
25922 * normal/menu_text.c (grub_print_message_indented): Use
25923 grub_print_spaces and not print_spaces.
25924 (print_timeout): Likewise.
25925 (print_spaces): Move to...
25926 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25927
3fd3b8d8
RM
259282010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25929
25930 Import from Gnulib.
25931
25932 * gnulib/getdelim.c: New file.
25933 * gnulib/getline.c: Likewise.
25934
33433555
VS
259352009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25936
25937 * include/grub/list.h (grub_assert_fail): Removed.
25938 (grub_bad_type_cast_real): New function.
25939 (grub_bad_type_cast): New macro.
25940 (GRUB_AS_LIST): Use grub_bad_type_cast.
25941 (GRUB_AS_LIST_P): Likewise.
e44721e8 25942 (GRUB_AS_NAMED_LIST): Likewise.
33433555 25943 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 25944 (GRUB_AS_PRIO_LIST): Likewise.
33433555 25945 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 25946 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 25947
f5a51306
VS
259482009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25949
25950 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25951 Fix syntax error.
25952
90d1e879
RM
259532009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25954
25955 * configure.ac: Check for TARGET_CFLAGS initialization before we
25956 initialize it ourselves (sigh).
25957 Move a few modifications to TARGET_CFLAGS to be unconditional
25958 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25959 eh_frame)
25960
25961 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25962 * term/i386/pc/at_keyboard.c
25963 (keyboard_controller_wait_untill_ready): Likewise.
25964 (keyboard_controller_led): Rename `led_status' paramter to avoid
25965 name conflict.
25966
465b5a81 259672009-12-28 Carles Pina i Estany <carles@pina.cat>
25968
25969 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25970 quotes.
25971
c181849b
VS
259722009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25973
25974 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25975
9c8739a4
VS
259762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * normal/menu_text.c (grub_print_message_indented): Prevent
25979 past-the-end-of-array dereference.
25980
3e74249c
VS
259812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25984 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25985
64fd18ed 259862009-12-27 Carles Pina i Estany <carles@pina.cat>
25987
25988 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25989 * normal/main.c (grub_normal_read_line): Remove a space from the
25990 default prompt.
25991
714af9b9 259922009-12-27 Carles Pina i Estany <carles@pina.cat>
25993
25994 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25995 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25996 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25997 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25998 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25999 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26000 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26001
82f3e412 260022009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 26003
26004 * video/readers/jpeg.c (cmd): Declare.
26005 (grub_cmd_jpegtest): Use `grub_command_t' type.
26006 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26007 Assign to `cmd'.
26008 (GRUB_MOD_FINI): Use `cmd' to unregister.
26009 * video/readers/png.c (cmd): Declare.
26010 (grub_cmd_pngtest): Use `grub_command_t' type.
26011 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26012 Assign to `cmd'.
26013 (GRUB_MOD_FINI): Use `cmd' to unregister.
26014 * video/readers/tga.c (cmd): Declare.
26015 (grub_cmd_tgatest): Use `grub_command_t' type.
26016 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26017 Assign to `cmd'.
26018 (GRUB_MOD_FINI): Use `cmd' to unregister.
26019
82f3e412 260202009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 26021
26022 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26023 stops.
26024 * kern/corecmd.c (grub_register_core_commands): Likewise.
26025 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26026 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26027 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26028 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26029 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26030 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26031 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26032 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26033 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26034 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26035 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26036 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26037 * normal/handler.c (insert_handler): Likewise.
26038 * normal/main.c (GRUB_MOD_INIT): Likewise.
26039 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26040
fdcdbb66 260412009-12-26 Carles Pina i Estany <carles@pina.cat>
26042
26043 * commands/help.c (grub_cmd_help): Print the command name before the
26044 summary.
26045 (GRUB_MOD_INIT): Remove command name from the summary.
26046 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26047 string as summary.
fdcdbb66 26048 * lib/arg.c (find_long): Print the command name before the summary.
26049 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26050 summary.
26051 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26052 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26053 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26054 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26055 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26056 * commands/date.c (GRUB_MOD_INIT): Likewise.
26057 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26058 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26059 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26060 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26061 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26062 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26063 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26064 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26065 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26066 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26067 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26068 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26069 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26070 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26071 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26072 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26073 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26074 * commands/password.c (GRUB_MOD_INIT): Likewise.
26075 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26076 * commands/read.c (GRUB_MOD_INIT): Likewise.
26077 * commands/search.c (GRUB_MOD_INIT): Likewise.
26078 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26079 * commands/test.c (GRUB_MOD_INIT): Likewise.
26080 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26081 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26082 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26083 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26084 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26085 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26086 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26087 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26088 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26089 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26090 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26091 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26092 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26093 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26094
9c288be2
VS
260952009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26096
26097 Use search command for preliminar UUID search.
26098
26099 * commands/search.c: Split into ...
26100 * commands/search_wrap.c: ...this
26101 * commands/search.c: ...and this.
26102 * commands/search_file.c: New file.
26103 * commands/search_label.c: New file.
26104 * commands/search_uuid.c: New file.
26105 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26106 Add commands/search_wrap.c, commands/search_file.c,
26107 commands/search_label.c and commands/search_uuid.c.
26108 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26109 (search_mod_SOURCES): Set to commands/search_wrap.c.
26110 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26111 search_label.mod.
26112 (search_fs_file_mod_SOURCES): New variable.
26113 (search_fs_file_mod_CFLAGS): Likewise.
26114 (search_fs_file_mod_LDFLAGS): Likewise.
26115 (search_label_mod_SOURCES): Likewise.
26116 (search_label_mod_CFLAGS): Likewise.
26117 (search_label_mod_LDFLAGS): Likewise.
26118 (search_fs_uuid_mod_SOURCES): New variable.
26119 (search_fs_uuid_mod_CFLAGS): Likewise.
26120 (search_fs_uuid_mod_LDFLAGS): Likewise.
26121 (fs_file_mod_SOURCES): Removed.
26122 (fs_file_mod_CFLAGS): Likewise.
26123 (fs_file_mod_LDFLAGS): Likewise.
26124 (fs_uuid_mod_SOURCES): Removed.
26125 (fs_uuid_mod_CFLAGS): Likewise.
26126 (fs_uuid_mod_LDFLAGS): Likewise.
26127 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26128 Set to util/grub-install.in.
26129 * disk/fs_file.c: Removed.
26130 * disk/fs_uuid.c: Likewise.
26131 * include/grub/search.h: New file.
26132 * util/grub-install.in: Handle sparc64.
26133 Create and use load.cfg.
26134 * util/sparc64/ieee1275/grub-install.in: Removed.
26135
db943399
VS
261362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26139 Ignore return status if CF is cleared.
26140 (grub_biosdisk_get_diskinfo_standard): Likewise.
26141
3fdae612
RM
261422009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 * term/i386/pc/at_keyboard.c
26145 (keyboard_controller_wait_untill_ready): New function.
26146 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26147 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26148 for keyboard polling, rather than duplicate the same loop. This
26149 saves a few bytes in code size.
26150
7ebaa2b4
VS
261512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26152
26153 Support for (pxe[:server[:gateway]]) syntax and
26154 use environment variable for PXE.
26155
26156 * commands/i386/pc/pxecmd.c (options): Removed.
26157 (print_ip): Removed.
26158 (grub_cmd_pxe): Removed
26159 (grub_cmd_pxe_unload): New function.
26160 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26161 (grub_pxe_your_ip): Made static.
26162 (grub_pxe_default_server_ip): Likewise.
26163 (grub_pxe_default_gateway_ip): Likewise.
26164 (grub_pxe_blksize): Likewise.
26165 (parse_ip): New function.
26166 (grub_pxe_open): Support server and gateway specification.
26167 (grub_pxe_close): Free disk->data.
26168 (grub_pxefs_open): Use disk->data.
26169 (grub_pxefs_read): Likewise.
26170 (grub_env_write_readonly): New function.
26171 (set_mac_env): Likewise.
26172 (set_env_limn_ro): Likewise.
26173 (parse_dhcp_vendor): Likewise.
26174 (grub_pxe_detect): Set the environment variables.
26175 (set_ip_env): New function.
26176 (write_ip_env): Likewise.
26177 (grub_env_write_pxe_default_server): Likewise.
26178 (grub_env_write_pxe_default_gateway): Likewise.
26179 (grub_env_write_pxe_blocksize): Likewise.
26180 (GRUB_MOD_INIT(pxe)): Set environment variables.
26181 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26182 (grub_pxe_mac_addr_t): ... this. All users updated.
26183 (grub_pxe_your_ip): Removed.
26184 (grub_pxe_server_ip): Likewise.
26185 (grub_pxe_gateway_ip): Likewise.
26186 (grub_pxe_blksize): Likewise.
26187
ec5f98ab 261882009-12-25 Carles Pina i Estany <carles@pina.cat>
26189
26190 * commands/help.c: Include `<grub/i18n.h>'.
26191 (grub_cmd_help): Gettextizze.
26192 (GRUB_MOD_INIT): Likewise.
26193 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26194 (GRUB_MOD_INIT): Gettextizze.
26195 * commands/search.c: Include `<grub/i18n.h>'.
26196 (options): Gettextizze.
26197 (GRUB_MOD_INIT): Gettextizze.
26198 * lib/arg.c: Include `<grub/i18n.h>'.
26199 (help_options): Gettextizze.
26200 (find_long): Likewise.
26201 (grub_arg_show_help): Likewise.
26202 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26203 (read_command_list): Gettextizze.
26204 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 26205 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26206
22815526
RM
262072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26208
26209 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26210 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26211 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26212 (led_status): New variable.
26213 (keyboard_controller_led): New function.
26214 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26215 update led status for caps lock, num lock and scroll lock.
26216
0ad46fd7
FZ
262172009-12-25 Felix Zielcke <fzielcke@z-51.de>
26218
26219 * util/hostdisk.c (open_device): Fix a comment.
26220
d0e158c2
RM
262212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26222
26223 * util/grub-install.in (host_os): New variable.
26224 * util/i386/efi/grub-install.in (host_os): Likewise.
26225
401c0ad6
RM
262262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26227
26228 * util/mkisofs/write.c (padblock_write): Abort when given an
26229 excedingly large embed image, instead of silently truncating it.
26230
d14d3370
RM
262312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26232
26233 * include/multiboot.h: Indentation fixes.
26234
eeed10b4
RM
262352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 * include/multiboot.h (struct multiboot_aout_symbol_table)
26238 (struct multiboot_elf_section_header_table): New structure
26239 declarations (stolen from GRUB Legacy).
26240 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26241 table information.
26242
26243 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26244 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26245 type aliases.
26246
681c70ab
RM
262472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26248
26249 * include/multiboot.h: Make comments src2texi-friendly.
26250
e4d47d8d
RM
262512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 For consistency with [multiboot]/docs/boot.S.
26254
26255 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26256 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26257 (MULTIBOOT_MAGIC2): Rename from this ...
26258 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26259
a0b70bda
RM
262602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26261
26262 * include/multiboot.h: Remove `<grub/types.h>'.
26263 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26264 types. Update all users.
26265
61ba42be 262662009-12-25 Carles Pina i Estany <carles@pina.cat>
26267
26268 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26269 `couldn't' and `can not' by `cannot'.
26270 * commands/i386/pc/drivemap.c: Likewise.
26271 * disk/ata.c: Likewise.
26272 * disk/ieee1275/nand.c: Likewise.
26273 * fs/affs.c: Likewise.
26274 * fs/fat.c: Likewise.
26275 * fs/hfs.c: Likewise.
26276 * fs/hfsplus.c: Likewise.
26277 * fs/iso9660.c: Likewise.
26278 * fs/jfs.c: Likewise.
26279 * fs/minix.c: Likewise.
26280 * fs/reiserfs.c: Likewise.
26281 * fs/sfs.c: Likewise.
26282 * fs/udf.c: Likewise.
26283 * fs/ufs.c: Likewise.
26284 * fs/xfs.c: Likewise.
26285 * loader/powerpc/ieee1275/linux.c: Likewise.
26286 * loader/sparc64/ieee1275/linux.c: Likewise.
26287 * util/grub-probe.c: Likewise.
26288 * util/misc.c: Likewise.
26289
7fd0baee 262902009-12-24 Carles Pina i Estany <carles@pina.cat>
26291
26292 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26293 grub_errno calls.
26294 * commands/acpi.c: Likewise.
26295 * commands/blocklist.c: Likewise.
26296 * commands/efi/loadbios.c: Likewise.
26297 * commands/i386/pc/drivemap.c: Likewise.
26298 * commands/loadenv.c: Likewise.
26299 * commands/memrw.c: Likewise.
26300 * commands/password.c: Likewise.
26301 * commands/videotest.c: Likewise.
26302 * disk/ata.c: Likewise.
26303 * disk/ata_pthru.c: Likewise.
26304 * disk/dmraid_nvidia.c: Likewise.
26305 * disk/ieee1275/nand.c: Likewise.
26306 * disk/ieee1275/ofdisk.c: Likewise.
26307 * disk/loopback.c: Likewise.
26308 * disk/lvm.c: Likewise.
26309 * disk/mdraid_linux.c: Likewise.
26310 * disk/raid.c: Likewise.
26311 * disk/raid6_recover.c: Likewise.
26312 * disk/scsi.c: Likewise.
26313 * efiemu/main.c: Likewise.
26314 * efiemu/mm.c: Likewise.
26315 * efiemu/pnvram.c: Likewise.
26316 * efiemu/symbols.c: Likewise.
26317 * font/font.c: Likewise.
26318 * fs/cpio.c: Likewise.
26319 * fs/hfsplus.c: Likewise.
26320 * fs/iso9660.c: Likewise.
26321 * fs/jfs.c: Likewise.
26322 * fs/minix.c: Likewise.
26323 * fs/ntfs.c: Likewise.
26324 * fs/ntfscomp.c: Likewise.
26325 * fs/reiserfs.c: Likewise.
26326 * fs/ufs.c: Likewise.
26327 * fs/xfs.c: Likewise.
26328 * gettext/gettext.c: Likewise.
26329 * include/grub/auth.h: Likewise.
26330 * kern/elf.c: Likewise.
26331 * kern/file.c: Likewise.
26332 * kern/ieee1275/init.c: Likewise.
26333 * kern/ieee1275/mmap.c: Likewise.
26334 * kern/ieee1275/openfw.c: Likewise.
26335 * kern/powerpc/dl.c: Likewise.
26336 * kern/sparc64/dl.c: Likewise.
26337 * lib/arg.c: Likewise.
26338 * loader/i386/bsd.c: Likewise.
26339 * loader/i386/bsdXX.c: Likewise.
26340 * loader/i386/efi/linux.c: Likewise.
26341 * loader/i386/efi/xnu.c: Likewise.
26342 * loader/i386/ieee1275/linux.c: Likewise.
26343 * loader/i386/linux.c: Likewise.
26344 * loader/i386/multiboot.c: Likewise.
26345 * loader/i386/pc/linux.c: Likewise.
26346 * loader/i386/pc/multiboot2.c: Likewise.
26347 * loader/i386/xnu.c: Likewise.
26348 * loader/ieee1275/multiboot2.c: Likewise.
26349 * loader/macho.c: Likewise.
26350 * loader/machoXX.c: Likewise.
26351 * loader/multiboot2.c: Likewise.
26352 * loader/multiboot_loader.c: Likewise.
26353 * loader/powerpc/ieee1275/linux.c: Likewise.
26354 * loader/sparc64/ieee1275/linux.c: Likewise.
26355 * loader/xnu.c: Likewise.
26356 * loader/xnu_resume.c: Likewise.
26357 * mmap/i386/pc/mmap.c: Likewise.
26358 * normal/menu_viewer.c: Likewise.
26359 * partmap/acorn.c: Likewise.
26360 * partmap/amiga.c: Likewise.
26361 * partmap/apple.c: Likewise.
26362 * script/lexer.c: Likewise.
26363 * term/gfxterm.c: Likewise.
26364 * term/i386/pc/serial.c: Likewise.
26365 * term/i386/pc/vga.c: Likewise.
26366 * term/ieee1275/ofconsole.c: Likewise.
26367 * term/terminfo.c: Likewise.
26368 * video/bitmap.c: Likewise.
26369 * video/efi_gop.c: Likewise.
26370 * video/efi_uga.c: Likewise.
26371 * video/fb/video_fb.c: Likewise.
26372 * video/i386/pc/vbe.c: Likewise.
26373 * video/readers/tga.c: Likewise.
26374 * video/video.c: Likewise.
26375
0ad46fd7 263762009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
26377
26378 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
26379 * commands/lspci.c: Likewise.
26380 * commands/probe.c: Likewise.
26381 * commands/xnu_uuid.c: Likewise.
26382 * conf/i386-coreboot.rmk: Likewise.
26383 * conf/i386-efi.rmk: Likewise.
26384 * conf/i386-ieee1275.rmk: Likewise.
26385 * conf/i386-pc.rmk: Likewise.
26386 * conf/powerpc-ieee1275.rmk: Likewise.
26387 * conf/sparc64-ieee1275.rmk: Likewise.
26388 * conf/x86_64-efi.rmk: Likewise.
26389 * fs/i386/pc/pxe.c: Likewise.
26390 * gettext/gettext.c: Likewise.
26391 * include/grub/efi/graphics_output.h: Likewise.
26392 * include/grub/i386/pc/memory.h: Likewise.
26393 * kern/env.c: Likewise.
26394 * kern/i386/qemu/startup.S: Likewise.
26395 * lib/i386/pc/biosnum.c: Likewise.
26396 * lib/i386/relocator.c: Likewise.
26397 * lib/i386/relocator_asm.S: Likewise.
26398 * lib/relocator.c: Likewise.
26399 * loader/i386/bsd.c: Likewise.
26400 * loader/i386/multiboot.c: Likewise.
26401 * loader/i386/pc/chainloader.c: Likewise.
26402 * loader/i386/xnu.c: Likewise.
26403 * loader/xnu.c: Likewise.
26404 * normal/main.c: Likewise.
26405 * normal/menu_text.c: Likewise.
26406 * util/getroot.c: Likewise.
26407 * util/grub-mkconfig_lib.in: Likewise.
26408 * util/grub.d/00_header.in: Likewise.
26409 * util/i386/pc/grub-mkimage.c: Likewise.
26410 * util/mkisofs/eltorito.c: Likewise.
26411 * util/mkisofs/exclude.h: Likewise.
26412 * util/mkisofs/hash.c: Likewise.
26413 * util/mkisofs/iso9660.h: Likewise.
26414 * util/mkisofs/joliet.c: Likewise.
26415 * util/mkisofs/mkisofs.c: Likewise.
26416 * util/mkisofs/mkisofs.h: Likewise.
26417 * util/mkisofs/multi.c: Likewise.
26418 * util/mkisofs/name.c: Likewise.
26419 * util/mkisofs/rock.c: Likewise.
26420 * util/mkisofs/tree.c: Likewise.
26421 * util/mkisofs/write.c: Likewise.
26422 * video/efi_gop.c: Likewise.
26423
009ec743
VS
264242009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
26425
26426 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
26427 size counting.
26428
0ad46fd7 264292009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
26430
26431 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
26432 * genmk.rb (class SCRIPT): Modify the target file instead of source.
26433
d3d30ea0
VS
264342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
26437 (GRUB_MOD_INIT(memrw)): Update help line.
26438
a34f5c70
VS
264392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26440
26441 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
26442 Use grub_extcmd_t. All users updated.
26443 (options): New variable.
26444 (grub_cmd_read): Restructure for readability. Support "-v" option.
26445 (grub_cmd_write): Restructure for readability.
26446
0ad46fd7 264472009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
26448
26449 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26450
0ad46fd7 264512009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
26452
26453 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
26454 with the actual contents of the correspondending make variable.
26455 * util/grub-mkrescue.in (pkglib_DATA): New variable.
26456 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
26457 specifying `*.lst' and `efiemu??.o'
26458
0ad46fd7 264592009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
26460
26461 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26462 after function name.
26463 Noticed by Rene Engelhard <rene@debian.org>.
26464
dc77a799
VS
264652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26466
26467 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26468 (options): New variable.
26469 (iospace): Likewise.
26470 (grub_lspci_iter): List IO spaces if "-i" was given.
26471 (grub_cmd_lspci): Parse options.
26472 (GRUB_MOD_INIT(lspci)): Use extcmd.
26473 (GRUB_MOD_FINI(lspci)): Likewise.
26474
0ad46fd7 264752009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
26476
26477 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26478 `function' keyword.
26479 Patch by Tony Mancill <tmancill@debian.org>.
26480
b5d5993b
VS
264812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26482
26483 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26484 (grub_uhci_portstatus): Likewise.
26485 (grub_uhci_portstatus): Add necessary delay.
11d18281 26486 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 26487
941903f2 264882009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 26489
941903f2 26490 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26491 (GRUB_MOD_INIT): Likewise.
26492 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 26493 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26494 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 26495 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26496 (enable_rom_area): Likewise.
26497 (GRUB_MOD_INIT): Likewise.
26498 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26499 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26500 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26501 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26502 * commands/hexdump.c (options): Likewise.
26503 * commands/i386/cpuid.c (options): Likewise.
26504 (GRUB_MOD_INIT): Likewise.
26505 * commands/i386/pc/drivemap.c (options): Likewise.
26506 (GRUB_MOD_INIT): Likewise.
26507 * commands/i386/pc/halt (options): Likewise.
26508 (GRUB_MOD_INIT): Likewise.
26509 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26510 * commands/i386/pc/pxecmd.c (options): Likewise.
26511 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26512 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26513 * commands/keystatus.c (options): Likewise.
26514 (GRUB_MOD_INIT): Likewise.
26515 * commands/loadenv.c (options): Likewise.
26516 * commands/ls.c (options): Likewise.
26517 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26518 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26519 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26520 * commands/parttool.c (helpmsg): Likewise.
26521 * commands/probe.c (options): Likewise.
26522 * commands/read.c (GRUB_MOD_INIT): Likewise.
26523 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26524 * commands/search.c (options): Likewise.
26525 * commands/sleep.c (options): Likewise.
26526 * commands/test.c (GRUB_MOD_INIT): Likewise.
26527 * commands/true.c (GRUB_MOD_INIT): Likewise.
26528 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26529 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26530 * lib/arg.c (help_options): Likewise.
e9bbb4e7 26531 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26532 `$(XGETTEXT)'.
98a50553 26533 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 26534
0ad46fd7 265352009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 26536
ef3c2c3a 26537 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
26538 instead of specifying them explicit.
26539
7922f68b
RM
265402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26541
26542 * NEWS: Add grub-probe support for GNU/Hurd.
26543
537ce47f
RM
265442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26545
26546 * NEWS: gettext was added after 1.97.
26547
9b214e3a
RM
265482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26549
26550 * util/mkisofs/msdos_partition.h: New file (based on
26551 include/grub/msdos_partition.h).
26552 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26553 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26554 (ld_options, main): Recognize --protective-msdos-label.
26555 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26556 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26557 (padblock_write): If `use_protective_msdos_label' is set, patch a
26558 protective DOS-style label in the output image.
26559
26560 * util/grub-mkrescue.in: Use --protective-msdos-label.
26561
e9309813
RM
265622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26563
26564 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26565 boot.
26566
0ae56929
RM
265672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26570 variables.
26571 (ld_options, main): Recognize `--embedded-boot'.
26572 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26573 declarations.
26574 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26575 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26576 (padblock_write): Likewise. Rewrite to support embedded boot image.
26577
26578 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26579 for BIOS-based disk boot instead of only ElTorito.
26580
b15937b1
RM
265812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26582
26583 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26584 build (not needed for bootstrap).
26585
52cc3ce0
RM
265862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26587
26588 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26589 from i386-pc build (not needed for bootstrap).
26590 Rewrite a pair of strings.
26591
36f5ff04
RM
265922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26593
26594 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26595
973c6c85 265962009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
26597
26598 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26599
05d21547
AB
266002009-12-21 Andreas Born <futur.andy@googlemail.com>
26601
26602 * kern/env.c (grub_env_context_open): Mark exported variable for
26603 reexport.
26604
0175d51f
AB
266052009-12-21 Andreas Born <futur.andy@googlemail.com>
26606
26607 * kern/env.c (grub_env_export): Create nonexistent variables before
26608 exporting.
26609
7f39d92f 266102009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 26611
7f39d92f 26612 * include/grub/auth.h: Include `<grub/i18n.h>'.
26613 (GRUB_GET_PASSWORD): Gettextizze string.
26614 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26615 menu_text.c.
26616 (grub_utf8_to_ucs4_alloc): Fix indentation.
26617 (grub_print_ucs4): Likewise.
26618 (grub_getstringwidth): Likewise.
26619 (print_message_indented): New declaration.
26620 * normal/auth.c: Include `<grub/i18n.h>'.
26621 (grub_auth_check_authentication): Gettexttize string.
26622 * normal/cmdline.c: Include `<grub/i18n.h>'.
26623 (grub_cmdline_get): Gettextizze.
26624 * normal/color.c: Include `<grub/i18n.h>'.
26625 (grub_parse_color_name_pair): Gettexttize strings.
26626 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26627 string (use `print_message_indented').
26628 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26629 `include/grub/normal.h'.
26630 (print_message_indented): Renamed to ...
26631 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26632 used in normal/main.c).
26633 (print_message): Use `grub_print_message_indented' instead of
26634 `print_message_indented'.
26635 (print_timeout): Likewise.
26636 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26637 (grub_normal_print_device_info): Gettexttize strings.
26638 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26639
3041d898
VS
266402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26643 of arguments. Return number of tokens and not arguments. All users
26644 updated.
26645
de15bf8e
VS
266462009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26649 non-MSDOS paritions.
26650
e0a6ca52
VS
266512009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26652
26653 * include/grub/types.h (UNUSED): Removed since it conflicts with
26654 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26655 Reported by Grégoire Sutre.
26656
b99518d1 266572009-12-19 Carles Pina i Estany <carles@pina.cat>
26658
26659 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26660 (grub_print_ucs4_alloc): Likewise.
26661 (grub_getstringwidth): Likewise.
26662 * normal/main.c (grub_normal_init_page): Gettextize version string.
26663 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26664 (getstringwidth): Renamed to ...
26665 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26666 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26667 (grub_print_ucs4): Remove `static' qualifer (now used in
26668 normal/main.c).
26669 * po/POTFILES: Add normal/main.c.
26670
bfd5e52b 266712009-12-19 Carles Pina i Estany <carles@pina.cat>
26672
26673 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26674 (print_message_indented): Add `margin_left' and `margin_right'
26675 parameters.
26676 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26677 strings.
26678 (print_timeout): Use `print_message_indented' to print the message.
26679 Deletes `second_stage' parameter.
26680 (run_menu): Update `print_timeout' calls.
26681
5a1ad2b9
VS
266822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26683
26684 Fix console palette on OpenFirmware.
26685
26686 * term/ieee1275/ofconsole.c (MAX): Removed.
26687 (colors): Redone based on VGA palette.
26688 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26689 colors are supported.
26690 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26691
b045f00a
VS
266922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 Fix potential EfiEmu double prepare.
26695
26696 * efiemu/main.c (prepared): New variable
26697 (grub_efiemu_unload): Set prepare to '0'.
26698 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26699
26700 set_virtual_address_map support.
26701
26702 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26703 prototype.
26704 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26705 prototype.
26706 (grub_efiemu_crc32): Likewise.
26707 (grub_efiemu_crc64): Likewise.
26708 (grub_efiemu_set_virtual_address_map): Likewise.
26709 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26710 New definition.
26711 (grub_autoefi_set_virtual_address_map): Likewise.
26712 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26713 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26714 Restructure flow to accomodate it.
26715 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26716 (grub_efiemu_crc): Recompute CRC32.
26717 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26718 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26719 * efiemu/symbols.c (relocated_handle): New variable.
26720 (grub_efiemu_free_syms): Free relocated_handle.
26721 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26722 (grub_efiemu_write_sym_markers): New function.
26723 (grub_efiemu_set_virtual_address_map): Likewise.
26724
26725 Newer XNU parameters.
26726
26727 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26728 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26729 (grub_xnu_fill_devicetree): New prototype.
26730 (grub_xnu_heap_real_start): New variable.
26731 * loader/xnu.c (get_name_ptr): New function.
26732 (grub_xnu_load_driver): Fill namelen and name.
26733
26734 64-bit xnu support.
26735
26736 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26737 and 'loader/macho64.c'.
26738 * conf/i386-pc.rmk: Likewise.
26739 * conf/x86_64-efi.rmk: Likewise.
26740 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26741 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26742 * include/grub/macho.h (grub_macho_segment64): New structure.
26743 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26744 (grub_macho_size32): ... to this.
26745 (grub_macho32_get_entry_point): Renamed from ...
26746 (grub_macho_get_entry_point32): ... to this.
26747 (grub_macho_contains_macho64): New prototype.
26748 (grub_macho_size64): Likewise.
26749 (grub_macho_get_entry_point64): Likewise.
26750 (grub_macho32_load): Renamed from ...
26751 (grub_macho_load32): ... to this.
26752 (grub_macho32_filesize): Renamed from ...
26753 (grub_macho_filesize32): ... to this.
26754 (grub_macho32_readfile): Renamed from ...
26755 (grub_macho_readfile32): ... to this.
26756 (grub_macho_filesize64): New prototype.
26757 (grub_macho_readfile64): Likewise.
26758 (grub_macho_parse32): Likewise.
26759 (grub_macho_parse64): Likewise.
26760 * loader/macho.c: Split into ...
26761 * loader/machoXX.c: ... and this. Replace 32 with XX.
26762 * loader/macho32.c: New file.
26763 * loader/macho64.c: Likewise.
26764 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26765 (grub_cmd_xnu_kernel): Make 32-bit only.
26766 (grub_cmd_xnu_kernel64): New function.
26767 (grub_xnu_load_driver): Support Mach-O 64.
26768 (grub_cmd_xnu_mkext): Likewise.
26769 * util/grub.d/30_os-prober.in (osx_entry): New function.
26770 Generate entries for 64-bit boot too.
26771
26772 Eliminate ad-hoc tree format in XNU and EfiEmu.
26773
26774 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26775 * efiemu/pnvram.c: Rewritten to use environment variables.
26776 All users updated.
26777
26778 Inline utf16_to_utf8.
26779
26780 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26781 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26782 All users updated.
26783 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26784
26785 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26786 * commands/usbtest.c (grub_usb_get_string): ... move here.
26787 (usb_print_str): Fix error handling.
26788 * include/grub/usb.h (grub_usb_get_string): Remove.
26789
26790 UTF-8 to UTF-16 transformation.
26791
26792 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26793 (charset_mod_SOURCES): New variable.
26794 (charset_mod_CFLAGS): Likewise.
26795 (charset_mod_LDFLAGS): Likewise.
26796 * include/grub/utf.h: New file.
26797 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26798
26799 Support for device properties.
26800
26801 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26802 (grub_xnu_devprop_device_header): Likewise.
26803 (grub_xnu_devprop_device_descriptor): Likewise.
26804 (grub_xnu_devprop_add_device): New prototype.
26805 (grub_xnu_devprop_remove_device): Likewise.
26806 (grub_xnu_devprop_remove_property): Likewise.
26807 (grub_xnu_devprop_add_property_utf8): Likewise.
26808 (grub_xnu_devprop_add_property_utf16): Likewise.
26809 (grub_cpu_xnu_init): Likewise.
26810 (grub_cpu_xnu_fini): Likewise.
26811 (grub_cpu_xnu_unload): Likewise.
26812 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26813 (property_descriptor): Likewise.
26814 (devices): New variable.
26815 (grub_xnu_devprop_remove_property): New function.
26816 (grub_xnu_devprop_add_device): Likewise.
26817 (grub_xnu_devprop_remove_device): Likewise.
26818 (grub_xnu_devprop_add_property): Likewise.
26819 (grub_xnu_devprop_add_property_utf8): Likewise.
26820 (grub_xnu_devprop_add_property_utf16): Likewise.
26821 (hextoval): Likewise.
26822 (grub_cpu_xnu_fill_devprop): Likewise.
26823 (grub_cmd_devprop_load): Likewise.
26824 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26825 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26826 (cmd_devprop_load): New variable.
26827 (grub_cpu_xnu_init): New function.
26828 (grub_cpu_xnu_fini): Likewise.
26829 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26830 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26831 (grub_cmd_xnu_devtree): Likewise.
26832 (hextoval): New function.
26833 (unescape): Likewise.
26834 (grub_xnu_fill_devicetree): Likewise.
26835
26836 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26837 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26838
0945f181
VS
268392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26840
26841 Workaround for broken ATI VBE.
26842
26843 * video/i386/pc/vbe.c (last_set_mode): New variable.
26844 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26845 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26846 (grub_video_vbe_setup): Don't check for reserved flag.
26847
0ad46fd7 268482009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
26849
26850 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26851 the `find' command.
26852
c179ebe4
VS
268532009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 UUID support for HFS.
26856
26857 * fs/hfs.c (grub_hfs_uuid): New function.
26858 (grub_hfs_fs): New value .uuid.
26859 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26860
0ad46fd7 268612009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
26862
26863 Fix a segfault with parsing unknown long options.
26864
26865 * util/grub-mkrelpath.c (options): Zero terminate it.
26866
c4a3e41a
CPE
268672009-12-13 Carles Pina i Estany <carles@pina.cat>
26868
26869 * include/grub/misc.h (grub_puts): New declaration.
26870 (grub_puts_): Likewise.
a22008a6 26871 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
26872 (grub_puts_): Likewise.
26873
2e8a7602
RM
268742009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26875
26876 * util/grub-probe.c (probe): Improve error message.
26877
b50b77b9
RM
268782009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 * loader/i386/multiboot_elfxx.c
26881 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26882 initialization.
26883
268842009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26885
26886 Relocator framework
26887
26888 * loader/i386/xnu_helper.S: Removed. All users updated.
26889 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26890 (relocator_mod_SOURCES): New variable.
26891 (relocator_mod_CFLAGS): Likewise.
26892 (relocator_mod_LDFLAGS): Likewise.
26893 (relocator_mod_ASFLAGS): Likewise.
26894 * conf/x86_64.rmk: Likewise.
26895 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26896 (grub_multiboot_payload_entry_offset): Likewise.
26897 (grub_multiboot_forward_relocator): Likewise.
26898 (grub_multiboot_forward_relocator_end): Likewise.
26899 (grub_multiboot_backward_relocator): Likewise.
26900 (grub_multiboot_backward_relocator_end): Likewise.
26901 (grub_multiboot_payload_eip): New variable.
26902 (grub_multiboot_payload_orig): Likewise.
26903 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26904 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26905 * include/grub/i386/memory.h
26906 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26907 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26908 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26909 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26910 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26911 * include/grub/i386/relocator.h: New file.
26912 * include/grub/x86_64/relocator.h: Likewise.
26913 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26914 (XNU_RELOCATOR): New macro.
26915 (grub_xnu_launcher_start): Remove.
26916 (grub_xnu_launcher_end): Likewise.
26917 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26918 (grub_xnu_heap_real_start): Remove.
26919 (grub_xnu_heap_start): Change to void *. All users updated.
26920 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26921 * lib/i386/relocator.c: New file.
26922 * lib/i386/relocator_asm.S: Likewise.
26923 * lib/i386/relocator_backward.S: Likewise.
26924 * lib/mips/relocator.c: Likewise.
26925 * lib/mips/relocator_asm.S: Likewise.
26926 * lib/relocator.c: Likewise.
26927 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26928 (entry): Removed.
26929 (playground): Likewise.
26930 (grub_multiboot_payload_orig): New variable.
26931 (grub_multiboot_payload_dest): Likewise.
26932 (grub_multiboot_payload_size): Likewise.
26933 (grub_multiboot_payload_eip): Likewise.
26934 (grub_multiboot_payload_esp): Likewise.
26935 (grub_multiboot_boot): Use grub_relocator32_boot.
26936 (grub_multiboot_unload): Free relocators.
26937 (grub_multiboot): Setup stack. Use relocators.
26938 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26939 (grub_multiboot_load_elfXX): Use relocators.
26940 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26941 (grub_multiboot_payload_size): Likewise.
26942 (grub_multiboot_payload_dest): Likewise.
26943 (grub_multiboot_payload_entry_offset): Likewise.
26944 (grub_multiboot_forward_relocator): Likewise.
26945 (grub_multiboot_backward_relocator): Likewise.
26946 (grub_multiboot_real_boot): Likewise.
26947 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26948 (grub_xnu_entry_point): Likewise.
26949 (grub_xnu_arg1): Likewise.
26950 (grub_xnu_stack): Likewise.
26951 (grub_xnu_launch): Removed.
26952 (grub_xnu_boot_resume): New function.
26953 (grub_xnu_boot): Use relocators.
26954 * loader/i386/xnu_helper.S: Removed.
26955 * loader/xnu.c (grub_xnu_heap_start): New variable.
26956 (grub_xnu_heap_size): Likewise.
26957 (grub_xnu_heap_malloc): Use relocators.
26958 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26959
29eb90c6
VS
269602009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26961
26962 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26963 anything.
26964
31027430
CPE
269652009-12-13 Carles Pina i Estany <carles@pina.cat>
26966
26967 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26968 GRUB_ERR_NONE before calling grub_env_set.
26969
dc0c71d9
RM
269702009-12-12 Robert Millan <rmh@aybabtu.com>
26971
26972 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26973 * genmk.rb (video): New variable.
26974 (CLEANFILES, VIDEOFILES): Add #{video}.
26975 (#{video}): New target rule.
26976 * genvideolist.sh: New file.
26977 * Makefile.in (pkglib_DATA): Add video.lst.
26978 (video.lst): New target rule.
26979 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26980 `video.lst'.
26981 * util/grub.d/30_os-prober.in: Replace `vbe' with
26982 ${GRUB_VIDEO_BACKEND}.
26983
2a4bfcf0
RM
269842009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26985
26986 * THANKS: Add David Miller.
26987
2a3aa4d5
RM
269882009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26989
26990 libpciaccess support.
26991
26992 * Makefile.in (LIBPCIACCESS): New variable.
26993 (enable_grub_emu_pci): Likewise.
26994 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26995 util/pci.c and commands/lspci.c.
26996 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26997 * configure.ac (grub-emu-pci): New option.
26998 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26999 (grub_pci_device_unmap_range): Likewise.
27000 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27001 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27002 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27003 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27004 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27005 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27006 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27007 * include/grub/pciutils.h: New file.
27008 * util/pci.c: Likewise.
27009
0ad46fd7 270102009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27011
27012 * util/misc.c: Don't include <errno.h> twice.
27013
0ad46fd7 270142009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
27015
27016 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27017 name in an error message.
27018 (grub_biosdisk_rw): Likewise.
27019
2e59983c
VS
270202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27021
27022 Eliminate NTFS 4Gib barrier.
27023
27024 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27025 (read_run_data): Likewise.
27026 (grub_ntfs_read_run_list): Likewise.
27027 (grub_ntfs_read_block): Likewise.
27028 (grub_ntfs_iterate_dir): Likewise.
27029 (read_mft): Likewise.
27030 (read_data): Likewise.
27031 Use COM_LOG_LEN.
27032 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27033 to avoid 64-bit division
27034 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27035 (grub_ntfs_rlst): Use grub_disk_addr_t.
27036
71ee178a
VS
270372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 Eliminate grub-fstest 4Gib barrier.
27040
27041 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27042 (read_file): Fix error reporting.
27043
2520d4b8
VS
270442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Eliminate hexdump 4Gib barrier.
27047
27048 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27049 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27050
e1f27065
VS
270512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27052
27053 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27054 Fixes amarsh bug.
27055
1a0f7f45
RM
270562009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27057
27058 Remove miscellaneous files in distclean target.
27059
27060 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27061
c631d9fb
CW
270622009-12-09 Colin Watson <cjwatson@ubuntu.com>
27063
27064 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27065 if they're already set. This resolves the conflict between my
27066 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27067 fixing the --grub-probe option again.
27068 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27069 change on 2009-10-06, so that we now once again source
27070 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27071
7c7b6106
RM
270722009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27073
27074 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27075 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27076 `util/devicemap.c'.
27077
e3069ec1
CPE
270782009-12-08 Carles Pina i Estany <carles@pina.cat>
27079
27080 * include/grub/misc.h (grub_printf_): New declaration.
27081 * kern/misc.c (grub_printf_): New definition.
27082 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27083 instead of `grub_printf' and `_'.
27084 * normal/menu_entry.c (store_completion): Likewise.
27085 (run): Likewise.
27086 (grub_menu_entry_run): Likewise.
27087 * normal/menu_text.c (grub_wait_after_message): Likewise.
27088 (notify_booting): Likewise.
27089 (notify_fallback): Likewise.
27090 (notify_execution_failure): Likewise.
27091
d6ceebf1
CW
270922009-12-07 Colin Watson <cjwatson@ubuntu.com>
27093
27094 * configure.ac: Check for vasprintf.
27095 * util/misc.c (asprintf): Move allocation from here ...
27096 (vasprintf): ... to here. New function.
27097 (xasprintf): New function.
27098 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27099 prototypes.
27100 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27101 * util/grub-mkfont.c (write_font): Likewise.
27102 * util/grub-probe.c (probe): Likewise.
27103 * util/hostdisk.c (make_device_name): Likewise.
27104
de6daa8b
DM
271052009-12-06 David S. Miller <davem@sunset.davemloft.net>
27106
27107 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27108 anything even prefixed with 'cdrom' as a cdrom.
27109
0ad46fd7 271102009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27111
27112 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27113 mount points.
27114
98d3dc02
CPE
271152009-12-05 Carles Pina i Estany <carles@pina.cat>
27116
27117 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27118 grub_gettext_msg_list.
27119 (grub_gettext_gettranslation_from_position): Return const char *
27120 and not char *.
a2c1332b 27121 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27122 returns from the list if existing there.
27123 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27124 (grub_gettext_delete_list): Delete the list.
27125 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27126 lang environment variable is changed.
27127 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27128
b283f108
VS
271292009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27130
27131 Rename kernel.mod to kernel.img.
27132
27133 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27134 (kernel_mod_EXPORTS): Rename to ...
27135 (kernel_img_EXPORTS): ... this.
27136 (kernel_mod_SOURCES): Rename to ...
27137 (kernel_img_SOURCES): ... this.
27138 (kernel_mod_HEADERS): Rename to ...
27139 (kernel_img_HEADERS): ... this. All users updated.
27140 (kernel_mod_CFLAGS): Rename to ...
27141 (kernel_img_CFLAGS): ... this.
27142 (kernel_mod_ASFLAGS): Rename to ...
27143 (kernel_img_ASFLAGS): ... this.
27144 (kernel_mod_LDFLAGS): Rename to ...
27145 (kernel_img_LDFLAGS): ... this.
27146 * conf/x86_64-efi.rmk: Likewise.
27147 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27148 (read_kernel_image): ... this. All users updated.
27149 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27150
69055f8a
CPE
271512009-12-05 Carles Pina i Estany <carles@pina.cat>
27152
27153 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27154 (print_spaces): New function.
27155 (grub_print_ucs4): New function.
27156 (getstringwidth): New function.
27157 (print_message_indented): New function.
27158 (print_message): Gettexttize strings using print_message_indented.
27159 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27160 width.
27161 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27162 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27163 Gettextize.
27164 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27165 string.
27166 (run): Likewise.
27167 (grub_menu_entry_run): Likewise.
27168 * PO/POTFILES: Add normal/menu_entry.c.
27169
f616f51c
VS
271702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27171
27172 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27173
57bbe3be
CPE
271742009-12-05 Carles Pina i Estany <carles@pina.cat>
27175
27176 * util/grub-install.in: Install gettext .mo files.
27177 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27178
013d67a1
CPE
271792009-12-05 Carles Pina i Estany <carles@pina.cat>
27180
27181 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27182 grub_dprintf.
27183
fb954db0
RM
271842009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27185
27186 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27187 non-firmware-dependant one in realmode.S takes precedence.
27188
6b8474f8
RM
271892009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27190
27191 * commands/halt.c: Replace misc arch-specific headers with
27192 `<grub/misc.h>'.
27193 * commands/reboot.c: Likewise.
27194 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27195 `<grub/misc.h>'.
27196 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27197 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27198 (kernel_img_SOURCES): ... to here.
27199
27200 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27201 * include/grub/i386/pc/init.h: Likewise.
27202 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27203 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27204
27205 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27206
27207 * include/grub/i386/halt.h: Remove.
27208 * include/grub/i386/reboot.h: Likewise.
27209
27210 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27211
4b2e6ca2
DM
272122009-12-03 David S. Miller <davem@sunset.davemloft.net>
27213
27214 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27215 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27216 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27217 "progname.h"
27218 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27219 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27220 (usage): Add missing comma in printf.
27221
5239348f
RM
272222009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27223
27224 Use the same reboot approach on i386 coreboot and qemu as we do on
27225 BIOS.
27226
27227 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27228 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27229 * kern/i386/reboot.c: Remove.
27230 * include/grub/i386/reboot.h (grub_reboot): Export function.
27231 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27232 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27233 0xf000:0xfff0 instead of 0xffff:0x0000.
27234 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27235 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27236
ef34cbd4
RM
272372009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27238
27239 Fix $srcdir != $objdir build.
27240
27241 * Makefile.in (po/%.po): Rewrite as ...
27242 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27243
dc9837ea
ST
272442009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27245
27246 Fix GNU/Hurd grub-install crash.
27247 * util/grub-probe.c (probe): Try to access `path' only when it is not
27248 NULL.
27249
2f857f98
VS
272502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27251
27252 Correct module naming.
27253
27254 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27255 (GRUB_MOD_INIT(efi_uga)): ... to this
27256 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27257 (GRUB_MOD_FINI(efi_uga)): ... to this
27258 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27259 (GRUB_MOD_INIT(efi_gop)): ... to this
27260 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27261 (GRUB_MOD_FINI(efi_gop)): ... to this
27262
c5448046
RM
272632009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27264
27265 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27266 translatable.
27267 (usage): Translate `arg' strings using gettext().
27268 Thanks to Jordi Mallach for the suggestion.
27269
c85184ad
VS
272702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 GOP support. Based on patch from Bean
27273 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27274
27275 * video/efi_gop.c: New file.
27276 * include/grub/efi/graphics_output.h: Likewise.
27277 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27278 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27279 variables.
27280 * conf/x86_64-efi.rmk: Likewise.
27281
8a4c48d8
VS
272822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 Rename efi_fb to efi_uga.
27285
27286 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27287 'efi_uga.mod'.
27288 (efi_fb_mod_SOURCES): Rename this ...
27289 (efi_uga_mod_SOURCES): ... to this.
27290 (efi_fb_mod_CFLAGS): Rename this ...
27291 (efi_uga_mod_CFLAGS): ... to this.
27292 (efi_fb_mod_LDFLAGS): Rename this ...
27293 (efi_uga_mod_LDFLAGS): ... to this.
27294 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27295 'efi_uga.mod'.
27296 (efi_fb_mod_SOURCES): Rename this ...
27297 (efi_uga_mod_SOURCES): ... to this.
27298 (efi_fb_mod_CFLAGS): Rename this ...
27299 (efi_uga_mod_CFLAGS): ... to this.
27300 (efi_fb_mod_LDFLAGS): Rename this ...
27301 (efi_uga_mod_LDFLAGS): ... to this.
27302 * video/efi_fb.c: Move this ...
27303 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
27304
fb6c1a7b
RM
273052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27306
27307 * po/README: New file. Explain our PO file workflow.
27308
3bc7896c
RM
273092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * po/ChangeLog: Remove. Move relevant entries back to ...
27312 * ChangeLog: ... here.
27313 * po/ca.po: Remove (now handled by TLP).
27314 * po/id.po: Likewise.
27315 * po/zh_CN.po: Likewise.
27316 * Makefile.in (LINGUAS): Initialize in a way that supports
27317 empty set.
27318
9ed4841d
RM
273192009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27320
27321 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
27322 reliing on po/LINGUAS.
27323 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
27324 (po/%.po): ... this.
27325
0ad46fd7 273262009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
27327
27328 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27329 (main): Use `program_name' instead of nonexistent `progname'.
27330
e30dd392
FZ
273312009-11-26 Felix Zielcke <fzielcke@z-51.de>
27332
27333 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27334 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
27335
7656de4f
RM
273362009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27337
27338 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
27339 commit.
27340 * conf/i386-efi.rmk: Likewise.
27341 * conf/i386-ieee1275.rmk: Likewise.
27342 * conf/powerpc-ieee1275.rmk: Likewise.
27343 * conf/sparc64-ieee1275.rmk: Likewise.
27344 * conf/x86_64-efi.rmk: Likewise.
27345
db77c4d4
FZ
273462009-11-26 Felix Zielcke <fzielcke@z-51.de>
27347
27348 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27349
a755bb04
FZ
273502009-11-26 Felix Zielcke <fzielcke@z-51.de>
27351
27352 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27353
8a4c07fd
RM
273542009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27355
27356 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
27357 (grub_mkdevicemap_SOURCES): New variable.
27358 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
27359 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
27360 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
27361 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
27362 (grub_mkdevicemap_SOURCES): Remove.
27363 * conf/i386-efi.rmk: Likewise.
27364 * conf/i386-ieee1275.rmk: Likewise.
27365 * conf/i386-pc.rmk: Likewise.
27366 * conf/powerpc-ieee1275.rmk: Likewise.
27367 * conf/sparc64-ieee1275.rmk: Likewise.
27368 * conf/x86_64-efi.rmk: Likewise.
27369 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
27370 (usage): Fix strings to use `program_name'.
27371 (main): Initialize gettext.
27372 * util/grub-editenv.c: Likewise.
27373 * util/grub-emu.c: Likewise.
27374 * util/grub-fstest.c: Likewise.
27375 * util/grub-mkdevicemap.c: Likewise.
27376 * util/grub-mkfont.c: Likewise.
27377 * util/grub-mkrelpath.c: Likewise.
27378 * util/grub-pe2elf.c: Likewise.
27379 * util/grub-probe.c: Likewise.
27380 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27381 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27382 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27383
27384 * util/misc.c: Include `"progname.h"'.
27385 (progname): Remove variable.
27386 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
27387
6f61ed55
FZ
273882009-11-25 Felix Zielcke <fzielcke@z-51.de>
27389
27390 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
27391 printf and print a newline after the menuentry header line.
27392 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27393
f022876b
FZ
273942009-11-25 Felix Zielcke <fzielcke@z-51.de>
27395
27396 autoconf >= 2.60 support $(localedir).
27397
27398 * INSTALL: Note that autoconf 2.60 is required.
27399 * configure.ac (AC_PREREQ): Bump to 2.60.
27400 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
27401 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27402
6717926e
YB
274032009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
27404
27405 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
27406 aclocal is run.
27407
08806a54
RM
274082009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 * normal/main.c (grub_normal_read_line): Fix off-by-one
27411 buffer overflow.
27412
13b33fba
RM
274132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27414
27415 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
27416 "parser.grub" in grub_command_execute() call.
27417
4a8572e9
CPE
274182009-11-24 Carles Pina i Estany <carles@pina.cat>
27419
27420 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
27421 * conf/i386-efi.rmk: Likewise.
27422 * conf/i386-ieee1275.rmk: Likewise.
27423 * conf/i386-pc.rmk: Likewise.
27424 * conf/powerpc-ieee1275.rmk: Likewise.
27425 * conf/sparc64-ieee1275.rmk: Likewise.
27426 * conf/x86_64-efi.rmk: Likewise.
27427 * gettext/gettex.c: Include <grub/i18n.h>.
27428 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
27429 here ...
27430 * include/grub/i18n.h: ... to here
27431 * include/grub/i18n.h: ... to here.
27432 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 27433 (grub_gettext_dummy): Move above user.
4a8572e9 27434
bee48093
FZ
274352009-11-24 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * util/Makefile.in (install-local): Convert a `for' into a normal
27438 shell expansion.
27439
a031e91c
RM
274402009-11-24 Robert Millan <rmh.grub@aybabtu.com>
27441
27442 * autogen.sh: Add automake call.
27443 * config.guess: Remove.
27444 * config.sub: Likewise.
27445 * install-sh: Likewise.
27446
26bec39d
FZ
274472009-11-24 Felix Zielcke <fzielcke@z-51.de>
27448
27449 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27450
8e2532fd
FZ
274512009-11-24 Felix Zielcke <fzielcke@z-51.de>
27452
27453 * util/Makefile.in (install-local): Convert a make `$(foreach)'
27454 function to a normal shell `for'.
27455
fefa1b7d
FZ
274562009-11-24 Felix Zielcke <fzielcke@z-51.de>
27457
27458 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27459
4501250b
FZ
274602009-11-24 Felix Zielcke <fzielcke@z-51.de>
27461
27462 * util/grub-mkrelpath.c: New file.
27463 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27464 (grub_mkrelpath_SOURCES): New variable.
27465 * include/grub/util/misc.h: New function prototype.
27466 * util/misc.c (make_system_path_relative_to_its_root): New function.
27467
27468 * util/grub-mkconfig_lib.in (bindir): New variable.
27469 (grub_mkrelpath): Likewise.
27470 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27471
27472 * util/probe.c (probe): Make the file path relative to its root.
27473 Change a info message to use the GRUB path. Enable again the
27474 check if we can read the file with GRUB facilities.
27475
27476 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27477 to its root.
27478
11d9778b
FZ
274792009-11-24 Felix Zielcke <fzielcke@z-51.de>
27480
27481 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27482 platform.
27483
4465287d
FZ
274842009-11-24 Felix Zielcke <fzielcke@z-51.de>
27485
27486 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27487 strncmp().
27488
62b47f22
FZ
274892009-11-24 Felix Zielcke <fzielcke@z-51.de>
27490
27491 * util/getroot.c (grub_util_is_dmraid): New function.
27492 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27493 devices as normal ones, not as LVM.
27494
1eafb9b9 274952009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
27496
27497 * conf/common.rmk: Add grub-gettext_lib target and updates
27498 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27499 LDFLAGS.
27500 * gettext/gettext.c: New file. (Reads mo files).
27501 * include/grub/file.h (grub_file_pread): New prototype.
27502 * include/grub/i18n.h (_): New prototype.
27503 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27504 prototypes.
27505 * kern/misc.c (grub_gettext_dummy): New function.
27506 * normal/menu_text.c: Include <grub/i18n.h>.
27507 * normal/menu_text.c (print_timeout): Gettexttize string.
27508 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
27509 * po/POTFILES: Add `normal/menu_text.c'.
27510 * po/ca.po: Add new translations.
c3ea6bd4
CPE
27511 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27512 gettext module and defines locale_dir and lang in grub.cfg.
27513 * NEWS: Add gettext support.
27514
0fdb2568
RM
275152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27516
27517 * util/hostdisk.c: Include `<grub/i18n.h>'.
27518 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27519 (make_device_name): Rewrite using asprintf.
27520 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27521 (find_system_device): If a device is not found, generate one just
27522 by reusing the OS path name.
27523 (read_device_map): Make it permissible for device.map not to exist.
27524
f515aa62
RM
275252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27526
27527 * script/sh/execute.c: Move from here ...
27528 * script/execute.c: ... to here. Update all users.
27529 * script/sh/function.c: Move from here ...
27530 * script/function.c: ... to here. Update all users.
27531 * script/sh/lexer.c: Move from here ...
27532 * script/lexer.c: ... to here. Update all users.
27533 * script/sh/main.c: Move from here ...
27534 * script/main.c: ... to here. Update all users.
27535 * script/sh/parser.y: Move from here ...
27536 * script/parser.y: ... to here. Update all users.
27537 * script/sh/script.c: Move from here ...
27538 * script/script.c: ... to here. Update all users.
27539
f84b481b
RM
275402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27541
27542 * configure.ac: Detect all `emu' platforms. Define
27543 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27544 --enable-grub-emu logic. Disable include/grub/machine
27545 symlink on `emu' platforms.
27546
27547 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27548 * gensymlist.sh.in: Likewise.
27549
27550 * include/grub/i386/coreboot/machine.h: Remove file.
27551 * include/grub/i386/efi/machine.h: Likewise.
27552 * include/grub/i386/ieee1275/machine.h: Likewise.
27553 * include/grub/i386/pc/machine.h: Likewise.
27554 * include/grub/i386/qemu/machine.h: Likewise.
27555 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27556 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27557 * include/grub/x86_64/efi/machine.h: Likewise.
27558
27559 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27560 * commands/halt.c: Likewise.
27561 * commands/reboot.c: Likewise.
27562 * include/grub/autoefi.h: Likewise.
27563 * include/grub/i386/at_keyboard.h: Likewise.
27564 * include/grub/i386/kernel.h: Likewise.
27565 * include/grub/i386/loader.h: Likewise.
27566 * include/grub/i386/pc/memory.h: Likewise.
27567 * kern/dl.c: Likewise.
27568 * kern/i386/coreboot/init.c: Likewise.
27569 * loader/i386/bsd.c: Likewise.
27570 * loader/i386/linux.c: Likewise.
27571 * loader/multiboot_loader.c: Likewise.
27572 * term/i386/pc/serial.c: Likewise.
27573 * term/usb_keyboard.c: Likewise.
27574
27575 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27576 `<grub/machine/machine.h>'
27577 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27578 * util/misc.c: Remove `<grub/machine/machine.h>' and
27579 `<grub/machine/time.h>'.
27580
27581 * Makefile.in (enable_grub_emu): Remove variable.
27582 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27583
27584 * conf/any-emu.rmk: New file.
27585 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27586 (grub_emu_init.c): Move from here ...
27587 * conf/any-emu.rmk: ... to here.
27588
27589 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27590 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27591 * conf/any-emu.rmk: ... to here.
27592
4efeab03
RM
275932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27594
27595 * include/grub/parser.h (grub_parser_register): Document need
27596 of `name' parameter.
27597 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27598 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27599 "sh" to "grub".
27600
ea1dd8bf
RM
276012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27602
27603 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27604 `$(XGETTEXT)'.
27605 * include/grub/i18n.h (N_): New macro.
27606 * util/mkisofs/mkisofs.h: Likewise.
27607 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27608 around N_().
27609 (usage): Use gettext() to translate help strings when printing them.
27610
0c140626
RM
276112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27612
27613 Based on patch from Bean
27614 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27615
27616 * video/efi_fb.c: New file.
27617 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27618 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27619 variables.
27620 * conf/x86_64-efi.rmk: Likewise.
27621
87d58298
RM
276222009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27623
27624 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27625 * util/i386/pc/grub-setup.c: Likewise.
27626
994cc3a3
ST
276272009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27628
27629 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27630 <hurd/fs.h>
27631 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27632 file_get_storage_info to implement grub_guess_root_device.
27633
26a61d6a
FZ
276342009-11-21 Felix Zielcke <fzielcke@z-51.de>
27635
27636 * Makefile.in (target): Use make's builtin $(shell) function
27637 instead of calling directly $(SHELL) to create the locale directories,
27638 inside the $(foreach) function.
27639
74ff1dd5
FZ
276402009-11-21 Felix Zielcke <fzielcke@z-51.de>
27641
27642 * util/grub-mkrescue.in: Print an error and usage if output option
27643 has not been given.
27644
0b787d0e
FZ
276452009-11-21 Felix Zielcke <fzielcke@z-51.de>
27646
27647 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27648 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27649 root and /boot are on different devices.
27650
1164b270
RM
276512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27652
27653 Fix build for srcdir != objdir.
27654
27655 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27656 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27657 $(srcdir).
27658 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27659 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27660 reference for input.
27661
13774a2f
RM
276622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27663
27664 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27665 or hardlinking it). Remove -J option, Joliet is not compatible with
27666 multiple source directories.
27667
efda854e
RM
276682009-11-21 Carles Pina i Estany <carles@pina.cat>
276692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27672 (process_input_dir): New function. Process an arbitrary input
27673 directory.
27674 Misc adjustments to support both "override mode" and system-wide mode.
27675
6c09890c
FZ
276762009-11-20 Felix Zielcke <fzielcke@z-51.de>
27677
27678 * configure.ac (UNIFONT_BDF): Rename to ...
27679 (FONT_SOURCE): ... this. Update all users.
27680
a797824f
FZ
276812009-11-20 Felix Zielcke <fzielcke@z-51.de>
27682
27683 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27684 to the list of unifont files to look for.
27685
cd4f42b0
RM
276862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27687
27688 Patch from Joe Auricchio <jauricchio@gmail.com>
27689 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27690 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27691 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27692
393c783d
FZ
276932009-11-19 Felix Zielcke <fzielcke@z-51.de>
27694
27695 * Makefile.in (install-local): Add a missing backslash.
27696
b2f1e327
FZ
276972009-11-19 Felix Zielcke <fzielcke@z-51.de>
27698
27699 * include/grub/x86_64/io.h: New file.
27700
f577f7a0
RM
277012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27702
27703 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27704 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27705 Include `"progname.h"'.
27706 (main): Initialize gettext.
27707 * util/i386/pc/grub-setup.c: Gettexttize.
27708 * util/i386/pc/grub-mkimage.c: Likewise.
27709
27710 * Makefile.in (po/*.po): Redefine as ...
27711 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27712
3bc7896c
RM
27713 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27714
c37943b6
RM
277152009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27716
27717 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27718 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27719 (program_name): Remove.
27720 (main): Initialize gettext support.
6323f705
RM
27721 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27722 Include `<libintl.h>'.
27723 (_): New macro.
c37943b6
RM
27724
27725 * util/mkisofs/eltorito.c: Gettexttize.
27726 * util/mkisofs/joliet.c: Likewise.
27727 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
27728 * util/mkisofs/multi.c: Likewise.
27729 * util/mkisofs/rock.c: Likewise.
27730 * util/mkisofs/tree.c: Likewise.
27731 * util/mkisofs/write.c: Likewise.
27732
3bc7896c
RM
27733 * po/POTFILES: Update with new files.
27734
5ce77c6e
RM
277352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27736
27737 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27738 * util/mkisofs/iso9660.h: Likewise.
27739 * util/mkisofs/joliet.c: Likewise.
27740 * util/mkisofs/mkisofs.c: Likewise.
27741 * util/mkisofs/mkisofs.h: Likewise.
27742 * util/mkisofs/rock.c: Likewise.
27743 * util/mkisofs/tree.c: Likewise.
27744 * util/mkisofs/write.c: Likewise.
27745
27746 * util/mkisofs/eltorito.c (rcsid): Remove.
27747 * util/mkisofs/hash.c: Likewise.
27748 * util/mkisofs/joliet.c: Likewise.
27749 * util/mkisofs/name.c: Likewise.
27750 * util/mkisofs/rock.c: Likewise.
27751 * util/mkisofs/tree.c: Likewise.
27752 * util/mkisofs/write.c: Likewise.
27753
1dabbc77
RM
277542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27755
27756 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27757 instead of static allocation.
27758 * util/mkisofs/match.h: Likewise.
27759
633877cb
RM
277602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27761
3bc7896c
RM
27762 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27763 and `util/grub.d/10_linux.in'.
633877cb
RM
27764 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27765 translatable Shell files.
27766
af1c0c85
RM
277672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27768
27769 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27770
769ae37b
RM
277712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27772
27773 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 27774 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
27775 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27776 Add gettext initialization.
27777 (kfreebsd_entry): Make menuentry output translatable.
27778
277792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27780
27781 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27782 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27783 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27784 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27785 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 27786 * po/LINGUAS: New file.
769ae37b
RM
27787
277882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27789
27790 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27791 other things).
27792 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27793 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27794 bindtextdomain() calls for gettext initialization.
27795
277962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27797
27798 * gnulib/progname.c: New file (imported from Gnulib).
27799 * gnulib/progname.h: Likewise.
27800 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27801 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27802 (usage): Replace `progname' with `program_name'.
27803 (main): Use set_program_name() for program name initialization.
27804
278052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27806
27807 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27808 from here ...
27809 * Makefile.in (CPPFLAGS): ... to here.
27810
278112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27812
27813 * aclocal.m4: Move from here ...
27814 * acinclude.m4: ... to here.
27815 * autogen.sh: Add call to `aclocal'.
27816 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27817
278182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27819
27820 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27821 (LINGUAS): New variable.
27822 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27823 (install-local): Install MO files.
27824 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27825 * include/grub/i18n.h: New file.
3bc7896c
RM
27826 * po/POTFILES: New file.
27827 * po/ca.po: New file.
769ae37b
RM
27828 * util/grub.d/10_linux.in (bindir): New variable.
27829 Add gettext initialization.
27830 (linux_entry): Make menuentry output translatable.
27831 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27832 (usage): Make --help output translatable.
27833 (main): Initialize gettext.
27834
02c0a6ad
RM
278352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27836
27837 * import_gcry.py: New file (written by Vladimir with minor
27838 adjustments).
27839 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27840 ciphers.
27841 * INSTALL: Document that Python is required for bootstrap.
27842
278432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27844
27845 Import ciphers from libgcrypt 1.4.4.
27846
27847 * lib/libgcrypt/cipher/ChangeLog
27848 * lib/libgcrypt/cipher/ac.c
27849 * lib/libgcrypt/cipher/arcfour.c
27850 * lib/libgcrypt/cipher/bithelp.h
27851 * lib/libgcrypt/cipher/blowfish.c
27852 * lib/libgcrypt/cipher/camellia-glue.c
27853 * lib/libgcrypt/cipher/camellia.c
27854 * lib/libgcrypt/cipher/camellia.h
27855 * lib/libgcrypt/cipher/cast5.c
27856 * lib/libgcrypt/cipher/cipher.c
27857 * lib/libgcrypt/cipher/crc.c
27858 * lib/libgcrypt/cipher/des.c
27859 * lib/libgcrypt/cipher/dsa.c
27860 * lib/libgcrypt/cipher/ecc.c
27861 * lib/libgcrypt/cipher/elgamal.c
27862 * lib/libgcrypt/cipher/hash-common.c
27863 * lib/libgcrypt/cipher/hash-common.h
27864 * lib/libgcrypt/cipher/hmac-tests.c
27865 * lib/libgcrypt/cipher/md.c
27866 * lib/libgcrypt/cipher/md4.c
27867 * lib/libgcrypt/cipher/md5.c
27868 * lib/libgcrypt/cipher/primegen.c
27869 * lib/libgcrypt/cipher/pubkey.c
27870 * lib/libgcrypt/cipher/rfc2268.c
27871 * lib/libgcrypt/cipher/rijndael-tables.h
27872 * lib/libgcrypt/cipher/rijndael.c
27873 * lib/libgcrypt/cipher/rmd.h
27874 * lib/libgcrypt/cipher/rmd160.c
27875 * lib/libgcrypt/cipher/rsa.c
27876 * lib/libgcrypt/cipher/seed.c
27877 * lib/libgcrypt/cipher/serpent.c
27878 * lib/libgcrypt/cipher/sha1.c
27879 * lib/libgcrypt/cipher/sha256.c
27880 * lib/libgcrypt/cipher/sha512.c
27881 * lib/libgcrypt/cipher/tiger.c
27882 * lib/libgcrypt/cipher/twofish.c
27883 * lib/libgcrypt/cipher/whirlpool.c
27884
af2f93ac
RM
278852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27886
27887 Fix build for systems without error().
27888
27889 * gnulib/error.c: New file (imported from Gnulib).
27890 * gnulib/error.h: Likewise.
27891 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27892 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27893 (this variable is now used by error()).
27894
73fb3dd5
FZ
278952009-11-16 Felix Zielcke <fzielcke@z-51.de>
27896
814f5e96
FZ
27897 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27898 instead of relying that char is signed.
73fb3dd5 27899
a691ca33
VS
279002009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27901
27902 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27903 blocksize different from specified.
27904 (grub_pxefs_read): Likewise.
27905
2af8f0f4
FZ
279062009-11-16 Felix Zielcke <fzielcke@z-51.de>
27907
27908 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27909
27910 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27911 (grub_ata_readwrite): Likewise. Update 2 format strings.
27912 (grub_atapi_read): Likewise.
27913
27914 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27915 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27916 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27917 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27918 (ata_mod_LDFLAGS): Move from here ...
27919 * conf/i386.rmk: ... to here ...
27920 * conf/x86_64-efi.rmk: ... and here.
27921 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27922 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27923
83bdecaf
RM
279242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27925
27926 Relicense multiboot.h, with RMS' blessing.
27927
27928 * include/multiboot.h: Change to X11 license.
27929
fd6fd3d7
RM
279302009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27931
27932 Support --version in grub-mkisofs.
27933
27934 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27935 (OPTION_VERSION): New macro.
27936 (ld_options): Recognize --version.
27937 (usage): Move `program_name' from here ...
27938 (program_name): ... to here. Add `static' qualifier.
27939 (main): Recognize `OPTION_VERSION'.
27940
16a88c49
FZ
279412009-11-15 Felix Zielcke <fzielcke@z-51.de>
27942
27943 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27944 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27945
a4158476
RM
279462009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27947
27948 Fix help2man generation for mkisofs.
27949
27950 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27951 (usage): Send output to stdout (rather than stderr).
27952
fc2208b0
RM
279532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27954
27955 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27956 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27957 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27958 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27959 (bin_SCRIPTS): Add `grub-mkfloppy'.
27960 (grub_mkfloppy_SOURCES): New variable.
27961
27962 * util/grub-mkrescue.in: New file.
27963 * util/i386/pc/grub-mkfloppy.in: New file.
27964
27965 * util/i386/coreboot/grub-mkrescue.in: Remove.
27966 * util/i386/pc/grub-mkrescue.in: Remove.
27967
8d0edf4a
RM
279682009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27969
27970 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27971 from here ...
27972 * include/multiboot.h (struct multiboot_header): ... to here. Update
27973 all users.
27974 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27975 from here ...
27976 * include/multiboot.h (struct multiboot_info): ... to here. Update
27977 all users.
27978 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27979 from here ...
27980 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27981 Update all users.
27982 * include/grub/multiboot.h (struct grub_mod_list): Move
27983 from here ...
27984 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27985 Update all users.
27986
a73f5969
RM
279872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27988
27989 * include/multiboot2.h (multiboot_word): Rename from this ...
27990 (multiboot2_word): ... to this. Update all users.
27991 (multiboot_header): Rename from this ...
27992 (multiboot2_header): ... to this. Update all users.
27993 (multiboot_tag_header): Rename from this ...
27994 (multiboot2_tag_header): ... to this. Update all users.
27995 (multiboot_tag_start): Rename from this ...
27996 (multiboot2_tag_start): ... to this. Update all users.
27997 (multiboot_tag_name): Rename from this ...
27998 (multiboot2_tag_name): ... to this. Update all users.
27999 (multiboot_tag_module): Rename from this ...
28000 (multiboot2_tag_module): ... to this. Update all users.
28001 (multiboot_tag_memory): Rename from this ...
28002 (multiboot2_tag_memory): ... to this. Update all users.
28003 (multiboot_tag_unused): Rename from this ...
28004 (multiboot2_tag_unused): ... to this. Update all users.
28005 (multiboot_tag_end): Rename from this ...
28006 (multiboot2_tag_end): ... to this. Update all users.
28007
1c8927f0
RM
280082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28011 this platform we should support Multiboot1 first.
28012
28013 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28014 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28015 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28016
6e1e0d89
RM
280172009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28018
28019 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28020 of write calls (converting them to fwrite() if they aren't already).
28021 (get_torito_desc): Likewise.
28022 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28023
7f2b34d8
RM
280242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28025
28026 * util/i386/pc/grub-install.in: Move from here ...
28027 * util/grub-install.in: ... to here. Update all users.
28028
c0ef3311
CW
280292009-11-11 Colin Watson <cjwatson@ubuntu.com>
28030
28031 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28032
e1f240ff
RM
280332009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28034
28035 Support for El Torito without floppy emulation.
28036
28037 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28038 (init_boot_catalog): Improve error handling.
28039 (get_torito_desc): Don't use floppy emulation unless requested by
28040 user. Patch boot information table when requested via
28041 `-boot-info-table'.
28042 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28043 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28044 (use_boot_info_table): New variables.
28045 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28046 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28047 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28048 `--eltorito-emul-floppy'.
28049 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28050 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28051 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28052 (use_boot_info_table, get_731): New prototypes.
28053 * util/mkisofs/write.c (get_731): New function.
28054
af7d4de5
FZ
280552009-11-11 Felix Zielcke <fzielcke@z-51.de>
28056
28057 Fix the generation of the man page.
28058
28059 * util/pc/i386/grub-install.in: Source
28060 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28061
2c55dbc0
RM
280622009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28063
28064 Large file support for grub-mkisofs.
28065
28066 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28067 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28068 (session_start): Upgrade type to `uint64_t'. Update all users.
28069 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28070 (struct directory_entry): Upgrade type of `starting_block' and
28071 `size' to `uint64_t'. Update all users.
28072 (struct deferred): Remove unused structure.
28073 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28074 Update all users.
28075 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28076 file is larger than `UINT32_MAX'.
28077 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28078 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28079 return value.
28080 (struct deferred_write): Upgrade type of `extent' and `size' to
28081 `uint64_t'. Update all users.
28082 (last_extent_written): Upgrade type to `uint64_t'. Update all
28083 users.
28084 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28085 Update all users. Upgrade type of `remain' to `int64_t' and
28086 `use' to `size_t'. Use error() to handle fread() errors.
28087 (write_files): Rely on write_one_file() rather than calling
28088 xfwrite() directly.
28089
6a9cead5
FZ
280902009-11-09 Felix Zielcke <fzielcke@z-51.de>
28091
28092 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28093
4825d790
RM
280942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28095
28096 * util/mkisofs/fnmatch.c: Remove.
28097 * util/mkisofs/getopt1.c: Likewise.
28098 * util/mkisofs/getopt.c: Likewise.
28099 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28100 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28101 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28102 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28103 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28104
28105 * configure.ac: Detect `mingw32msvc' host_os.
28106 Check for lstat(), getuid() and getgid().
28107
28108 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28109 instances of `u_char' with `uint8_t'.
28110
28111 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28112 [!HAVE_GETUID] (getuid): New function (stub).
28113 [!HAVE_GETGID] (getgid): Likewise.
28114 [!HAVE_LSTAT] (lstat): Likewise.
28115 [!S_IROTH] (S_IROTH): New macro (dummy).
28116 [!S_IRGRP] (S_IRGRP): Likewise.
28117
84b860d8
RM
281182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28119
28120 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28121 conditional expression).
28122
66e9b712
RM
281232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28124
28125 Import from Gnulib.
28126
28127 * gnulib/fnmatch.c: New file.
28128 * gnulib/fnmatch.h: Likewise.
28129 * gnulib/fnmatch_loop.c: Likewise.
28130 * gnulib/getopt.c: Likewise.
28131 * gnulib/getopt.h: Likewise.
28132 * gnulib/getopt1.c: Likewise.
28133 * gnulib/getopt_int.h: Likewise.
28134 * gnulib/gettext.h: Likewise.
28135
34f4a5b0
RM
281362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28139 * normal/handler.c (read_handler_list): Likewise.
28140
ac451143
RM
281412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28142
28143 Misc cleanup.
28144
28145 * kern/command.c (grub_register_command_prio): Use
28146 grub_zalloc() instead of explicitly zeroing data.
28147 * kern/list.c: Include `<grub/mm.h>'.
28148 (grub_named_list_find): Replace `0' with `NULL'.
28149 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28150 (fs_module_list): Change type to `grub_named_list_t'. Update all
28151 users.
28152 * normal/dyncmd.c (read_command_list): Add space between function
28153 call and parenthesis.
28154 * normal/handler.c (read_handler_list): Likewise.
28155
4089b167
RM
281562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28157
28158 * normal/auth.c (punishment_delay): Moved from here ...
28159 (grub_auth_strcmp): ... to here (inside function).
28160
325f5037
RM
281612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28162
28163 * include/grub/list.h (struct grub_named_list): Remove `const'
28164 qualifier from `name'.
28165 (struct grub_prio_list): Likewise.
28166
7aea29a3
RM
281672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28168
28169 * normal/auth.c: Include `<grub/time.h>'.
28170 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28171
3fd6f044
RM
281722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28173
28174 * normal/auth.c (punishment_delay): New variable.
28175 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28176 (grub_auth_check_authentication): Punish failed login attempts with
28177 an incremental (2^N) delay.
28178
a4cd68e4
RM
281792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28180
28181 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28182 path with $(srcdir).
28183
7ad12f43
VS
281842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28187
c1129f03
RM
281882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28189
28190 * util/i386/coreboot/grub-mkrescue.in: New file.
28191 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28192 variables.
28193
28194 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28195 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28196 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28197 requirements.
28198 * util/mkisofs/defaults.h: New file.
28199 * util/mkisofs/eltorito.c: Likewise.
28200 * util/mkisofs/exclude.h: Likewise.
28201 * util/mkisofs/fnmatch.c: Likewise.
28202 * util/mkisofs/getopt.c: Likewise.
28203 * util/mkisofs/getopt1.c: Likewise.
28204 * util/mkisofs/hash.c: Likewise.
28205 * util/mkisofs/include/fctldefs.h: Likewise.
28206 * util/mkisofs/include/mconfig.h: Likewise.
28207 * util/mkisofs/include/prototyp.h: Likewise.
28208 * util/mkisofs/include/statdefs.h: Likewise.
28209 * util/mkisofs/iso9660.h: Likewise.
28210 * util/mkisofs/joliet.c: Likewise.
28211 * util/mkisofs/match.c: Likewise.
28212 * util/mkisofs/match.h: Likewise.
28213 * util/mkisofs/mkisofs.c: Likewise.
28214 * util/mkisofs/mkisofs.h: Likewise.
28215 * util/mkisofs/multi.c: Likewise.
28216 * util/mkisofs/name.c: Likewise.
28217 * util/mkisofs/rock.c: Likewise.
28218 * util/mkisofs/tree.c: Likewise.
28219 * util/mkisofs/write.c: Likewise.
28220
ec8bb77d
VS
282212009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28224 being insecure.
28225
3716b12c
RM
282262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28227
28228 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28229 `grub-mkimage' (and use $0 when possible).
28230
b97b7b91
RM
282312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28232
28233 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28234 error message for excessively large memory map.
28235
04114812
RM
282362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28237
28238 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28239 executable bit.
28240
e4eb2373
RM
282412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28242
28243 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28244 message for coreboot users.
28245
c926e1d5 282462009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 Fix build with GNU gold.
28249
28250 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28251 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28252 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28253 link addresses.
28254 * aclocal.m4: Likewise.
28255
86e5b1db 282562009-11-04 Felix Zielcke <fzielcke@z-51.de>
28257
28258 * configure.ac (AC_PREREQ): Bump to 2.59d.
28259 * INSTALL: Make it more clear when Autoconf and Ruby are
28260 needed and when to run `./autogen.sh'.
28261
246cd78f 282622009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28263
28264 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28265 OSes.
28266
4f9dfb37 282672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28268
28269 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28270
b82bd5e1 282712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28272
28273 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28274 giving it to GNU Mach.
28275
ff1a9bca 282762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28277
28278 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28279 GNU partition number to get internal GRUB partition number.
28280
61697d9c 282812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28282
28283 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28284 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28285
a50569e1 282862009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28287
28288 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28289 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28290 case.
28291
5b153867 282922009-11-01 Felix Zielcke <fzielcke@z-51.de>
28293
28294 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28295
d9e2cd70 282962009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28297
28298 Fix build problem.
28299
28300 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
28301 `-isystem=$(srcdir)/include'.
28302
805111a4 283032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28304
28305 * util/i386/pc/grub-install.in: Remove hint that device.map should be
28306 checked (grub-install doesn't currently rely on it).
28307
fa6e945f 283082009-10-29 Robert Millan <rmh.grub@aybabtu.com>
28309
28310 Revert SVN r2660.
28311
28312 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
28313 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28314 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
28315 * conf/i386-ieee1275.rmk: Likewise.
28316 * conf/i386-pc.rmk: Likewise.
28317 * conf/powerpc-ieee1275.rmk: Likewise.
28318 * conf/sparc64-ieee1275.rmk: Likewise.
28319 * conf/x86_64-efi.rmk: Likewise.
28320
cee15086 283212009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28322
28323 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28324
95b9239e 283252009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28326
28327 * include/grub/misc.h: Stop checking for APPLE_CC.
28328
2ed19dfd 283292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28330
28331 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
28332 doesn't cause an infinite call loop.
28333
fdcdde19 283342009-10-28 Felix Zielcke <fzielcke@z-51.de>
28335
28336 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
28337 strings.
28338
cefabfe1 283392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28340
28341 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
28342 variable.
28343 * Makefile.in: Likewise.
28344
ed96ab6d 283452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28346
28347 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28348
0579b753 283492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28350
28351 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28352
478df409 283532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28354
28355 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28356
083d1679 283572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28358
28359 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
28360 from here ...
28361 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
28362
5947ae32 283632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28364
28365 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
28366 in $(MAKEINFO) invocation. This makes it clear in output that
28367 errors are being ignored.
28368
94180ff6 283692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28370
28371 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
28372 from here ...
28373 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28374 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
28375 * conf/i386-ieee1275.rmk: Likewise.
28376 * conf/i386-pc.rmk: Likewise.
28377 * conf/powerpc-ieee1275.rmk: Likewise.
28378 * conf/sparc64-ieee1275.rmk: Likewise.
28379 * conf/x86_64-efi.rmk: Likewise.
28380
9031b03a 283812009-10-26 Colin Watson <cjwatson@ubuntu.com>
28382
28383 * util/grub-editenv.c (main): If only a command is given, use
28384 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
28385 (usage): FILENAME is now optional and has a default.
28386
e4f6809b 283872009-10-26 Colin Watson <cjwatson@ubuntu.com>
28388
28389 Improve grub-mkconfig performance when there are several menu
28390 entries on a single filesystem.
28391
28392 * util/grub.d/10_linux.in (linux_entry): Cache the output of
28393 prepare_grub_to_access_device.
28394 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28395 * util/grub.d/30_os-prober.in: Likewise.
28396
67937d4d 283972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28398
28399 * util/grub.d/10_freebsd.in: Remove.
28400 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
28401 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
28402
ee3756cc 284032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28404
5c35048e 28405 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 28406
4dea1c6f 284072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28408
28409 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
28410 grub_util_error() call.
28411
042484d7 284122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28413
28414 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
28415 `reserved_first_sector' member.
28416 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
28417 `reserved_first_sector' to 1.
28418 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
28419 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
28420 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
28421 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
28422 filesystems which begin at first sector.
28423 (options): New option --skip-fs-probe.
28424 (main): Handle --skip-fs-probe and pass it to setup().
28425
d64448a7 284262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28427
28428 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
28429 (memset): Fix function prototype.
28430
508d42ec 284312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
284322009-10-25 Vasily Averin <vvs@parallels.com>
28433
28434 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
28435 `dirent.direntlen == 0'.
28436
b240e30c 284372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
28440 `cpio'.
28441 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
28442
346e7fbe 284432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28444
28445 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
28446 `__trampoline_setup' and `__ucmpdi2'.
28447 * include/grub/powerpc/libgcc.h: Only export symbols for functions
28448 that libgcc provides.
28449
cdb308b0 284502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
28453 * include/grub/sparc64/libgcc.h (memset): Likewise.
28454 * include/grub/misc.h (memset, memcmp): New function prototypes.
28455
fb26abc2 284562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28457
28458 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
28459 `cpio'.
28460 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28461
f6693890 284622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28463
28464 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28465 * docs/grub.cfg: Compensate for recent change in multiboot
28466 loader (since 2009-08-14 it won't pass filename to payload).
28467 * util/grub.d/10_hurd.in: Likewise.
28468
0933cdc0 284692009-10-21 Felix Zielcke <fzielcke@z-51.de>
28470
28471 * config.guess: Update to latest version from config git
28472 repository.
28473 * config.sub: Likewise.
28474
3b2fe8c2 284752009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28476
28477 Fix build on sparc64.
28478
28479 * configure.ac: Perform checks for libgcc symbols before
28480 adding `-nostdlib' to LDFLAGS.
28481
46695a62 284822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28483
28484 Let user specify OpenBSD root device.
28485
28486 * loader/i386/bsd.c (openbsd_root): New variable.
28487 (openbsd_opts): New option 'root'.
28488 (OPENBSD_ROOT_ARG): New macro.
28489 (grub_openbsd_boot): Use 'openbsd_root'.
28490 (grub_cmd_openbsd): Fill 'openbsd_root'.
28491
d2b6b7fc 284922009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28493
28494 * NEWS: Misc adjustments.
28495
421bd7ac 284962009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28499
f1d29d87 285002009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28501
28502 * configure.ac: Bump version to 1.97.
28503
6f3cd880 285042009-10-16 Colin Watson <cjwatson@ubuntu.com>
28505
28506 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28507 -mno-3dnow on x86 architectures. Some toolchains enable these
28508 features by default, but they rely on registers that aren't enabled
28509 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28510
035f7122 285112009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28512
28513 Make entry text a bit more readable.
28514
28515 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28516
44998e58 285172009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28518
28519 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28520
cd2851b3 285212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28524 operations.
28525
c6f3b249 285262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 * configure.ac: Add missing dollar.
28529
6b5886ba 285302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28533
28534 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28535 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28536 exports.
28537 * include/grub/sparc64/libgcc.h: Likewise. Use
28538 preprocessor conditionals.
28539
e9d66f6d 285402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28541
28542 * conf/common.rmk (grub-dumpbios): Remove rule.
28543 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28544 * util/grub-dumpbios.in: Remove file.
28545
9155bc17 285462009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28547
28548 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28549 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28550
28551 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28552 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28553 users.
28554
28555 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28556 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28557 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28558 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28559 users.
28560
bf7f7a18 285612009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28562
28563 * term/tparm.c: Switch to GPLv3.
28564
86564c26 285652009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28566
28567 * include/grub/i386/cpuid.h: Add header protection.
28568
5c936493 285692009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28570
28571 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28572
28573 * include/grub/i386/cpuid.h: New file.
28574 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28575 (has_longmode): Rename to ...
28576 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28577 `static' attribute.
28578 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28579 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28580 on a CPU that doesn't implement AMD64 instruction set.
28581
186e7cf2 285822009-10-06 Colin Watson <cjwatson@ubuntu.com>
28583
28584 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28585 that version.texi is rebuilt on version number changes.
28586
83b65c4a 285872009-10-06 Colin Watson <cjwatson@ubuntu.com>
28588
28589 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28590 Fixes bug #27602.
28591
d244281c 285922009-10-06 Colin Watson <cjwatson@ubuntu.com>
28593
28594 * util/i386/pc/grub-install.in: Source
28595 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28596 that the --grub-probe option will work.
28597 * util/sparc64/ieee1275/grub-install.in: Likewise.
28598
da25306d 285992009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28600
28601 * configure.ac: Bump version to 1.97~beta4.
28602
e8ee83c0 286032009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28604
28605 Resync grub-mkdevicemap in x86_64-efi.
28606
28607 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28608 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28609 `util/devicemap.c'.
28610
50dcabcf 286112009-10-01 Colin Watson <cjwatson@ubuntu.com>
28612
28613 * util/grub-editenv.c (create_envblk_file): Write new block with a
28614 .new suffix and then rename it into place, to ensure atomic
28615 creation.
28616
0e51c3a7 286172009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28618
28619 Do not automatically install headers.
28620
28621 * Makefile.in (include_DATA): Remove. Update all users.
28622
31299a95 286232009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28624
28625 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28626 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28627
28628 * util/osdetect.lua: Remove.
28629 * script/lua/lauxlib.c: Likewise.
28630 * script/lua/ldebug.c: Likewise.
28631 * script/lua/grub_main.c: Likewise.
28632 * script/lua/lauxlib.h: Likewise.
28633 * script/lua/ldebug.h: Likewise.
28634 * script/lua/ltablib.c: Likewise.
28635 * script/lua/liolib.c: Likewise.
28636 * script/lua/lstrlib.c: Likewise.
28637 * script/lua/lualib.h: Likewise.
28638 * script/lua/ldo.c: Likewise.
28639 * script/lua/ldump.c: Likewise.
28640 * script/lua/ldo.h: Likewise.
28641 * script/lua/loslib.c: Likewise.
28642 * script/lua/lundump.c: Likewise.
28643 * script/lua/grub_lib.c: Likewise.
28644 * script/lua/ldblib.c: Likewise.
28645 * script/lua/lundump.h: Likewise.
28646 * script/lua/lmem.c: Likewise.
28647 * script/lua/grub_lib.h: Likewise.
28648 * script/lua/lmathlib.c: Likewise.
28649 * script/lua/lstate.c: Likewise.
28650 * script/lua/ltm.c: Likewise.
28651 * script/lua/lvm.c: Likewise.
28652 * script/lua/lmem.h: Likewise.
28653 * script/lua/lstate.h: Likewise.
28654 * script/lua/ltm.h: Likewise.
28655 * script/lua/ltable.c: Likewise.
28656 * script/lua/lvm.h: Likewise.
28657 * script/lua/llex.c: Likewise.
28658 * script/lua/lgc.c: Likewise.
28659 * script/lua/grub_lua.h: Likewise.
28660 * script/lua/loadlib.c: Likewise.
28661 * script/lua/lfunc.c: Likewise.
28662 * script/lua/lopcodes.c: Likewise.
28663 * script/lua/lparser.c: Likewise.
28664 * script/lua/ltable.h: Likewise.
28665 * script/lua/llex.h: Likewise.
28666 * script/lua/lgc.h: Likewise.
28667 * script/lua/lfunc.h: Likewise.
28668 * script/lua/lbaselib.c: Likewise.
28669 * script/lua/lopcodes.h: Likewise.
28670 * script/lua/lparser.h: Likewise.
28671 * script/lua/lzio.c: Likewise.
28672 * script/lua/linit.c: Likewise.
28673 * script/lua/lobject.c: Likewise.
28674 * script/lua/llimits.h: Likewise.
28675 * script/lua/lstring.c: Likewise.
28676 * script/lua/lzio.h: Likewise.
28677 * script/lua/lapi.c: Likewise.
28678 * script/lua/lcode.c: Likewise.
28679 * script/lua/lua.h: Likewise.
28680 * script/lua/lobject.h: Likewise.
28681 * script/lua/lstring.h: Likewise.
28682 * script/lua/lapi.h: Likewise.
28683 * script/lua/lcode.h: Likewise.
28684 * script/lua/luaconf.h: Likewise.
28685
cb8a2c38 286862009-09-26 Colin Watson <cjwatson@ubuntu.com>
28687
28688 * docs/grub.texi (Command-line and menu entry commands): Document
28689 date and echo commands.
28690
6b9b6276 286912009-09-24 Pavel Roskin <proski@gnu.org>
28692
28693 * include/grub/kernel.h (struct grub_module_header): Remove
28694 `grub_module_header_types'. Make `type' unsigned. Make `size'
28695 32-bit on all platforms.
28696 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28697 8-bit field. Use grub_host_to_target32() for `size'.
28698 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28699 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28700 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28701
4e5a02a7 287022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28703
28704 Fix "lost keypress" bug in at_keyboard.
28705
28706 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28707 Checks for readyness of input buffer (without flushing it).
28708 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28709 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28710
c6dcedf6 287112009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28712
28713 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28714 size check within GRUB_MACHINE_PCBIOS section.
28715
74c958b1 287162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28717
28718 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28719 return value.
28720 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28721 KEYBOARD_ISREADY check.
28722 (grub_at_keyboard_checkkey): Rename to ...
28723 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28724 Remove gratuitous cast.
28725
ff420223 287262009-09-23 Colin Watson <cjwatson@ubuntu.com>
28727
28728 * configure.ac: Call AC_PROG_MKDIR_P.
28729 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28730 version.texi in $(builddir) rather than $(srcdir).
28731 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28732 to makeinfo's @include search path.
28733
d96875df 287342009-09-23 Felix Zielcke <fzielcke@z-51.de>
28735
28736 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28737
9b3f8365 287382009-09-23 Felix Zielcke <fzielcke@z-51.de>
28739
28740 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28741 for `*.dpkg-new'.
28742
c44c90db 287432009-09-21 Colin Watson <cjwatson@ubuntu.com>
28744
28745 Build info documentation. Some code borrowed from Automake.
28746
28747 * configure.ac: Check for makeinfo.
28748 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28749 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28750 docs/version.texi.
28751 (MOSTLYCLEANFILES): Add vti.tmp.
28752 (docs/version.texi, docs/stamp-vti): Update automatically.
28753 (docs/grub.info): Build info documentation. Use --force and ignore
28754 errors for now.
28755 (all-local): Add $(INFOS).
28756 (install-local): Install info files.
28757 (uninstall): Uninstall info files.
28758 * docs/version.texi: Remove from revision control. This file is
28759 automatically generated on build now.
28760 * gendistlist.sh: Add `*.info'.
28761
e0b37bb5 287622009-09-21 Felix Zielcke <fzielcke@z-51.de>
28763
28764 * kern/term.c: Fix indentation.
28765
5a78865b 287662009-09-21 Felix Zielcke <fzielcke@z-51.de>
28767
28768 * util/hostdisk.c: Fix a comment.
28769
dace7e8a 287702009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28771
28772 Fix regression introduced in r2539.
28773
28774 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28775 to 0xA1.
28776
a83d079b 287772009-09-19 Colin Watson <cjwatson@ubuntu.com>
28778
28779 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 28780 os-prober. Under normal operation, it does not print anything to
28781 stderr; if it does, we need to debug it, and throwing away stderr
28782 makes that excessively difficult.
a83d079b 28783
be94a509 287842009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28785
28786 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28787
63f745e8 287882009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28789
28790 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28791 AC_LANG_PROGRAM from autoconf.
28792 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28793 prototypes (fixes warning).
28794
28795 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28796 `--disable-werror' was used.
28797
bbb2a70f 287982009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28799
28800 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28801 uninitialized `lastaddr'.
28802
77c24f1d 288032009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28804
0f0b8c87 28805 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 28806
07197f23 288072009-09-14 Colin Watson <cjwatson@ubuntu.com>
28808
28809 * commands/test.c (get_fileinfo): Return immediately if
28810 grub_fs_probe fails.
28811
dabf1798 288122009-09-14 José Martínez <xosemp@gmail.com>
28813
28814 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28815
d52109a7 288162009-09-14 Colin Watson <cjwatson@ubuntu.com>
28817
28818 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28819 output.
28820
56532179 288212009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28822
28823 * configure.ac: Remove --enable-grub-pe2elf. Only build
28824 grub-pe2elf when needed by the build system itself.
28825 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28826
8ef070f5 288272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28828
28829 * configure.ac: Bump version to 1.97~beta3.
28830 * docs/version.texi: Likewise.
28831
61229557 288322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28833
28834 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28835 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28836 from here ...
28837 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28838 (grub_linux_setup_video): ... to here (with some adjustments).
28839
5c9f8d84 288402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28841
28842 Fix memory corruption issue (spotted by Colin Watson).
28843
28844 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28845 causing returned size to be stored in an incorrect memory location.
28846 Fix use of uninitialized value when storing the returned size.
28847
e8f5d6e9 288482009-09-12 Yves Blusseau <blusseau@zetam.org>
28849
28850 Change clean rules to properly remove files
28851
28852 * genmk.rb: add new clean rules
28853 * Makefile.in (clean): add the new targets
28854 (mostlyclean): likewise
28855
cda2a409 288562009-09-11 Colin Watson <cjwatson@ubuntu.com>
28857
28858 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28859 to grub_uint64_t.
28860 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28861 non-resident files.
28862
86695375 288632009-09-11 Colin Watson <cjwatson@ubuntu.com>
28864
28865 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28866 part of bug #27349.
28867
8aa1541a 288682009-09-10 Felix Zielcke <fzielcke@z-51.de>
28869
28870 * util/grub-mkconfig.in: Make the created config mode 400 and
28871 print a warning if it fails.
28872
48d9bb0a 288732009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28874
28875 * util/grub.d/40_custom.in: Ask user to type custom entries below
28876 comment, rather than below 'exec tail' line.
28877
3b0521be 288782009-09-10 Colin Watson <cjwatson@ubuntu.com>
28879
28880 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28881 visible in grub.cfg.
28882
50051d55 288832009-09-10 Colin Watson <cjwatson@ubuntu.com>
28884
28885 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28886 file.
28887
c0d34387 288882009-09-10 Felix Zielcke <fzielcke@z-51.de>
28889
28890 * docs/grub.cfg: Add an example menu entry for memtest86+.
28891
80a608f3 288922009-09-09 Felix Zielcke <fzielcke@z-51.de>
28893
a2094832 28894 * config.guess: Update to latest version from config git.
80a608f3 28895 * config.sub: Likewise.
28896
99423078 288972009-09-08 Colin Watson <cjwatson@ubuntu.com>
28898
28899 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28900 unknown-command case. Fixes bug #27320.
28901
44454e4c 289022009-09-08 Felix Zielcke <fzielcke@z-51.de>
28903
28904 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28905 `help' if the command exists.
28906
e30d87ad 289072009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28908
28909 * INSTALL: Require GCC 4.1.3 or later.
28910
9a86f1ec 289112009-09-06 Yves Blusseau <blusseau@zetam.org>
28912
28913 * Makefile.in (RMKFILES): add i386-qemu.rmk
28914 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28915 $(srcdir)/stamp-h.in
28916
7f26d466 289172009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28918
28919 * util/grub-probe.c (probe): Comment out buggy codepath, which
28920 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28921 should be re-enabled after 1.97.
28922
3a613259 289232009-09-05 Felix Zielcke <fzielcke@z-51.de>
28924
28925 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28926 find searches for.
28927
197f76c7 289282009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28931 unnecessary calls to grub_error.
28932
70ba68ce 289332009-09-04 Colin Watson <cjwatson@ubuntu.com>
28934
28935 * NEWS: Mention `keystatus' and Unicode fonts.
28936
4ff0d7a4 289372009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28938
28939 * configure.ac: Bump version to 1.97~beta2.
28940 * docs/version.texi: Likewise.
28941
77c55a87 289422009-09-03 Colin Watson <cjwatson@ubuntu.com>
28943
28944 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28945 containing unwind information in some cases where it previously did
28946 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28947 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28948 discussion.
28949
f79572cd 289502009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28951
28952 Embedding loadenv module into grub-emu
28953
28954 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28955 commands/loadenv.c
28956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28957 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28958 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28960 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28961 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28962
93a81088 289632009-09-03 Magnus Granberg <zorry@ume.nu>
28964
28965 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28966 include -fPIE in the default specs.
28967 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28968 to TARGET_CFLAGS.
28969
160034b2 289702009-09-03 Felix Zielcke <fzielcke@z-51.de>
28971
28972 * INSTALL: Note that GNU Bison 2.3 or later is required.
28973
087c07c4 289742009-09-03 Colin Watson <cjwatson@ubuntu.com>
28975
28976 * kern/i386/pc/startup.S: Fix typo.
28977
cbf978c0 289782009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28981 according to GCS.
28982
289832009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 28984
28985 * docs/grub.texi (Naming convention): Describe one-based partition
28986 numbering.
28987 (Device syntax): Likewise.
28988 (File name syntax): Likewise.
28989 (Block list syntax): Likewise.
28990 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28991 menu.lst.
28992 (File name syntax): Likewise.
28993 (Command-line and menu entry commands): Document acpi, blocklist,
28994 crc, export, insmod, keystatus, ls, set, and unset commands.
28995
f3e8cdfd 289962009-09-02 Colin Watson <cjwatson@ubuntu.com>
28997
28998 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28999 to avoid implying that only one of --shift, --ctrl, or --alt may be
29000 used.
29001
c0bc232b 290022009-09-02 Colin Watson <cjwatson@ubuntu.com>
29003
29004 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29005 rather than comparing against S_IFREG, which will almost never work.
29006
aa0f752d 290072009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29010 (write_blocklists): Likewise.
29011
ecb3166a 290122009-09-01 Colin Watson <cjwatson@ubuntu.com>
29013
29014 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29015 argument to grub_printf.
29016
c403a125 290172009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29018
29019 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29020 non GNU test.
31aba781 29021
b5e7312c 290222009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29023
29024 * kern/file.c (grub_file_read): Spelling fix
29025
fe00f472 290262009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29029 loading of headers in some cases.
29030
cc55302e 290312009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29032
29033 * configure.ac: Bump version to 1.97~beta1.
29034 * docs/version.texi: Likewise.
29035
5c90cdd2 290362009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29037
29038 * include/grub/i386/xnu.h: Add license header.
29039 include grub/err.h explicitly.
29040
c90edae4 290412009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29042
29043 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29044 to `ufs' in the vfs.root.mountfrom kernel parameter.
29045
d8888b5c 290462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29047
29048 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29049
29050 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29051 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29052
29053 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29054 `ARRAY_SIZE' macro.
29055
6f07b921 290562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29057
29058 * kern/file.c (grub_file_read): Check offset.
29059 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29060 * fs/jfs.c (grub_jfs_read_file): Likewise.
29061 * fs/ntfs.c (grub_ntfs_read): Likewise.
29062 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29063 * fs/minix.c (grub_minix_read_file): Correct offset check.
29064 * fs/ufs.c (grub_ufs_read_file): Likewise.
29065
b4f34077 290662009-08-28 Colin Watson <cjwatson@ubuntu.com>
29067
29068 * term/i386/pc/console.c (bios_data_area): Cast
29069 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29070
e7c69859 290712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29072
29073 1-bit optimised blitters.
29074
29075 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29076 prototype.
29077 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29078 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29079 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29080 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29081 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29082 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29083 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29084 function.
29085 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29086 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29087 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29088 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29089 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29090 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29091 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29092 when possible.
29093 * video/video.c (grub_video_get_blit_format): Return
29094 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29095
a57da43f 290962009-08-28 Colin Watson <cjwatson@ubuntu.com>
29097
29098 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29099 the first argument to grub_printf.
29100
4cbe67e5 291012009-08-28 Colin Watson <cjwatson@ubuntu.com>
291022009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29103
29104 Add `getkeystatus' terminal method. Add a new `keystatus' command
29105 to query it.
29106
29107 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29108 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29109 modifier key bitmasks.
29110 (struct grub_term_input): Add `getkeystatus' member.
29111 (grub_getkeystatus): Add prototype.
29112 * kern/term.c (grub_getkeystatus): New function.
29113
29114 * include/grub/i386/pc/memory.h
29115 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29116 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29117 Data Area layout.
29118 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29119 (grub_console_term_input): Set `getkeystatus' member.
29120 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29121 constants.
29122 (grub_usb_keyboard_getreport): Likewise.
29123 (grub_usb_keyboard_checkkey): Likewise.
29124 (grub_usb_keyboard_getkeystatus): New function.
29125 (grub_usb_keyboard_term): Set `getkeystatus' member.
29126
29127 * commands/keystatus.c: New file.
29128 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29129 (keystatus_mod_SOURCES): New variable.
29130 (keystatus_mod_CFLAGS): Likewise.
29131 (keystatus_mod_LDFLAGS): Likewise.
29132 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29133 commands/keystatus.c.
29134 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29136 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29138 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29139 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29140
6e2a9085 291412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29142
29143 Split befs.mod and afs.mod into *_be.mod and *.mod
29144
29145 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29146 (grub_fstest_SOURCES): Likewise.
29147 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29148 (afs_be_mod_SOURCES): New variable.
29149 (afs_be_mod_CFLAGS): Likewise.
29150 (afs_be_mod_LDFLAGS): Likewise.
29151 (befs_be_mod_SOURCES): Likewise.
29152 (befs_be_mod_CFLAGS): Likewise.
29153 (befs_be_mod_LDFLAGS): Likewise.
29154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29157 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29158 (grub_emu_SOURCES): Likewise.
29159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29160 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29161 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29162 * fs/afs_be.c: New file.
29163 * fs/befs_be.c: New file.
29164 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29165 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29166 (U16): Replaced with ...
29167 (grub_afs_to_cpu16): ...this. All users updated.
29168 (U32): Replaced with ...
29169 (grub_afs_to_cpu32): ...this. All users updated.
29170 (U64): Replaced with ...
29171 (grub_afs_to_cpu64): ...this. All users updated.
29172 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29173 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29174 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29175 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29176 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29177 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29178 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29179 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29180 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29181 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29182 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29183
32a71655 291842009-08-26 Bean <bean123ch@gmail.com>
29185
29186 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29187 64-bit number.
29188 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29189 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29190 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29191
552bf6c5 291922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29193
29194 NetBSD memory map support.
29195
29196 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29197 (grub_netbsd_btinfo_mmap_header): New structure.
29198 (grub_netbsd_btinfo_mmap_entry): Likewise.
29199 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29200
1ae2078c 292012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29202
29203 Enable bsd.mod on coreboot.
29204
29205 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29206 (bsd_mod_SOURCES): New variable.
29207 (bsd_mod_CFLAGS): Likewise.
29208 (bsd_mod_LDFLAGS): Likewise.
29209 (bsd_mod_ASFLAGS): Likewise.
29210 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29211 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29212
beefc598 292132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29214
29215 Cleanup NetBSD root support.
29216
29217 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29218 grub_bsd_get_device.
29219 Fix typo.
29220
3b76e68b 292212009-08-25 Felix Zielcke <fzielcke@z-51.de>
29222
29223 * util/grub.d/00_header.in: Move check for the video backend of
29224 gfxterm from here ...
29225 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29226 a suitable video backend.
29227
aea664ea 292282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29229
29230 Fix breakage in grub-setup.
29231
29232 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29233 "msdos_partition_map".
29234
ff747d50 292352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 Fix breakage in normal/auth.c.
29238
29239 * normal/auth.c (grub_iswordseparator): New function.
29240
e7e1f93f 292412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 Authentication support.
29244
29245 * commands/password.c: New file.
29246 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29247 (password_mod_SOURCES): New variable.
29248 (password_mod_CFLAGS): Likewise.
29249 (password_mod_LDFLAGS): Likewise.
29250 (normal_mod_SOURCES): Add normal/auth.c.
29251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29252 normal/auth.c.
29253 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29254 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29255 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29257 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29258 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29259 * include/grub/auth.h: New file.
29260 * include/grub/err.h (grub_err_t): New enum value
29261 GRUB_ERR_ACCESS_DENIED.
29262 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29263 'users'.
29264 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29265 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29266 users updated.
29267 * normal/auth.c: New file.
29268 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29269 (grub_cmdline_run): Don't allow to go to command line without
29270 authentication.
29271 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29272 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29273 menuentry without superuser rights.
29274 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29275 user isn't a superuser.
29276
70f1161d 292772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29278
29279 Save space by inlining misc.c functions.
29280
29281 * kern/misc.c (grub_iswordseparator): Made static.
29282 * kern/misc.c (grub_strcat): Moved from here ...
29283 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29284 * kern/misc.c (grub_strncat): Moved from here ...
29285 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29286 * kern/misc.c (grub_strcasecmp): Moved from here ...
29287 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29288 * kern/misc.c (grub_strncasecmp): Moved from here ...
29289 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29290 * kern/misc.c (grub_isalpha): Moved from here ...
29291 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29292 * kern/misc.c (grub_isdigit): Moved from here ...
29293 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29294 * kern/misc.c (grub_isgraph): Moved from here ...
29295 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
29296 * kern/misc.c (grub_tolower): Moved from here ...
29297 * include/grub/misc.h (grub_tolower): ... here. Inlined.
29298
48e40bff 292992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29300
29301 * script/sh/function.c (grub_script_function_find): Cut error message
29302 not to flood terminal.
29303 * script/sh/lexer.c (grub_script_yylex): Remove command line length
29304 limit.
29305 * script/sh/script.c (grub_script_arg_add): Duplicate string.
29306
c385bfc3 293072009-08-24 Colin Watson <cjwatson@ubuntu.com>
29308
29309 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
29310 `report' grub_uint8_t *.
29311 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
29312 Use a 50-millisecond timeout rather than just repeating
29313 grub_usb_keyboard_getreport 50 times.
29314 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
29315
2d21e3e8 293162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29317
29318 Rename *_partition_map to part_*
29319
29320 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
29321 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
29322 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
29323 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
29324 All users updated.
29325 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
29326 All users updated.
29327 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
29328 * util/grub-probe.c (probe_partmap): Don't transform partition name
29329 to get module name.
29330
dd103c4e 293312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 Fix OpenBSD and NetBSD support.
29334
29335 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
29336 memory address conflict.
29337 (OPENBSD_MMAP_ACPI): New definition.
29338 (OPENBSD_MMAP_NVS): Likewise.
29339 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
29340 and OPENBSD_MMAP_NVS.
29341 Add memory map terminator
29342 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 29343 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 29344
16c84d74 293452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 Let user specify NetBSD root device.
29348
29349 * loader/i386/bsd.c (netbsd_root): New variable.
29350 (netbsd_opts): New option 'root'.
29351 (NETBSD_ROOT_ARG): New macro.
29352 (grub_netbsd_boot): Use 'netbsd_root'.
29353 (grub_bsd_unload): Free 'netbsd_root'.
29354 (grub_cmd_netbsd): Fill 'netbsd_root'.
29355
adb29902 293562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 Support for 64-bit NetBSD.
29359
29360 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
29361 point when booting non-FreeBSD.
29362
f5ae9f74 293632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29364
29365 Support --no-smp and --no-acpi for NetBSD.
29366
29367 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
29368 (NETBSD_AB_NOACPI): Likewise.
29369 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
29370 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
29371
de74f136 293722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
29375 errors.
29376 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
29377 errors. Call grub_error when needed.
29378
e9a925da 293792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29380
29381 * commands/search.c (search_fs): Try searching without autoload first.
29382 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
29383 filesystem module explicitly for faster booting.
29384
5174302b 293852009-08-23 Colin Watson <cjwatson@ubuntu.com>
29386
29387 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29388
c8c80635 293892009-08-23 Colin Watson <cjwatson@ubuntu.com>
29390
29391 * util/grub.d/30_os-prober.in: Disable os-prober if
29392 `GRUB_DISABLE_OS_PROBER' was set to true.
29393
71acf5e5 293942009-08-23 Robert Millan <rmh.grub@aybabtu.com>
29395
29396 * partmap/pc.c: Rename to ...
29397 * partmap/msdos.c: ... this. Update all users.
29398 (grub_pc_partition_map): Rename to ...
29399 (grub_msdos_partition_map): ... this. Update all users.
29400
29401 * parttool/pcpart.c: Rename to ...
29402 * parttool/msdospart.c: ... this. Update all users.
29403
29404 * include/grub/pc_partition.h: Rename to ...
29405 * include/grub/msdos_partition.h: ... this. Update all users.
29406 (grub_pc_partition_bsd_entry): Rename to ...
29407 (grub_msdos_partition_bsd_entry): ... this. Update all users.
29408 (grub_pc_partition_disk_label): Rename to ...
29409 (grub_msdos_partition_disk_label): ... this. Update all users.
29410 (grub_pc_partition_entry): Rename to ...
29411 (grub_msdos_partition_entry): ... this. Update all users.
29412 (grub_pc_partition_mbr): Rename to ...
29413 (grub_msdos_partition_mbr): ... this. Update all users.
29414 (grub_pc_partition): Rename to ...
29415 (grub_msdos_partition): ... this. Update all users.
29416 (grub_pc_partition_is_empty): Rename to ...
29417 (grub_msdos_partition_is_empty): ... this. Update all users.
29418 (grub_pc_partition_is_extended): Rename to ...
29419 (grub_msdos_partition_is_extended): ... this. Update all users.
29420 (grub_pc_partition_is_bsd): Rename to ...
29421 (grub_msdos_partition_is_bsd): ... this. Update all users.
29422
29423 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
29424 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
29425 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
29426 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
29427 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
29428 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
29429 (gpt_mod_LDFLAGS): Rename to ...
29430 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
29431 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
29432 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
29433 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
29434 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
29435 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
29436 (part_gpt_mod_LDFLAGS): ... this.
29437 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
29438 `pcpart.mod' to `msdospart.mod'.
29439 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
29440 to ...
29441 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
29442 (msdospart_mod_LDFLAGS): ... this.
29443
c11fded5 294442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29445
29446 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
29447 (openbsd_opts): Likewise.
29448 (netbsd_opts): Likewise.
29449 (freebsd_flags): Added 0 terminator.
29450 (openbsd_flags): Likewise.
29451 (netbsd_flags): Likewise.
29452 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
29453 (grub_cmd_freebsd): Transformed into extended command.
29454 (grub_cmd_openbsd): Likewise.
29455 (grub_cmd_netbsd): Likewise.
29456 (cmd_freebsd): Changed type to grub_extcmd_t.
29457 (cmd_openbsd): Likewise.
29458 (cmd_netbsd): Likewise.
29459 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29460 grub_cmd_openbsd as extended commands.
29461 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29462 cmd_netbsd and cmd_openbsd
29463
11d1c769 294642009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29465
29466 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29467
7a9094e5 294682009-08-21 Pavel Roskin <proski@gnu.org>
29469
5496c37e 29470 * Makefile.in (install-local): When checking if a file is in the
29471 build directory, use "test -e" to detect symlinks.
29472
7a9094e5 29473 * Makefile.in (install-local): Remove all files in
29474 $(DESTDIR)$(pkglibdir) before installing new files there.
29475
e53cea11 294762009-08-18 Felix Zielcke <fzielcke@z-51.de>
29477
29478 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29479 grub-mkelfimage.
29480
9aced544 294812009-08-18 Felix Zielcke <fzielcke@z-51.de>
29482
29483 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29484 explicitly specified by the user.
29485
b7da6bab 294862009-08-18 Pavel Roskin <proski@gnu.org>
29487
29488 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29489 grub_uint8_t pointer for data.
29490 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29491 Likewise.
29492 * video/fb/fbutil.c: Remove unnecessary casts.
29493
19f1b335 294942009-08-17 Michal Suchanek <hramrach@centrum.cz>
29495
29496 VBE cleanup.
29497
29498 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29499 (grub_vbe_set_video_mode): Save active mode info
29500 only after setting the mode.
29501 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29502 second argument.
29503
2f467aa9 295042009-08-17 Michal Suchanek <hramrach@centrum.cz>
29505
29506 Rename variables for clarity.
29507
29508 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29509 (active_vbe_mode_info): ... this. All users updated.
29510 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29511 All users updated.
29512 (initial_mode): Rename to ...
29513 (initial_vbe_mode): ... this. All users updated.
29514 (mode_in_use): Rename to ..
29515 (vbe_mode_in_use): ... this. All users updated.
29516 (mode_list): Rename to ..
29517 (vbe_mode_list): ... this. All users updated.
29518 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29519 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29520 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29521 'mode_list_size' to 'vbe_mode_list_size'.
29522 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29523 'best_mode_info' to 'best_vbe_mode_info' and
29524 'best_mode' to 'best_vbe_mode'
29525
6025fcd7 295262009-08-17 Michal Suchanek <hramrach@centrum.cz>
29527
29528 Remove duplicate grub_video_fb_get_video_ptr.
29529
29530 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29531 (grub_video_fb_get_video_ptr): ... this.
29532 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29533 * video/fb/fbutil.c: Add comment about addressing.
29534 (get_data_ptr): Rename to ...
29535 (grub_video_fb_get_video_ptr): ... this. All users updated.
29536 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29537
cc8c6faf 295382009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29539
29540 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29541 grub_dprintf() that was just added.
29542
08aa61f0 295432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29544
29545 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29546 (DEFAULT_VIDEO_MODE): Remove macros.
29547 (grub_linux_boot): Remove assumption that Linux has FB support,
29548 and use "text" as default video mode.
29549
7cef4f75 295502009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29551
29552 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29553 grub_dprintf.
29554 * fs/fat.c (grub_fat_read_data): Likewise.
29555
e1f39873 295562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29557
29558 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29559 payload.
29560 (grub_module): Likewise.
29561
c166d79e 295622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29563
29564 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29565 mbi->cmdline but free playground.
29566
c60cee8e 295672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29568
29569 Handle group offset on UFS1.
29570
29571 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29572 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29573
c0d8b5d4 295742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29575
29576 Split ufs.mod into ufs1.mod and ufs2.mod.
29577
29578 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29579 (grub_fstest_SOURCES): Likewise.
29580 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29581 (ufs_mod_SOURCES): Remove.
29582 (ufs_mod_CFLAGS): Likewise.
29583 (ufs_mod_LDFLAGS): Likewise.
29584 (ufs1_mod_SOURCES): New variable.
29585 (ufs1_mod_CFLAGS): Likewise.
29586 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 29587 (ufs2_mod_SOURCES): New variable.
29588 (ufs2_mod_CFLAGS): Likewise.
29589 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 29590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29591 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29592 Likewise.
29593 (grub_emu_SOURCES): Likewise.
29594 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29595 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29596 (grub_setup_SOURCES): Likewise.
29597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29598 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29599 (grub_setup_SOURCES): Likewise.
29600 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29601 Likewise.
29602 * fs/ufs2.c: New file.
29603 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29604
d3539132 296052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29606
29607 Framebuffer split.
29608
29609 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29610 subsystem at the end.
29611 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29612 (video_fb_mod_SOURCES): New variable.
29613 (video_fb_mod_CFLAGS): Likewise.
29614 (video_fb_mod_LDFLAGS): Likewise.
29615 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29616 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29617 * video/i386/pc/vbeblit.c: Moved from here ...
29618 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29619 * video/i386/pc/vbefill.c: Moved from here ...
29620 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29621 * video/i386/pc/vbeutil.c: Moved from here ...
29622 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29623 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29624 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29625 * include/grub/i386/pc/vbefill.h: Moved from here ...
29626 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29627 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29628 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29629 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29630 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29631 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29632 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29633 (grub_video_adapter): Added 'get_info_and_fini'.
29634 (grub_video_get_info_and_fini): New prototype.
29635 (grub_video_set_mode): make modestring const char *.
29636 * loader/i386/linux.c (grub_linux_setup_video): Use
29637 grub_video_get_info_and_fini.
29638 (grub_linux_boot): Move modesetting just before booting.
29639 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29640 grub_video_get_info_and_fini.
29641 * video/i386/pc/vbe.c: Moved framebuffer part ...
29642 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29643 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29644 grub_video_fbstd_colors and grub_video_fb_set_palette.
29645 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29646 grub_video_fb_init.
29647 (grub_video_vbe_fini): Use grub_video_fb_fini.
29648 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29649 render_target and use grub_video_fb_set_active_render_target and
29650 grub_video_fb_set_palette.
29651 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29652 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29653 (grub_video_vbe_adapter): Use framebuffer.
29654 * video/video.c (grub_video_get_info_and_fini): New function.
29655 (grub_video_set_mode): Make modestring const char *.
29656 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29657 values are already initialised.
29658
d404ee56 296592009-08-14 Pavel Roskin <proski@gnu.org>
29660
29661 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29662 ABS and APPLE_CC.
29663 * boot/i386/pc/diskboot.S: Likewise.
29664 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29665 sectors allow compilation on MacOSX.
29666 * conf/i386-pc.rmk: Enable unconditional compilation of
29667 lnxboot.img.
29668
9a10df16 296692009-08-13 Colin Watson <cjwatson@ubuntu.com>
29670
29671 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29672 * util/grub.d/00_header.in: Enter interruptible sleep if
29673 GRUB_HIDDEN_TIMEOUT is set.
29674
be3c9ca7 296752009-08-13 Yves Blusseau <blusseau@zetam.org>
29676
29677 * include/grub/symbol.h: Add the LOCAL macro.
29678 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29679 starting with "L_".
29680
1f9e557e 296812009-08-13 Pavel Roskin <proski@gnu.org>
29682
9ca62843 29683 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29684 any modern compilers we support.
29685
1f9e557e 29686 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29687 Use local labels starting with "L_" so that Apple assembler
29688 knows they are local.
29689
81623db6 296902009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29691
29692 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29693 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29694 (bsd_kernel_types): ... this enum.
29695
29696 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29697 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29698 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29699
29700 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29701 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29702 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29703 messages.
29704
f5d35e7a 297052009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29706
29707 * util/grub-dumpdevtree: Moved from here ...
29708 * util/i386/efi/grub-dumpdevtree: ... to here.
29709 (hexify): New function. Converts a string to its hex version.
29710 Generate hex versions of "efi" and "device-properties" by calling
29711 hexify() on the ASCII strings rather than by hardcoding numbers.
29712
d1e1d527 297132009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * fs/jfs.c: Update copyright year.
29716
1ebbe064 297172009-08-08 Felix Zielcke <fzielcke@z-51.de>
29718
29719 * util/grub.d/00_header.in: Fix a comment.
29720 * util/grub.d/10_linux.in: Likewise.
29721 * util/grub.d/10_windows.in: Likewise.
29722 * util/grub.d/10_hurd.in: Likewise.
29723
a78c8d24 297242009-08-08 Felix Zielcke <fzielcke@z-51.de>
29725
29726 * util/grub-mkconfig.in: Allow the user to specify the used font
29727 with GRUB_FONT.
29728
29a6b9e8 297292009-08-08 Pavel Roskin <proski@gnu.org>
29730
b5f16cc4 29731 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29732 available, xfs.mod needs it now.
29733
2f5cb827 29734 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29735 the "g" modifier in sed when the intention is to strip something
29736 once. This fixes comparison of kernels with multiple dashes.
29737
29a6b9e8 29738 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29739 on it. Add missing space before closing bracket. Fix
29740 misleading formatting.
29741
892a3d98 297422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29743
29744 * docs/grub.texi: Major overhaul. Remove all sections that are
29745 specific to GRUB Legacy, or mostly composed of Legacy-specific
29746 information.
29747
ed94253f 297482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29749
29750 * docs/version.texi: New file. Provides version information for
29751 grub.texi.
29752
126d6628 297532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29754
29755 * docs/grub.texi: Update CVS information to SVN.
29756 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29757
998b5aa9 297582009-08-07 Felix Zielcke <fzielcke@z-51.de>
29759
29760 * util/grub-mkconfig.in: Remove a wrong `fi'.
29761
818e094a 297622009-08-07 Felix Zielcke <fzielcke@z-51.de>
29763
29764 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29765 (grub_jfs_uuid): New function.
29766 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29767
b969c52f 297682009-08-07 Felix Zielcke <fzielcke@z-51.de>
29769
29770 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29771 of it to ...
29772 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29773 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29774
7a4894cc 297752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29776
29777 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29778 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29779 Update all users.
29780
29781 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29782 not just "vmlinu[zx]".
29783 Moved from here ...
29784 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29785 all users.
29786
29787 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29788 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29789 all users.
29790
4e2171f8 297912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29792
29793 * util/grub.d/10_freebsd.in: Use an absolute device path for
29794 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29795
6dcfcb32 297962009-08-06 Felix Zielcke <fzielcke@z-51.de>
29797
29798 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29799 handling of multiple abstraction modules.
29800
f56a8756 298012009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29802
29803 Fix a bug resulting in black screen when loading Linux using a
29804 packed video mode.
29805
29806 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29807 function.
29808
29809 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29810 (grub_vbe_bios_getset_dac_palette_width): New function.
29811 (grub_vbe_bios_get_dac_palette_width)
29812 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29813 grub_vbe_bios_getset_dac_palette_width()).
29814
29815 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29816 check for return status.
29817 (grub_vbe_get_video_mode_info): When getting information for a packed
29818 mode (<= 8 bpp), obtain DAC palette width using
29819 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29820 {red,green,blue}_mark_size.
29821
222671b2 298222009-08-04 Felix Zielcke <fzielcke@z-51.de>
29823
ecb1a6d9 29824 * commands/search.c (options): Fix help output to match actual code.
222671b2 29825
f84114f5 298262009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29827
29828 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29829 of homegrown code.
29830
bd288a20 298312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 29832
29833 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29834 on XFS or ReiserFS.
29835
8aab5e25 298362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29837
29838 Support Apple partition map with sector size different from 512 bytes.
29839
29840 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29841 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29842 and 'apart.partmap_size'.
29843
6ad6258a 298442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
298452009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29846
29847 Fix cpuid command.
29848
29849 * commands/i386/cpuid.c (options): New variable.
29850 (grub_cmd_cpuid): Return real error.
29851 (GRUB_MOD_INIT(cpuid)): Declare options.
29852
67459bc6 298532009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29854
29855 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29856 valid.
29857
fbc6ab54 298582009-07-31 Bean <bean123ch@gmail.com>
29859
29860 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29861 log2_inode.
29862 (grub_fshelp_node): Move inode field to the end.
29863 (grub_xfs_data): Remove inode field.
29864 (grub_xfs_inode_block): Calculate inode size using sblock.
29865 (grub_xfs_inode_offset): Likewise.
29866 (grub_xfs_read_inode): Calculate inode size using sblock.
29867 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29868 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29869 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29870 to match inode size.
29871 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29872 not accessible when data is null.
29873 (grub_xfs_open): Likewise.
29874
f45d6cfc 298752009-07-31 Bean <bean123ch@gmail.com>
29876
29877 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29878 Don't change pv->disk if it's already set.
29879
29880 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29881 (grub_raid_register): ... here.
29882 (grub_raid_rescan): Removed.
29883
29884 * include/grub/raid.h (grub_raid_rescan): Removed.
29885
29886 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29887 (fstest): Replace grub_raid_rescan with module fini function followed
29888 by init function.
29889
29890 * util/grub-probe.c: Add include file <grub/raid.h>.
29891 (probe_raid_level): New function.
29892 (probe): Detect abstraction by walking the disk device, support two
29893 level of abstraction (LVM on RAID) when detecting partition map.
29894
24443b5a 298952009-07-31 Pavel Roskin <proski@gnu.org>
29896
29897 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29898 to grub_zalloc(), it was erroneous.
29899 Reported by Bean <bean123ch@gmail.com>
29900
a275d9e7 299012009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29902
29903 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 29904 embedding zone, not only the first one.
a275d9e7 29905
56c5a47f 299062009-07-29 Joe Auricchio <jauricchio@gmail.com>
29907
29908 * term/gfxterm.c (clear_char): New function.
29909 (grub_virtual_screen_setup): Use clear_char.
29910 (scroll_up): Likewise.
29911 (grub_virtual_screen_cls): Likewise.
29912
67bb323a 299132009-07-29 Felix Zielcke <fzielcke@z-51.de>
29914
29915 * util/deviceiter.c (get_acceleraid_disk_name): New static
29916 function.
29917 (grub_util_iterate_devices): Handle Accelraid devices.
29918 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29919
388a7c75 299202009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29921
29922 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29923 separator for the suggested gfxpayload string (';' collides with the
29924 parser and needs escaping).
29925
3bb7abcf 299262009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29927
29928 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29929 Clear direction flag before jumping to OS.
29930 (grub_multiboot2_real_boot): Likewise.
29931
2ddd36d7 299322009-07-28 Felix Zielcke <fzielcke@z-51.de>
29933
29934 * util/i386/pc/grub-install: Fix parsing of --disk-module
29935 option.
29936
c521b62b 299372009-07-28 Felix Zielcke <fzielcke@z-51.de>
29938
29939 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29940 when embedding.
29941
880e0a0c 299422009-07-26 Felix Zielcke <fzielcke@z-51.de>
29943
29944 * util/grub-mkconfig.in (package_version): New variable.
29945 Use it do display the version.
29946
2366e356 299472009-07-25 Felix Zielcke <fzielcke@z-51.de>
29948
29949 * kern/file.c (grub_file_open): Revert to previous check with
29950 grub_errno.
29951
7ad8c80e 299522009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29953
29954 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29955 from help line. It's out of sync with code.
29956
72b9658b 299572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29958
29959 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29960 entries on failed boot.
29961
77435277 299622009-07-25 Felix Zielcke <fzielcke@z-51.de>
29963
29964 * kern/file.c (grub_file_open): Fix an error check.
29965
fcaa8b21 299662009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29967
35d16c74 29968 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29969 partition map couldn't be identified.
fcaa8b21 29970
48904cd1 299712009-07-23 Pavel Roskin <proski@gnu.org>
29972
ef3c317f 29973 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29974 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29975 case of little endian words becomes just an optimization.
29976 Respect const modifier.
ad8ea1f4 29977 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 29978
48904cd1 29979 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29980 to avoid loss of upper bits if align is unsigned and shorter
29981 than addr.
29982
260c9a89 299832009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29984
29985 UUID support for UFS
29986
29987 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29988 (grub_ufs_uuid): New function.
29989 (grub_ufs_fs): add .uuid
29990
f76ce889 299912009-07-21 Pavel Roskin <proski@gnu.org>
29992
29993 * kern/dl.c (grub_dl_check_header): Make static.
29994
6a6cbcaf 299952009-07-21 Felix Zielcke <fzielcke@z-51.de>
29996
29997 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29998 add drivemap for Vista. It breaks Windows 7.
29999
cffcddb2 300002009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30001
30002 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30003 128 bytes
30004
1ef44b80 300052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30006
30007 Add BFS support
30008
30009 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30010 (grub_fstest_SOURCES): Likewise.
30011 (pkglib_MODULES): Add befs.mod.
30012 (befs_mod_SOURCES): New variable.
30013 (befs_mod_CFLAGS): Likewise.
30014 (befs_mod_LDFLAGS): Likewise.
30015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30016 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30017 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30018 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30019 (grub_setup_SOURCES): Likewise.
30020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30021 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30022 (grub_setup_SOURCES): Likewise.
30023 * fs/befs.c: New file.
30024 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30025 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30026 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30027 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30028 (B_KEY_INDEX_ALIGN): New declaration.
30029 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30030 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30031 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30032 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30033 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30034 (grub_afs_mount) [MODE_BFS]: Likewise.
30035 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30036 (grub_afs_fs): Use GRUB_AFS_FSNAME
30037 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30038 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30039 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30040 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30041
4f253044 300422009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30043
30044 * util/getroot.c (find_root_device): Add support for MacOSX.
30045 * util/hostdisk.c: Likewise.
30046
57a55913 300472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30048
30049 * font/font.c (find_glyph): Check whether a font is present to avoid
30050 segmentation fault.
75421ca9 30051
300522009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30053
30054 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30055
e98cd0c2 300562009-07-20 Pavel Roskin <proski@gnu.org>
30057
30058 * configure.ac: Trim excessively wordy excuses.
30059
1d2d169a 300602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30061
30062 Add symlink, mtime and label support to AtheFS.
30063
30064 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30065 (grub_afs_iterate_dir): Handle symlinks.
30066 (grub_afs_open): Use grub_afs_read_symlink.
30067 (grub_afs_dir): Likewise.
30068 Pass mtime.
30069 (grub_afs_label): New function.
30070 (grub_afs_fs): Add grub_afs_label.
30071 (grub_afs_read_symlink): New function.
30072
186f3189 300732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30074
30075 Fix AtheFS support.
30076
30077 * fs/afs.c: Fix comments style.
30078 (grub_afs_blockrun): Declare as packed.
30079 (grub_afs_datastream): Likewise.
30080 (grub_afs_bnode): Likewise.
30081 (grub_afs_btree): Likewise.
30082 (grub_afs_sblock): Likewise.
30083 Declare `name' as char.
30084 (grub_afs_inode): Declare as packed.
30085 Change void *vnode to grub_uint32_t unused.
30086 (grub_afs_iterate_dir): Check that key_size is positive.
30087 (grub_afs_mount): Don't read superblock twice.
75421ca9 30088 (grub_afs_dir): Don't free node in case of error,
186f3189 30089 grub_fshelp_find_file already handles this.
30090 (grub_afs_open): Likewise.
30091
5680109e 300922009-07-19 Pavel Roskin <proski@gnu.org>
30093
30094 * Makefile.in: Remove LIBLZO and enable_lzo.
30095 * conf/i386-pc.rmk: Remove lzo support.
30096 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30097 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30098 support.
30099 * kern/i386/pc/lzo1x.S: Remove.
30100 * kern/i386/pc/startup.S: Remove lzo support.
30101 * util/i386/pc/grub-mkimage.c: Likewise.
30102
ac70fa32 301032009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30104
30105 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30106 * fs/xfs.c (grub_xfs_dir): Likewise.
30107 * fs/afs.c (grub_afs_dir): Likewise.
30108 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30109 (grub_iso9660_open): Likewise.
30110 * fs/jfs.c (grub_jfs_open): Likewise.
30111 * fs/ext2.c (grub_ext2_dir): Likewise.
30112 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30113 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30114
eab58da2 301152009-07-16 Pavel Roskin <proski@gnu.org>
30116
d2838156 30117 * configure.ac: Never add "-c" to CFLAGS.
30118
55c70904 30119 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30120
43e6200c 30121 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30122 grub_cv_cc_efiemu should be used.
30123
ce7a733d 30124 * configure.ac: Typo fixes.
30125
eab58da2 30126 * kern/mm.c (grub_zalloc): New function.
30127 (grub_debug_zalloc): Likewise.
30128 * include/grub/mm.h: Declare grub_zalloc() and
30129 grub_debug_zalloc().
30130 * util/misc.c (grub_zalloc): New function.
30131 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30132 instead of grub_malloc(), remove unneeded initializations.
30133 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30134 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30135 * commands/parttool.c (grub_cmd_parttool): Likewise.
30136 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30137 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30138 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30139 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30140 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30141 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30142 (grub_cmd_efiemu_pnvram): Likewise.
30143 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30144 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30145 (grub_iso9660_iterate_dir): Likewise.
30146 * fs/jfs.c (grub_jfs_opendir): Likewise.
30147 * fs/ntfs.c (list_file): Likewise.
30148 (grub_ntfs_mount): Likewise.
30149 * kern/disk.c (grub_disk_open): Likewise.
30150 * kern/dl.c (grub_dl_load_core): Likewise.
30151 * kern/elf.c (grub_elf_file): Likewise.
30152 * kern/env.c (grub_env_context_open): Likewise.
30153 (grub_env_set): Likewise.
30154 (grub_env_set_data_slot): Likewise.
30155 * kern/file.c (grub_file_open): Likewise.
30156 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30157 * loader/i386/multiboot.c (grub_module): Likewise.
30158 * loader/xnu.c (grub_xnu_create_key): Likewise.
30159 (grub_xnu_create_value): Likewise.
30160 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30161 (read_config_file): Likewise.
30162 * normal/menu_entry.c (make_screen): Likewise.
30163 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30164 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30165 * script/sh/script.c (grub_script_parse): Likewise.
30166 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30167 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30168 * video/readers/png.c (grub_png_output_byte): Likewise.
30169 (grub_video_reader_png): Likewise.
30170
830afef7 301712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30172
30173 Enable all targets that can be built by default
30174
830afef7 30175 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30176 grub-mkfont and grub-fstest if they can be built
30177
ee293aee 301782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30179
30180 Fix hang and segmentation fault in grub-emu-usb
30181
30182 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30183 * util/usb.c (grub_libusb_devices): likewise
30184 (grub_libusb_init): rename to ...
30185 (GRUB_MOD_INIT (libusb)):...this
30186 (grub_libusb_fini): rename to ..
30187 (GRUB_MOD_FINI (libusb)):...this
30188 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30189 * include/grub/disk.h (grub_raid_init): removed, it's useless
30190 (grub_raid_fini): likewise
30191 (grub_lvm_init): likewise
30192 (grub_lvm_fini): likewise
30193 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30194 by grub_init_all
30195
94414221 301962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30197
30198 Fix libusb
30199
30200 * Makefile.in (LIBUSB): new macro
30201 * genmk.rb (Utility/print_tail): new method
30202 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30203 (top level): call util.print_tail at the end.
30204
59ade63d 302052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30206
30207 Make FreeBSD accept zpool.cache
30208
30209 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30210 type is /boot/zfs/zpool.cache
30211
a58da8c7 302122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30213
30214 Fix 64-bit efiemu
30215
30216 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30217 correct wrong typedef
30218 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30219
20591577 302202009-07-15 Pavel Roskin <proski@gnu.org>
30221
560ca572 30222 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30223 * kern/disk.c (struct grub_disk_cache): Likewise.
30224
e8e8e4fd 30225 * commands/probe.c (options): Typo fix.
30226
fde24e10 30227 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30228 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30229 accordingly.
30230 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30231
379c54c1 30232 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30233 the end of "Error" to make the message more readable.
30234
7bd8f5bf 30235 * boot/i386/pc/boot.S (kernel_segment): Remove.
30236 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30237 for destination.
30238
40b132c5 30239 * boot/i386/pc/boot.S (boot_version): Remove.
30240 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30241 Remove.
30242
20591577 30243 * include/grub/i386/pc/boot.h: Sort all offsets.
30244 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30245 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30246 * boot/i386/pc/boot.S: Assert location of every offset listed in
30247 include/grub/i386/pc/boot.h.
30248
2df32b2c 302492009-07-13 Pavel Roskin <proski@gnu.org>
30250
44b5d879 30251 * include/grub/i386/coreboot/machine.h: Rename
30252 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30253 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30254 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30255
17dc3751 30256 * kern/dl.c: Force native word size to suppress warnings when
30257 compiling grub-emu.
30258
2df32b2c 30259 * kern/device.c (grub_device_iterate): Change struct part_ent to
30260 hold the name, not a pointer to it. Use one grub_malloc() per
30261 partition, not two. Free partition_name if grub_malloc() fails.
30262 Set ents to NULL only before grub_partition_iterate() is called.
30263
75c59f59 302642009-07-11 Bean <bean123ch@gmail.com>
30265
30266 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30267 childname.
30268
0ae1bf88 302692009-07-10 Bean <bean123ch@gmail.com>
302702009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30271
30272 * kern/ieee1275/openfw.c (grub_children_iterate)
30273 (grub_devalias_iterate): Fix size evaluation for property or path
30274 strings, which was broken since r2132.
30275
8279cade 302762009-07-07 Pavel Roskin <proski@gnu.org>
30277
7d8a52d3 30278 * commands/search.c (search_file): Merge into ...
30279 (search_fs): ... this. Accept search type as argument.
30280 (grub_cmd_search): Pass search type to search_fs().
30281
25f9a05a 30282 * include/grub/util/console.h: New file.
30283 * util/console.c: Use it instead of grub/machine/console.h.
30284 * util/grub-emu.c: Likewise.
30285
8279cade 30286 * lib/arg.c (find_long_option): Remove.
30287 (find_long): Add `len' argument, make `s' const char *.
30288 (grub_arg_parse): Parse long options in place, not in a
30289 temporary buffer.
30290
4a11b60f 302912009-07-06 Pavel Roskin <proski@gnu.org>
30292
99f68041 30293 * commands/search.c (search_fs): Fix potential NULL pointer
30294 dereference.
30295
4a11b60f 30296 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30297 function pointer.
30298
e110f4de 302992009-07-06 Daniel Mierswa <impulze@impulze.org>
30300
30301 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30302 comparison.
30303
46eeb6a2 303042009-07-05 Pavel Roskin <proski@gnu.org>
30305
bab74958 30306 * include/grub/i386/linux.h (struct linux_kernel_params):
30307 Restore padding3, it's still needed.
30308
46eeb6a2 30309 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30310 FreeBSD.
30311 * util/osdetect.lua: Likewise.
30312
b4a1dc79 303132009-07-05 Bean <bean123ch@gmail.com>
30314
30315 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
30316
30317 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
30318 (grub_lua_getenv): Likewise.
30319 (grub_lua_setenv): Likewise.
30320 (save_errno): New function.
30321 (push_result): Likewise.
30322 (grub_lua_enum_device): Likewise.
30323 (grub_lua_enum_file): Likewise.
30324 (grub_lua_file_open): Likewise.
30325 (grub_lua_file_close): Likewise.
30326 (grub_lua_file_seek): Likewise.
30327 (grub_lua_file_read): Likewise.
30328 (grub_lua_file_getline): Likewise.
30329 (grub_lua_file_getsize): Likewise.
30330 (grub_lua_file_getpos): Likewise.
30331 (grub_lua_file_eof): Likewise.
30332 (grub_lua_file_exist): Likewise.
30333 (grub_lua_add_menu): Likewise.
30334
30335 * script/lua/grub_lua.h (isupper): New inline function.
30336 (islower): Likewise.
30337 (ispunct): Likewise.
30338 (isxdigit): Likewise.
30339 (strcspn): Change to normal function.
30340 (strpbkr): New function declaration.
30341 (memchr): Likewise.
30342
30343 * script/lua/grub_main.c (scan_str): New function.
30344 (strcspn): Likewise.
30345 (strpbrk): Likewise.
30346 (memchr): Likewise.
30347
30348 * script/lua/linit.c (lualibs): Enable the string library.
30349
30350 * util/osdetect.lua: New file.
30351
2da92295 303522009-07-04 Robert Millan <rmh.grub@aybabtu.com>
30353
30354 * include/grub/i386/linux.h (struct linux_kernel_params): Add
30355 `capabilities' member.
30356
b2582ec9 303572009-07-02 Pavel Roskin <proski@gnu.org>
30358
30359 * genparttoollist.sh: Add missing newline at the end.
30360
32622956 303612009-07-01 Pavel Roskin <proski@gnu.org>
30362
87a7339e 30363 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30364
d23af54e 30365 * util/hostdisk.c (open_device): Remove `const' from
30366 `sysctl_size', as sysctlbyname() can change it (in this case it
30367 doesn't actually happen).
30368
c94b18a9 30369 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30370 using signed long int constants.
30371
c6cd3ef0 30372 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30373 constant to avoid a warning on FreeBSD.
30374
0df63420 30375 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30376 where it's needed.
30377
999577f1 30378 * Makefile.in: Install include/grub/machine symlink.
30379
6f41557f 30380 * Makefile.in: When installing symlinks, use "cp -fR", which
30381 works on FreeBSD and MacOSX.
30382 From Yves Blusseau <cl7m42e02@sneakemail.com>
30383
c8d22988 30384 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30385 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30386
1b96e952 30387 * util/misc.c: Move grub_reboot() and grub_halt() ...
30388 * util/grub-emu.c: ... here. Make main_env static.
30389 * include/grub/util/misc.h: Remove main_env.
30390
2ef0084d 30391 * kern/mm.c: Use correct format to print size_t.
30392
32622956 30393 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
30394 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
30395 * kern/powerpc/dl.c: Likewise.
30396 * kern/sparc64/dl.c: Likewise.
30397 * kern/x86_64/dl.c: Likewise.
30398
3f7f0cd0 303992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30400
30401 Fix grub-emu build on sparc64-ieee1275.
30402
75421ca9 30403 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 30404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30405
211d06b5 304062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30407
30408 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
30409 (grub_reboot, grub_halt): New functions.
30410
30411 * util/i386/pc/misc.c: Delete. Update all users.
30412 * util/sparc64/ieee1275/misc.c: Likewise.
30413 * util/powerpc/ieee1275/misc.c: Likewise.
30414
aaf53e3c 304152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30416
30417 * conf/i386.rmk (setjmp_mod_SOURCES)
30418 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
30419 * conf/common.rmk (setjmp_mod_SOURCES)
30420 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
30421 to use $(target_cpu).
30422 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
30423 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
30424 * conf/powerpc-ieee1275.rmk: Likewise.
30425 * conf/sparc64-ieee1275.rmk: Likewise.
30426
30427 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
30428 $(target_cpu) for kern/$(target_cpu)/dl.c.
30429 * conf/i386-efi.rmk: Likewise.
30430 * conf/i386-ieee1275.rmk: Likewise.
30431 * conf/x86_64-efi.rmk: Likewise.
30432 * conf/i386-coreboot.rmk: Likewise.
30433 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
30434 $(target_cpu) for kern/$(target_cpu)/dl.c and for
30435 kern/$(target_cpu)/cache.S.
30436 * conf/sparc64-ieee1275.rmk: Likewise.
30437
a337130b 304382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30439
30440 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
30441 type to `grub_uint8_t', and adjust `padding9' accordingly.
30442
c6fe4d53 304432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30444
b09db61d 30445 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30446
c6fe4d53 30447 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30448 assembly in final jump, using register constraints.
30449
b09db61d 30450 (grub_linux_boot): For text mode, initialize `have_vga' using
30451 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
30452
30453 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
30454 right before the final jump.
30455
30456 Set `video_mode' to 0x3.
30457
30458 Document initialization of `video_page', `video_mode' and
30459 `video_ega_bx'.
30460
28333ad0 304612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30462
30463 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30464 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 30465 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 30466
02164e1b 304672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30468
30469 Fix build on Debian / sparc.
30470
30471 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30472
18b6c557 304732009-06-28 Pavel Roskin <proski@gnu.org>
30474
85f2aab6 30475 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30476 fix a warning.
30477
18b6c557 30478 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30479
ad760f81 304802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30483 `err'.
30484
87a4623b 304852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30486
30487 Revert r2338.
30488
30489 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30490 file can't be opened. grub_file_open() is already supposed to set
75421ca9 30491 grub_errno / grub_errmsg appropriately.
87a4623b 30492 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30493
8231fb77 304942009-06-27 Pavel Roskin <proski@gnu.org>
304952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 * include/grub/dl.h: Include grub/elf.h.
30498 (struct grub_dl): Add symtab field.
30499 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30500 GRUB_MODULES_MACHINE_READONLY.
30501 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30502 of the header for read-only modules.
30503 (grub_dl_unload): Free mod->symtab for read-only modules.
30504 * kern/i386/dl.c: Use mod->symtab.
30505 * kern/powerpc/dl.c: Likewise.
30506 * kern/sparc64/dl.c: Likewise.
30507 * kern/x86_64/dl.c: Likewise.
30508
30509 * conf/i386-qemu.rmk: New file.
30510 * kern/i386/qemu/startup.S: Likewise.
30511 * kern/i386/qemu/mmap.c: Likewise.
30512 * boot/i386/qemu/boot.S: Likewise.
30513 * include/grub/i386/qemu/time.h: Likewise.
30514 * include/grub/i386/qemu/serial.h: Likewise.
30515 * include/grub/i386/qemu/kernel.h: Likewise.
30516 * include/grub/i386/qemu/console.h: Likewise.
30517 * include/grub/i386/qemu/boot.h: Likewise.
30518 * include/grub/i386/qemu/init.h: Likewise.
30519 * include/grub/i386/qemu/machine.h: Likewise.
30520 * include/grub/i386/qemu/loader.h: Likewise.
30521 * include/grub/i386/qemu/memory.h: Likewise.
30522
30523 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30524 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30525 [qemu] (pkglib_IMAGES): Add `boot.img'.
30526 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30527 [qemu] (boot_img_FORMAT): New variables.
30528 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30529 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30530 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30531 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30532 [qemu] (kernel_img_FORMAT): New variables.
30533
30534 * configure.ac: Recognise `i386-qemu'.
30535
30536 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30537 (for no compression).
30538 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30539 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30540 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30541 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30542 ifdefs).
30543
97fe384e 305442009-06-27 Pavel Roskin <proski@gnu.org>
30545
30546 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30547 read.
30548 * efiemu/prepare32.c: Likewise.
30549 * efiemu/prepare64.c: Likewise.
30550
c402ab17 305512009-06-26 Pavel Roskin <proski@gnu.org>
30552
30553 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30554 * include/grub/elf.h: Define symbols without "32" or "64" based
30555 on GRUB_TARGET_WORDSIZE.
30556 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30557 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30558 ELF definitions.
30559 * efiemu/loadcore64.c: Likewise.
30560 * loader/i386/bsd32.c: Likewise.
30561 * loader/i386/bsd64.c: Likewise.
30562 * kern/dl.c: Remove own ELF definitions.
30563 * util/i386/efi/grub-mkimage.c: Likewise.
30564
9bbdfd4d 305652009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30566
30567 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30568 segment 0x0 unconditionally, because the reference generated by
30569 GAS is an absolute address.
30570
a42ce6e9 305712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30574 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30575
c952cf92 305762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30577
30578 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30579 indexes. Check for -f explicitly.
cc3752ad 30580 (search_file): Improve error message.
30581 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 30582
132a0a59 305832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30584
30585 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30586 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30587
387a140c 305882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30589
30590 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30591 * conf/i386-ieee1275.rmk: Likewise.
30592 * conf/i386-coreboot.rmk: Likewise.
30593
30594 * kern/i386/pc/startup.S (grub_stop): Remove function.
30595 * kern/i386/ieee1275/startup.S: Likewise.
30596 * kern/i386/coreboot/startup.S: Likewise.
30597 * kern/i386/misc.S (grub_stop): New function.
30598
41da9665 305992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30600
30601 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30602 * kern/i386/realmode.S (real_to_prot): ... to here.
30603
bf337234 306042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30605
30606 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30607 with `kernel.img'.
30608 (kernel_elf_SOURCES): Rename to ...
30609 (kernel_img_SOURCES): ... this.
30610 (kernel_elf_HEADERS): Rename to ...
30611 (kernel_img_HEADERS): ... this. Update all users.
30612 (kernel_elf_ASFLAGS): Rename to ...
30613 (kernel_img_ASFLAGS): ... this.
30614 (kernel_elf_CFLAGS): Rename to ...
30615 (kernel_img_CFLAGS): ... this.
30616 (kernel_elf_LDFLAGS): Rename to ...
30617 (kernel_img_LDFLAGS): ... this.
30618 * conf/i386-coreboot.rmk: Likewise.
30619 * conf/powerpc-ieee1275.rmk: Likewise.
30620
30621 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30622 with "kernel.img".
30623
f52196ff 306242009-06-21 Pavel Roskin <proski@gnu.org>
30625
c3cee413 30626 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30627 to match nested functions.
30628 * loader/sparc64/ieee1275/linux.c: Likewise.
30629
f52196ff 30630 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30631
58750afc 306322009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30633
30634 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30635 all i386 platforms.
30636
15355c7d 306372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30638
30639 Fix asm file handling on ELF, and remove workarounds.
30640
30641 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 30642 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 30643 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30644 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30645
3f3ec72b 306462009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30647
30648 Load BSD ELF modules
30649
30650 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30651 and loader/i386/bsd64.c
30652 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30653 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30654 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30655 (grub_freebsd_load_elfmodule32): New declaration
30656 (grub_freebsd_load_elfmoduleobj64): Likewise
30657 (grub_freebsd_load_elf_meta32): Likewise
30658 (grub_freebsd_load_elf_meta64): Likewise
30659 (grub_freebsd_add_meta): Likewise
30660 (grub_freebsd_add_meta_module): Likewise
30661 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30662 (grub_freebsd_add_meta_module): Likewise and move module-specific
30663 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30664 (grub_cmd_freebsd): Add elf-kernel specific parts
30665 based on grub_freebsd_add_meta_module
30666 (grub_cmd_freebsd_module): Add type parsing moved from
30667 grub_freebsd_add_meta_module
30668 (grub_cmd_freebsd_module_elf): New function
30669 (cmd_freebsd_module_elf): New variable
30670 (GRUB_MOD_INIT): Register freebsd_module_elf
30671 * loader/i386/bsd32.c: New file
30672 * loader/i386/bsd64.c: Likewise
30673 * loader/i386/bsdXX.c: Likewise
30674 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30675 (grub_elf64_load): Likewise
30676 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30677 All users updated
30678 (grub_elf64_load_hook_t): Likewise
30679
0db15301 306802009-06-21 Colin Watson <cjwatson@ubuntu.com>
30681
30682 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30683 variable.
30684 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30685 don't write a menu entry for recovery mode.
30686
546796c1 306872009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30688
30689 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30690 after it's no longer needed.
30691
cd7310d5 306922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30693
30694 * include/grub/i386/loader.h (grub_linux_prot_size)
30695 (grub_linux_tmp_addr, grub_linux_real_addr)
30696 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30697 GRUB_MACHINE_PCBIOS.
30698 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30699 common grub_util_info() call to ...
30700 (generate_image): ... here.
30701 Fix use of uninitialized memory, comparison of signed with
30702 unsigned integers and memory leak.
30703 Remove bogus module address message.
30704
ab32d3b5 307052009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30706
30707 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30708 grub_raid_register
30709 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30710
024ef597 307112009-06-19 Pavel Roskin <proski@gnu.org>
30712
30713 * configure.ac: Remove stray AC_MSG_CHECKING.
30714
3ac72b51 307152009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30716
30717 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 30718
e14cd814 307192009-06-18 Pavel Roskin <proski@gnu.org>
30720
30721 * conf/common.rmk: Add fs_file.mod.
30722 * disk/fs_file.c: New file.
30723 * include/grub/disk.h (enum grub_disk_dev_id): Add
30724 GRUB_DISK_DEVICE_FILE_ID.
30725
26586d98 307262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30727
30728 Fix build with Apple's toolchain. Part 2
30729
30730 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30731 a fake start
30732
26de2bcd 307332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30734
30735 Fix build with Apple's toolchain. Part 1
30736
30737 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30738 for long calls
30739 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 30740 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 30741 Apple's toolchain
30742
09b3490b 307432009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 Fix warnings
30746
30747 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30748 (decomp_block): initialize ch
30749 use grub_memcpy instead of memcpy
30750
c22a006a 307512009-06-17 Pavel Roskin <proski@gnu.org>
30752
d3638678 30753 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30754 version, use declarations needed to use vga_text as the startup
30755 console.
30756
c22a006a 30757 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30758 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30759 the kernel.
30760 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30761 and grub_at_keyboard_fini(), it's done on module load and
30762 unload.
30763
05b129e0 307642009-06-17 Felix Zielcke <fzielcke@z-51.de>
30765
30766 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30767 file can't be found.
30768 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30769
cf24ed9e 307702009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30771
30772 Fix newline handling
30773
30774 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 30775 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 30776 (grub_script_yylex): don't segfault on unterminated script
30777 newline terminates command and variable
30778
74aa8e4b 307792009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30780
30781 avoid double grub_adjust_range call. Bug reported by David Simner
30782
30783 * kern/disk.c (grub_disk_write): change to raw disk access before
30784 calling disk_read
30785
1bd265f3 307862009-06-17 Colin Watson <cjwatson@ubuntu.com>
30787
30788 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30789 spaces, for the benefit of help2man.
30790 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30791
a2d08c06 307922009-06-16 Pavel Roskin <proski@gnu.org>
30793
30794 * kern/i386/halt.c: Include grub/machine/init.h.
30795 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30796
b97bcb19 307972009-06-16 Felix Zielcke <fzielcke@z-51.de>
30798
30799 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30800 drivemap menuentry.
30801
0644f96c 308022009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30803
30804 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30805 `echo' command.
30806
3ef17a2e 308072009-06-16 Pavel Roskin <proski@gnu.org>
30808
30809 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30810 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30811 save %dx, we only need %dl and we never change it.
30812 * boot/i386/pc/cdboot.S: Don't set the root drive.
30813 * boot/i386/pc/pxeboot.S: Likewise.
30814 * include/grub/i386/pc/boot.h: Remove
30815 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30816 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30817 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30818 * kern/i386/pc/init.c (make_install_device): Remove references
30819 to grub_root_drive.
30820 * kern/i386/pc/startup.S: Likewise.
30821 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30822
693fe637 308232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30824
30825 xnu_uuid command
30826
30827 * commands/xnu_uuid.c: new file
30828 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30829 (xnu_uuid_mod_SOURCES): new variable
30830 (xnu_uuid_mod_CFLAGS): likewise
30831 (xnu_uuid_mod_LDFLAGS): likewise
30832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30833 * conf/i386-ieee1275.rmk: likewise
30834 * conf/i386-pc.rmk: likewise
30835 * conf/powerpc-ieee1275.rmk: likewise
30836 * conf/sparc64-ieee1275.rmk: likewise
30837 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30838
c9da87d0 308392009-06-16 Pavel Roskin <proski@gnu.org>
30840
30841 * configure.ac: Avoid '==' in test command, it's not portable.
30842
9c6f4596 308432009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30844
30845 Probe command
30846
30847 * commands/probe.c: new file
30848 * conf/common.rmk (pkglib_MODULES): add probe.mod
30849 (probe_mod_SOURCES): new variable
30850 (probe_mod_CFLAGS): likewise
30851 (probe_mod_LDFLAGS): likewise
30852 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30853 * conf/i386-ieee1275.rmk: likewise
30854 * conf/i386-pc.rmk: likewise
30855 * conf/powerpc-ieee1275.rmk: likewise
30856 * conf/sparc64-ieee1275.rmk: likewise
30857
70b7f9fd 308582009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30859
30860 Fix handling of string like \"hello\" and "a
30861 b"
30862
30863 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30864 (grub_script_yylex): fix parsing of quoting, escaping and newline
30865
71c79a6b 308662009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30867
dd74360c 30868 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 30869 handling
dd74360c 30870
0644f96c 308712009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 30872
30873 * util/grub-mkconfig.in: Fix parsing of --output option.
30874
e40893c3 308752009-06-12 Pavel Roskin <proski@gnu.org>
30876
30877 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30878 genmk.rb don't need to be generated or installed.
30879
3a1acfe2 308802009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30881
30882 * commands/i386/pc/drivemap_int13h.S: add more comments
30883
3a4575d4 308842009-06-11 Pavel Roskin <proski@gnu.org>
30885
0658e928 30886 * Makefile.in (uninstall): Uninstall manuals.
30887
ca0388f0 30888 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30889 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30890 and update-grub_lib in two places.
30891 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30892
e3b27c39 30893 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30894 a compiler warning.
30895
3a4575d4 30896 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30897 `entry_lo' to fix variable shadowing.
30898
af1f4f55 308992009-06-11 Christian Franke <franke@computer.org>
30900
30901 * kern/misc.c (__enable_execute_stack): Add missing return type
30902 to prevent gcc warning.
30903
5225e649 309042009-06-11 Felix Zielcke <fzielcke@z-51.de>
30905
30906 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30907
7d83bd47 309082009-06-11 Pavel Roskin <proski@gnu.org>
30909
c1cb63ba 30910 * Makefile.in: Don't rely on any scripts being executable.
30911 Always use $(SHELL) to run shell scripts.
30912
7d83bd47 30913 * configure.ac: Always define ___main if using -nostdlib. This
30914 fixes tests on Cygwin.
30915
948f48e7 309162009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30917
30918 UDF fix
30919
7d83bd47 30920 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 30921 is in bytes and not in blocks
7d83bd47 30922
8ada9bc1 309232009-06-11 Pavel Roskin <proski@gnu.org>
30924
30925 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30926 warning.
30927
25ad2323 309282009-06-11 Felix Zielcke <fzielcke@z-51.de>
30929
30930 * util/grub.d/30_os-prober.in: Fix a comment. Source
30931 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30932 to set the root device. Place drivemap command in the generated
30933 chain entry.
30934
e65acb0c 309352009-06-11 Pavel Roskin <proski@gnu.org>
30936
30937 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30938 have long been resolved.
30939
f285fe2d 309402009-06-11 Colin Watson <cjwatson@ubuntu.com>
30941
bd47b0b5 30942 * util/grub.d/10_linux.in: Capitalise "Linux".
30943
f285fe2d 30944 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30945
a0c62e4e 309462009-06-11 Pavel Roskin <proski@gnu.org>
30947
b6783cb2 30948 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30949 fix a gcc warning and ensure that the function won't ever exit.
30950
dde032e8 30951 * kern/i386/ieee1275/init.c: Add missing prototype for
30952 grub_stop_floppy().
30953
22cd079d 30954 * loader/ieee1275/multiboot2.c [__i386__]: Include
30955 grub/cpu/multiboot.h.
30956
a0c62e4e 30957 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30958 casts to short - they are not portable and cause warnings. Fix
30959 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30960
63963d17 309612009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30962
30963 Drivemap fixes
30964
30965 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30966 new function
30967 (grub_get_root_biosnumber_saved): new variable
30968 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30969 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 30970 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 30971 %dx after the call if necessary
30972 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30973 (boot_mod_SOURCES): remove
30974 (boot_mod_CFLAGS): remove
30975 (boot_mod_LDFLAGS): remove
30976 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30977 (boot_mod_SOURCES): new variable
30978 (boot_mod_CFLAGS): likewise
30979 (boot_mod_LDFLAGS): likewise
30980 * conf/i386-efi.rmk: likewise
30981 * conf/i386-ieee1275.rmk: likewise
30982 * conf/i386-pc.rmk: likewise
30983 * conf/powerpc-ieee1275.rmk: likewise
30984 * conf/sparc64-ieee1275.rmk: likewise
30985 * conf/x86_64-efi.rmk: likewise
30986 * include/grub/i386/pc/biosnum.h: new file
30987 * lib/i386/pc/biosnum.c: likewise
30988 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30989 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30990 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 30991
33abf7ae 309922009-06-10 Pavel Roskin <proski@gnu.org>
30993
5ac35b35 30994 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30995 Use separate variables. Read only the file size at the end, but
30996 not the checksum that we don't use.
30997
5c5215d5 30998 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30999 Adjust all callers.
31000
27d5fef7 31001 * kern/ieee1275/openfw.c: Remove libc includes.
31002 * kern/ieee1275/cmain.c: Likewise.
31003 * include/grub/ieee1275/ieee1275.h: Likewise.
31004
33abf7ae 31005 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31006 compiler warnings.
31007
19d50c2b 310082009-06-10 Felix Zielcke <fzielcke@z-51.de>
31009
31010 * Makefile.in: Remove all trailing whitespace.
31011 * conf/i386-pc.rmk: Likewise.
31012 * conf/powerpc-ieee1275.rmk: Likewise.
31013 * conf/sparc64-ieee1275.rmk: Likewise.
31014 * docs/grub.texi: Likewise.
31015 * docs/texinfo.tex: Likewise.
31016 * disk/fs_uuid.c: Likewise.
31017 * disk/lvm.c: Likewise.
31018 * disk/scsi.c: Likewise.
31019 * disk/ata.c: Likewise.
31020 * disk/ieee1275/ofdisk.c: Likewise.
31021 * disk/i386/pc/biosdisk.c: Likewise.
31022 * disk/host.c: Likewise.
31023 * disk/raid.c: Likewise.
31024 * disk/efi/efidisk.c: Likewise.
31025 * disk/usbms.c: Likewise.
31026 * disk/memdisk.c: Likewise.
31027 * disk/loopback.c: Likewise.
31028 * kern/powerpc/dl.c: Likewise.
31029 * kern/device.c: Likewise.
31030 * kern/dl.c: Likewise.
31031 * kern/sparc64/dl.c: Likewise.
31032 * kern/ieee1275/ieee1275.c: Likewise.
31033 * kern/term.c: Likewise.
31034 * kern/fs.c: Likewise.
31035 * kern/i386/dl.c: Likewise.
31036 * kern/i386/pc/startup.S: Likewise.
31037 * kern/i386/pc/init.c: Likewise.
31038 * kern/i386/pc/mmap.c: Likewise.
31039 * kern/i386/pc/lzo1x.S: Likewise.
31040 * kern/i386/ieee1275/init.c: Likewise.
31041 * kern/i386/realmode.S: Likewise.
31042 * kern/i386/tsc.c: Likewise.
31043 * kern/partition.c: Likewise.
31044 * kern/corecmd.c: Likewise.
31045 * kern/file.c: Likewise.
31046 * kern/efi/efi.c: Likewise.
31047 * kern/efi/init.c: Likewise.
31048 * kern/efi/mm.c: Likewise.
31049 * kern/main.c: Likewise.
31050 * kern/err.c: Likewise.
31051 * kern/env.c: Likewise.
31052 * kern/disk.c: Likewise.
31053 * kern/generic/millisleep.c: Likewise.
31054 * kern/generic/rtc_get_time_ms.c: Likewise.
31055 * kern/misc.c: Likewise.
31056 * kern/parser.c: Likewise.
31057 * genmk.rb: Likewise.
31058 * configure.ac: Likewise.
31059 * boot/i386/pc/diskboot.S: Likewise.
31060 * boot/i386/pc/pxeboot.S: Likewise.
31061 * boot/i386/pc/boot.S: Likewise.
31062 * boot/i386/pc/lnxboot.S: Likewise.
31063 * boot/i386/pc/cdboot.S: Likewise.
31064 * parttool/pcpart.c: Likewise.
31065 * video/readers/tga.c: Likewise.
31066 * video/video.c: Likewise.
31067 * video/bitmap.c: Likewise.
31068 * lib/envblk.c: Likewise.
31069 * lib/i386/setjmp.S: Likewise.
31070 * fs/xfs.c: Likewise.
31071 * fs/afs.c: Likewise.
31072 * fs/fat.c: Likewise.
31073 * fs/ntfs.c: Likewise.
31074 * fs/udf.c: Likewise.
31075 * fs/affs.c: Likewise.
31076 * fs/iso9660.c: Likewise.
31077 * fs/hfs.c: Likewise.
31078 * fs/fshelp.c: Likewise.
31079 * fs/ext2.c: Likewise.
31080 * fs/jfs.c: Likewise.
31081 * fs/reiserfs.c: Likewise.
31082 * fs/hfsplus.c: Likewise.
31083 * fs/minix.c: Likewise.
31084 * fs/cpio.c: Likewise.
31085 * fs/sfs.c: Likewise.
31086 * fs/ufs.c: Likewise.
31087 * efiemu/prepare.c: Likewise.
31088 * efiemu/loadcore_common.c: Likewise.
31089 * efiemu/runtime/efiemu.sh: Likewise.
31090 * efiemu/runtime/efiemu.S: Likewise.
31091 * efiemu/runtime/efiemu.c: Likewise.
31092 * efiemu/pnvram.c: Likewise.
31093 * efiemu/main.c: Likewise.
31094 * efiemu/i386/pc/cfgtables.c: Likewise.
31095 * efiemu/i386/loadcore64.c: Likewise.
31096 * efiemu/i386/loadcore32.c: Likewise.
31097 * efiemu/loadcore.c: Likewise.
31098 * efiemu/symbols.c: Likewise.
31099 * efiemu/mm.c: Likewise.
31100 * include/grub/autoefi.h: Likewise.
31101 * include/grub/datetime.h: Likewise.
31102 * include/grub/term.h: Likewise.
31103 * include/grub/hfs.h: Likewise.
31104 * include/grub/lvm.h: Likewise.
31105 * include/grub/i386/tsc.h: Likewise.
31106 * include/grub/i386/linux.h: Likewise.
31107 * include/grub/i386/xnu.h: Likewise.
31108 * include/grub/i386/efiemu.h: Likewise.
31109 * include/grub/i386/pc/biosdisk.h: Likewise.
31110 * include/grub/i386/pc/memory.h: Likewise.
31111 * include/grub/i386/pc/vbe.h: Likewise.
31112 * include/grub/parttool.h: Likewise.
31113 * include/grub/video.h: Likewise.
31114 * include/grub/memory.h: Likewise.
31115 * include/grub/fs.h: Likewise.
31116 * include/grub/partition.h: Likewise.
31117 * include/grub/xnu.h: Likewise.
31118 * include/grub/efi/api.h: Likewise.
31119 * include/grub/efi/pe32.h: Likewise.
31120 * include/grub/efi/memory.h: Likewise.
31121 * include/grub/multiboot.h: Likewise.
31122 * include/grub/usbdesc.h: Likewise.
31123 * include/grub/multiboot2.h: Likewise.
31124 * include/grub/acpi.h: Likewise.
31125 * include/grub/efiemu/efiemu.h: Likewise.
31126 * include/grub/disk.h: Likewise.
31127 * include/grub/ieee1275/ieee1275.h: Likewise.
31128 * include/grub/net.h: Likewise.
31129 * include/grub/machoload.h: Likewise.
31130 * include/grub/macho.h: Likewise.
31131 * include/multiboot.h: Likewise.
31132 * genmoddep.awk: Likewise.
31133 * normal/main.c: Likewise.
31134 * normal/menu_entry.c: Likewise.
31135 * normal/menu_viewer.c: Likewise.
31136 * normal/completion.c: Likewise.
31137 * normal/cmdline.c: Likewise.
31138 * normal/misc.c: Likewise.
31139 * normal/datetime.c: Likewise.
31140 * bus/usb/usbtrans.c: Likewise.
31141 * bus/usb/ohci.c: Likewise.
31142 * bus/usb/uhci.c: Likewise.
31143 * bus/usb/usb.c: Likewise.
31144 * mmap/efi/mmap.c: Likewise.
31145 * mmap/i386/pc/mmap_helper.S: Likewise.
31146 * mmap/i386/pc/mmap.c: Likewise.
31147 * mmap/i386/mmap.c: Likewise.
31148 * mmap/i386/uppermem.c: Likewise.
31149 * mmap/mmap.c: Likewise.
31150 * commands/acpi.c: Likewise.
31151 * commands/echo.c: Likewise.
31152 * commands/blocklist.c: Likewise.
31153 * commands/loadenv.c: Likewise.
31154 * commands/usbtest.c: Likewise.
31155 * commands/boot.c: Likewise.
31156 * commands/parttool.c: Likewise.
31157 * commands/search.c: Likewise.
31158 * commands/cat.c: Likewise.
31159 * commands/i386/pc/play.c: Likewise.
31160 * commands/i386/pc/drivemap.c: Likewise.
31161 * commands/i386/pc/vbeinfo.c: Likewise.
31162 * commands/i386/pc/acpi.c: Likewise.
31163 * commands/i386/pc/vbetest.c: Likewise.
31164 * commands/ls.c: Likewise.
31165 * commands/cmp.c: Likewise.
31166 * commands/test.c: Likewise.
31167 * commands/efi/acpi.c: Likewise.
31168 * commands/gptsync.c: Likewise.
31169 * commands/help.c: Likewise.
31170 * partmap/amiga.c: Likewise.
31171 * partmap/apple.c: Likewise.
31172 * partmap/acorn.c: Likewise.
31173 * partmap/pc.c: Likewise.
31174 * partmap/sun.c: Likewise.
31175 * partmap/gpt.c: Likewise.
31176 * script/sh/lexer.c: Likewise.
31177 * script/sh/function.c: Likewise.
31178 * font/font.c: Likewise.
31179 * font/font_cmd.c: Likewise.
31180 * loader/powerpc/ieee1275/linux.c: Likewise.
31181 * loader/efi/chainloader.c: Likewise.
31182 * loader/multiboot_loader.c: Likewise.
31183 * loader/macho.c: Likewise.
31184 * loader/i386/multiboot.c: Likewise.
31185 * loader/i386/linux.c: Likewise.
31186 * loader/i386/pc/linux.c: Likewise.
31187 * loader/i386/pc/multiboot2.c: Likewise.
31188 * loader/i386/pc/chainloader.c: Likewise.
31189 * loader/i386/pc/xnu.c: Likewise.
31190 * loader/i386/bsd_trampoline.S: Likewise.
31191 * loader/i386/efi/linux.c: Likewise.
31192 * loader/i386/multiboot_elfxx.c: Likewise.
31193 * loader/i386/bsd_helper.S: Likewise.
31194 * loader/i386/bsd.c: Likewise.
31195 * loader/i386/linux_trampoline.S: Likewise.
31196 * loader/i386/xnu_helper.S: Likewise.
31197 * loader/i386/xnu.c: Likewise.
31198 * loader/i386/bsd_pagetable.c: Likewise.
31199 * loader/i386/multiboot_helper.S: Likewise.
31200 * loader/xnu.c: Likewise.
31201 * loader/xnu_resume.c: Likewise.
31202 * io/gzio.c: Likewise.
31203 * term/efi/console.c: Likewise.
31204 * term/terminfo.c: Likewise.
31205 * term/ieee1275/ofconsole.c: Likewise.
31206 * term/i386/pc/serial.c: Likewise.
31207 * term/i386/pc/vesafb.c: Likewise.
31208 * term/i386/pc/vga.c: Likewise.
31209 * term/usb_keyboard.c: Likewise.
31210 * term/gfxterm.c: Likewise.
31211 * aclocal.m4: Likewise.
31212 * util/lvm.c: Likewise.
31213 * util/grub.d/30_os-prober.in: Likewise.
31214 * util/grub.d/10_hurd.in: Likewise.
31215 * util/console.c: Likewise.
31216 * util/grub-macho2img.c: Likewise.
31217 * util/grub-probe.c: Likewise.
31218 * util/hostfs.c: Likewise.
31219 * util/i386/pc/grub-mkimage.c: Likewise.
31220 * util/i386/pc/grub-setup.c: Likewise.
31221 * util/i386/efi/grub-mkimage.c: Likewise.
31222 * util/grub-mkconfig.in: Likewise.
31223 * util/raid.c: Likewise.
31224 * util/resolve.c: Likewise.
31225 * util/grub-mkdevicemap.c: Likewise.
31226 * util/grub-emu.c: Likewise.
31227 * util/getroot.c: Likewise.
31228 * util/hostdisk.c: Likewise.
31229 * util/usb.c: Likewise.
31230 * util/grub-editenv.c: Likewise.
31231 * util/misc.c: Likewise.
31232
d2d49665 312332009-06-10 Felix Zielcke <fzielcke@z-51.de>
31234
31235 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31236 `genparttoollist.sh'.
31237 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31238 Add `*.sh' to the list find searches for and change `mdate.sh'
31239 to `mdate-sh'.
31240
fe052e37 312412009-06-10 Pavel Roskin <proski@gnu.org>
31242
2763ac18 31243 * include/grub/multiboot2.h: Provide compatibility defines for
31244 multiboot2.h.
31245 * include/multiboot2.h: Include stdint.h only if needed, using
31246 angle brackets.
31247 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31248 grub/multiboot2.h.
31249 * loader/ieee1275/multiboot2.c: Likewise.
31250 * loader/multiboot2.c: Likewise.
31251 * loader/multiboot_loader.c: Likewise.
31252
437e6adc 31253 * configure.ac: Use -nostdlib when probing for the target. It
31254 should not be required to have libc for the target.
31255
06a6836c 31256 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31257 they fail without libc headers for the target.
31258 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31259 exports.
31260 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31261 preprocessor conditionals.
31262
fe052e37 31263 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31264 build system doesn't need to be aware of the tar.c internals.
31265
afd22553 312662009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31267
afd22553 31268 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31269
6b787c4f 312702009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31271
31272 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31273 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31274
312752009-06-09 Felix Zielcke <fzielcke@z-51.de>
31276
31277 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 31278 aren't available if ata.mod gets used.
6b787c4f 31279
473d1e45 312802009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31281
473d1e45 31282 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31283 initialising controller.
473d1e45 31284 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31285
255a27d4 312862009-06-08 Felix Zielcke <fzielcke@z-51.de>
31287
31288 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31289 to choose between ata and biosdisk module on i386-pc.
31290
473d1e45 312912009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31292
d55842d8 31293 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31294 Subclass and Programming Interface fields in terms of the 3 byte
31295 Class Code register.
31296 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31297
fa5db0b1 31298 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
31299 interface is OHCI. Add grub_dprintf for symmetry with
31300 bus/usb/uhci.c.
31301 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
31302 interface is UHCI. Add interf variable for programming
31303 interface. Print interface with class/subclass.
31304
c0947beb 31305 * bus/usb/ohci.c: Set interf with correct field.
31306
69da8877 31307 * bus/usb/uhci.c: Remove unneeded doubled lines.
31308 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
31309 Remove whitespace inside comment.
31310
9e172e30 313112009-06-08 Robert Millan <rmh.grub@aybabtu.com>
31312
31313 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
31314 as fallback an equivalent option without depth.
31315
de65ee2b 313162009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31317
31318 Not fail if unable to retrieve C/H/S on LBA disks
31319
473d1e45 31320 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 31321 if unable to retrieve C/H/S on LBA disks
31322
b57ea2c9 313232009-06-08 Pavel Roskin <proski@gnu.org>
31324
31325 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
31326 about aliasing.
31327
af361263 313282009-06-08 Felix Zielcke <fzielcke@z-51.de>
31329
31330 * Makefile.in (uninstall): Remove all $lib_DATA files.
31331
4c9ec6b3 313322009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31333
31334 Bugfix: install on partitionless device
31335
31336 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
31337 is a whole disk
31338
e76fc924 313392009-06-08 Felix Zielcke <fzielcke@z-51.de>
31340
31341 * Makefile.in (uninstall): Remove all $include_DATA files.
31342
ba5a0d05 313432009-06-08 Felix Zielcke <fzielcke@z-51.de>
31344
31345 * commands/true.c: New file. Implement the true and false commands.
31346 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
31347 (true_mod_SOURCES): New variable.
31348 (true_mod_CFLAGS): Likewise.
31349 (true_mod_LDFLAGS): Likewise.
31350
c8048e32 313512009-06-05 Colin D Bennett <colin@gibibit.com>
31352
31353 Optimized font character lookup using binary search instead of linear
31354 search. Fonts now are required to have the character index ordered by
31355 code point.
31356
31357 * font/font.c (load_font_index): Verify that fonts have ordered
31358 character indices.
31359 (find_glyph): Use binary search instead of linear search to find a
31360 character in a font.
31361
408305be 313622009-06-05 Michael Scherer <misc@mandriva.org>
31363
31364 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
31365 uses case sensitive btree.
31366 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
31367 only for case insensitive filesystems.
31368
8ee1e0d9 313692009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
31370
31371 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
31372 * conf/common.rmk (search_mod_CFLAGS): likewise
31373
a9966eb1 313742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31375
473d1e45 31376 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 31377 compensate a compiler bug
31378
9e7100fb 313792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31380
473d1e45 31381 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 31382 instead of '\b'
473d1e45 31383
ede21d71 313842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31385
31386 Definitions for creating asm symbols with Apple's CC
31387
31388 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
31389 [APPLE_CC] (VARIABLE): likewise
31390
9dbf7653 313912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31392
31393 Disable lnxboot.img when compiled
31394 with Apple's CC
31395
31396 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
31397 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
31398 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
31399 [! APPLE_CC] (CODE_LENG): skip
31400 [! APPLE_CC] (setup_sects): likewise
31401 [! APPLE_CC]: skip filling
473d1e45 31402
e93cdc3d 314032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31404
31405 Address in trampolines based on 32-bit registers when compiled
31406 with Apple's CC
31407
473d1e45 31408 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 31409 for addresses
31410 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31411
6c688477 314122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31413
31414 Avoid aliases when compiling with Apple's CC for PCBIOS machine
31415
31416 * kern/misc.c [APPLE_CC] (memcpy): new function
31417 [APPLE_CC] (memmove): likewise
31418 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 31419 (memcpy): define alias conditionally on !APPLE_CC
6c688477 31420 (memset): likewise
31421 (abort): likewise
31422 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
31423 APPLE_CC are defined
31424 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
31425 (grub_assert_fail): make prototype conditional
31426
e37ffc5c 314272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31428
31429 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31430
473d1e45 31431 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31432 grub-macho2img
e37ffc5c 31433 (CLEANFILES): add grub-macho2img
31434 (grub_macho2img_SOURCES): new variable
31435 * kern/i386/pc/startup.S (bss_start): new variable
31436 (bss_end): likewise
31437 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
31438 * util/grub-macho2img.c: new file
31439
cf00df31 314402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31441
31442 Use objconv when compiling with Apple's CC
31443
31444 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
31445 (efiemu64.o): likewise
31446 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
31447 when compiling with Apple's CC
31448 (efiemu64_s.o): likewise
31449 * configure.ac: check for objconv when compiling with Apple's CC
31450 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 31451
d119a20c 314522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31453
31454 Define segment as well as section when compiling with
31455 Apple's CC
31456
31457 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
31458 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
31459 (efiemu_convert_pointer): likewise
31460 (efiemu_set_virtual_address_map): likewise
31461 (efiemu_convert_pointer): likewise
31462 (efiemu_getcrc32): likewise
31463 (init_crc32_table): likewise
31464 (reflect): likewise
31465 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31466 (GRUB_MOD_DEP): likewise
473d1e45 31467
c8600122 314682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31469
31470 Allow a compilation without -mcmodel=large
31471
31472 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31473 when compiled without -mcmodel=large
473d1e45 31474 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 31475 without -mcmodel=large
473d1e45 31476 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 31477 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 31478
e8df1d4e 314792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31480
31481 Remove nested functions in efiemu core
31482
31483 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 31484
cc6c3ac1 314852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31486
31487 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31488
31489 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31490 temporary storage
473d1e45 31491 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31492 using Apple's CC
cc6c3ac1 31493 (grub_cpu_is_tsc_supported): likewise
31494 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 31495
3e325901 314962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31497
31498 Absolute addressing through constant with Apple's cc
31499
31500 * kern/i386/pc/startup.S: Define necessary constants
31501 and address through it when using ABS with Apple's CC
31502 * boot/i386/pc/diskboot.S: likewise
31503 * boot/i386/pc/boot.S: likewise
31504 * boot/i386/pc/lnxboot.S: likewise
31505 * boot/i386/pc/cdboot.S: likewise
31506 * mmap/i386/pc/mmap_helper.S: likewise
31507 * commands/i386/pc/drivemap_int13h.S: likewise
31508
2b167a72 315092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31510
31511 Check if compiler is apple cc
31512
31513 * Makefile.in (ASFLAGS): new variable
31514 (TARGET_ASFLAGS): likewise
31515 (TARGET_MODULE_FORMAT): likewise
31516 (TARGET_APPLE_CC): likewise
31517 (OBJCONV): likewise
31518 (TARGET_IMG_CFLAGS): likewise
31519 (TARGET_CPPFLAGS): add includedir
31520 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31521 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31522 Check for linker script only if compiler isn't Apple's CC
31523 (TARGET_MODULE_FORMAT): set
31524 (TARGET_APPLE_CC): likewise
31525 (TARGET_ASFLAGS): likewise
31526 (ASFLAGS): likewise
31527 Check for objcopy only if compiler isn't Apple's CC
31528 Check for BSS symbol only if compiler isn't Apple's CC
31529 * genmk.rb: adapt nm options if we use Apple's utils
31530 * aclocal.m4 (grub_apple_cc): new test
31531 (grub_apple_target_cc): likewise
473d1e45 31532
fb14123e 315332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31534
31535 Simplify sed expressions and improve awk
31536
31537 * Makefile.in (install-local): simplify sed expression
31538 * gencmdlist.sh: likewise
31539 * genmoddep.awk: avoid adding module as a dependency of itself
31540
5b889789 315412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31542
31543 Add missing start symbols
31544
31545 * boot/i386/pc/boot.S: add start
fb14123e 31546 * boot/i386/pc/pxeboot.S: likewise
473d1e45 31547
fd2bf2e3 315482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31549
31550 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 31551
31552 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 31553 (relocate_addresses): consider both r_addend and value at offset
31554 (make_mods_section): zerofill modinfo and header
31555 (convert_elf): write prefix here
473d1e45 31556
5389763d 315572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31558
31559 Use .asciz instead of .string
31560
31561 * i386/pc/diskboot.S: use .asciz instead of .string
31562 * i386/pc/boot.S: likewise
31563 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31564 (GRUB_MOD_NAME): likewise
473d1e45 31565
3eb5ed4e 315662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31567
31568 gfxpayload support
31569
31570 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31571 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31572 (grub_video_setup): remove
31573 (grub_video_set_mode): new prototype
31574 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31575 (vid_mode): remove
31576 (linux_vesafb_res): compile only on PCBIOS
31577 (grub_linux_boot): support gfxpayload
31578 * loader/i386/pc/xnu.c (video_hook): new function
31579 (grub_xnu_set_video): support gfxpayload
31580 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31581 (DEFAULT_VIDEO_HEIGHT): likewise
31582 (DEFAULT_VIDEO_FLAGS): likewise
31583 (DEFAULT_VIDEO_MODE): new definition
31584 (video_hook): new function
31585 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 31586 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 31587 loading xnu
31588 * video/video.c (grub_video_setup): removed
473d1e45 31589 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 31590 grub_video_setup
31591
4b0e1143 315922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31593
31594 Avoid calling biosdisk in drivemap
31595
31596 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31597 (revparse_biosdisk): likewise
31598 (list_mappings): derive name from id directly
31599 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 31600
fda6cb98 316012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31602
31603 Script fixes
31604
31605 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31606 (grub_lexer_param): add tokenonhold
31607 (grub_script_create_cmdline): remove cmdline. All callers updated
31608 (grub_script_function_create): make functionname
31609 grub_script_arg. All callers updated
31610 (grub_script_execute_argument_to_string): new prototype
31611 * kern/parser.c (state_transitions): reorder
31612 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 31613 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 31614 make global
31615 (grub_script_execute_cmdline): use new format
31616 * script/sh/function.c (grub_script_function_create): make functionname
31617 grub_script_arg. All callers updated
473d1e45 31618 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 31619 (grub_script_yylex): remove
31620 (grub_script_yylex2): renamed to ...
31621 (grub_script_yylex): ...renamed
31622 parse the expressions like a${b}c
31623 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31624 (GRUB_PARSER_TOKEN_VAR): remove
31625 (GRUB_PARSER_TOKEN_NAME): likewise
31626 ("if"): declare as typeless
31627 ("while"): likewise
31628 ("function"): likewise
31629 ("else"): likewise
31630 ("then"): likewise
31631 ("fi"): likewise
31632 (text): remove
31633 (argument): likewise
31634 (script): accept empty scripts and make exit on error
31635 (arguments): use GRUB_PARSER_TOKEN_ARG
31636 (function): likewise
31637 (command): move error handling to script
31638 (menuentry): move grub_script_lexer_ref before
473d1e45 31639 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 31640 argument. All callers updated
31641
f4448a07 316422009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31643
31644 Prevent GRUB from probing floppies during boot.
31645
31646 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31647 * commands/search.c (options): Add --no-floppy.
31648 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31649 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31650 --no-floppy when searching for UUIDs.
31651
2bf5885a 316522009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 Simplify the code duplication in commands/search.c.
31655
31656 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31657 (search_fs): ... this. Update all users.
31658
f6fd460a 316592009-06-03 Felix Zielcke <fzielcke@z-51.de>
31660
31661 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31662
cbb3c83e 316632009-05-28 Pavel Roskin <proski@gnu.org>
31664
57788cfd 31665 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31666 Remove the original symlink explicitly.
31667
cbb3c83e 31668 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31669 just one slash. That's how grub_fshelp_find_file() does it.
31670
cd0d5e30 316712009-05-26 Pavel Roskin <proski@gnu.org>
31672
f0f8bbe2 31673 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31674 to `str'.
31675
cd0d5e30 31676 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31677 possibly unused.
31678
8c2cab51 316792009-05-25 Christian Franke <franke@computer.org>
31680
31681 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31682 register.
31683 (grub_atapi_identify): Add wait after drive select.
31684 (grub_ata_identify): Do more strict status register check before
31685 calling grub_atapi_identify (). Suppress error message if status
31686 register is 0x00 after command failure. Add status register
31687 check after PIO read to avoid bogus identify due to stuck DRQ.
31688 Thanks to Pavel Roskin for testing.
31689 (grub_device_initialize): Remove unsafe status register check.
31690 Thanks to 'phcoder' for problem report and patch.
31691 Prevent sign extension in debug message.
31692
230c0ad6 316932009-05-23 Colin D Bennett <colin@gibibit.com>
31694
31695 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31696 definition file, and functions defined in `normal/menu.c' have had
31697 their prototypes moved to `include/grub/menu.h' for consistency.
31698
31699 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31700 from normal.h.
31701 (grub_menu_get_entry): Likewise.
31702 (grub_menu_get_timeout): Likewise.
31703 (grub_menu_set_timeout): Likewise.
31704 (grub_menu_execute_entry): Likewise.
31705 (grub_menu_execute_with_fallback): Likewise.
31706 (grub_menu_entry_run): Likewise.
31707
31708 * include/grub/normal.h: Re-ordered and grouped function
31709 prototypes by file that the function is defined in.
31710 (grub_menu_execute_callback): Removed; moved to menu.h.
31711 (grub_menu_get_entry): Likewise.
31712 (grub_menu_get_timeout): Likewise.
31713 (grub_menu_set_timeout): Likewise.
31714 (grub_menu_execute_entry): Likewise.
31715 (grub_menu_execute_with_fallback): Likewise.
31716 (grub_menu_entry_run): Likewise.
31717 (grub_menu_addentry): Renamed from this ...
31718 (grub_normal_add_menu_entry): ... to this.
31719
31720 * normal/main.c (grub_menu_addentry): Renamed from this ...
31721 (grub_normal_add_menu_entry): ... to this.
31722
31723 * script/sh/execute.c (grub_script_execute_menuentry): Update
31724 reference to renamed grub_menu_addentry function.
31725
861f03a5 317262009-05-23 Felix Zielcke <fzielcke@z-51.de>
31727
31728 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31729
96b1619a 317302009-05-22 Pavel Roskin <proski@gnu.org>
31731
bf6a5fb2 31732 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31733 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31734 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31735 compiling for the i386 targets, but not for the utilities.
31736
96b1619a 31737 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31738 to grub_uint8_t.
31739 (grub_root_drive): Likewise.
31740 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31741 remove alignment.
31742 (grub_root_drive): Change size to byte.
31743 (grub_start_addr): Remove.
31744 (grub_end_addr): Likewise.
31745 (grub_apm_bios_info): Likewise.
31746
b729776b 317472009-05-21 Felix Zielcke <fzielcke@z-51.de>
31748
31749 * normal/i386: Remove.
31750 * normal/powerpc: Likewise.
31751 * normal/sparc64: Likewise.
31752 * normal/x86_64: Likewise.
31753
0a15ce80 317542009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31755
31756 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 31757 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 31758 * loader/i386/xnu_helper.S: Likewise
d6da58e6 31759
33db9015 317602009-05-18 Colin D Bennett <colin@gibibit.com>
31761
d6da58e6 31762 Display error messages when parsing a Lua statement fails.
31763 Previously, executing a syntactically invalid statement like
31764 ")foo" or "bar;" would silently fail.
33db9015 31765
31766 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 31767 (grub_lua_parse_line): Improved reporting of Lua parser and
31768 execution errors.
33db9015 31769
46422c89 317702009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31771
31772 Remove -Werror which causes build to fail on some systems
31773
31774 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31775 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31776 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 31777
22f53a96 317782009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31779
31780 trampoline for linux on 64-bit platform
31781
18f547ad 31782 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31783 loader/i386/efi/linux_trampoline.S
31784 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 31785 declaration
d6da58e6 31786 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31787 here
22f53a96 31788 * loader/i386/linux_trampoline.S: moved here
d6da58e6 31789 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31790 trampoline
22f53a96 31791 (jumpvector): removed
31792 (grub_linux_trampoline_start): new declaration
31793 (grub_linux_trampoline_end): likewise
31794 (grub_linux_boot): use trampoline when on 64-bit platform
31795 * loader/i386/linux.c: likewise
31796
cb5a0f40 317972009-05-16 Pavel Roskin <proski@gnu.org>
31798
31799 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31800 const to avoid a warning.
31801 (grub_lua_setenv): Likewise.
31802 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31803 lmsg to fix a warning.
31804
334f2c28 318052009-05-16 Felix Zielcke <fzielcke@z-51.de>
31806
31807 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 31808 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31809 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31810 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31811 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31812 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31813 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31814 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 31815
59e5d3ec 318162009-05-16 Felix Zielcke <fzielcke@z-51.de>
31817
31818 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31819
9d87a1ba 318202009-05-16 Bean <bean123ch@gmail.com>
31821
31822 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31823 (lua_mod_SOURCES): New variable.
31824 (lua_mod_CFLAGS): Likewise.
31825 (lua_mod_LDFLAGS): Likewise.
31826
31827 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31828 (setjmp_mod_SOURCES): New variable.
31829 (setjmp_mod_CFLAGS): Likewise.
31830 (setjmp_LDFLAGS): Likewise.
31831
31832 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31833 (setjmp_mod_SOURCES): New variable.
31834 (setjmp_mod_CFLAGS): Likewise.
31835 (setjmp_LDFLAGS): Likewise.
31836
31837 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31838 (setjmp_mod_SOURCES): New variable.
31839 (setjmp_mod_CFLAGS): Likewise.
31840 (setjmp_LDFLAGS): Likewise.
31841
31842 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31843 (setjmp_mod_SOURCES): New variable.
31844 (setjmp_mod_CFLAGS): Likewise.
31845 (setjmp_LDFLAGS): Likewise.
31846
31847 * normal/i386/setjmp.S: Moved from here ...
31848 * lib/i386/setjmp.S: ... Moved here
31849 * normal/x86_64/setjmp.S: Moved from here ...
31850 * lib/x86_64/setjmp.S: ... Moved here
31851 * normal/powerpc/setjmp.S: Moved from here ...
31852 * lib/powerpc/setjmp.S: ... Moved here
31853 * normal/sparc64/setjmp.S: Moved from here ...
31854 * lib/sparc64/setjmp.S: ... Moved here
31855
31856 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31857 returns_twice in mingw.
31858
31859 * script/lua/grub_lib.c: New file.
31860 * script/lua/grub_lib.h: Likewise.
31861 * script/lua/grub_lua.h: Likewise.
31862 * script/lua/grub_main.c: Likewise.
31863 * script/lua/lapi.c: Likewise.
31864 * script/lua/lapi.h: Likewise.
31865 * script/lua/lauxlib.c: Likewise.
31866 * script/lua/lauxlib.h: Likewise.
31867 * script/lua/lbaselib.c: Likewise.
31868 * script/lua/lcode.c: Likewise.
31869 * script/lua/lcode.h: Likewise.
31870 * script/lua/ldblib.c: Likewise.
31871 * script/lua/ldebug.c: Likewise.
31872 * script/lua/ldebug.h: Likewise.
31873 * script/lua/ldo.c: Likewise.
31874 * script/lua/ldo.h: Likewise.
31875 * script/lua/ldump.c: Likewise.
31876 * script/lua/lfunc.c: Likewise.
31877 * script/lua/lfunc.h: Likewise.
31878 * script/lua/lgc.c: Likewise.
31879 * script/lua/lgc.h: Likewise.
31880 * script/lua/linit.c: Likewise.
31881 * script/lua/liolib.c: Likewise.
31882 * script/lua/llex.c: Likewise.
31883 * script/lua/llex.h: Likewise.
31884 * script/lua/llimits.h: Likewise.
31885 * script/lua/lmathlib.c: Likewise.
31886 * script/lua/lmem.c: Likewise.
31887 * script/lua/lmem.h: Likewise.
31888 * script/lua/loadlib.c: Likewise.
31889 * script/lua/lobject.c: Likewise.
31890 * script/lua/lobject.h: Likewise.
31891 * script/lua/lopcodes.c: Likewise.
31892 * script/lua/lopcodes.h: Likewise.
31893 * script/lua/loslib.c: Likewise.
31894 * script/lua/lparser.c: Likewise.
31895 * script/lua/lparser.h: Likewise.
31896 * script/lua/lstate.c: Likewise.
31897 * script/lua/lstate.h: Likewise.
31898 * script/lua/lstring.c: Likewise.
31899 * script/lua/lstring.h: Likewise.
31900 * script/lua/lstrlib.c: Likewise.
31901 * script/lua/ltable.c: Likewise.
31902 * script/lua/ltable.h: Likewise.
31903 * script/lua/ltablib.c: Likewise.
31904 * script/lua/ltm.c: Likewise.
31905 * script/lua/ltm.h: Likewise.
31906 * script/lua/lua.h: Likewise.
31907 * script/lua/luaconf.h: Likewise.
31908 * script/lua/lualib.h: Likewise.
31909 * script/lua/lundump.c: Likewise.
31910 * script/lua/lundump.h: Likewise.
31911 * script/lua/lvm.c: Likewise.
31912 * script/lua/lvm.h: Likewise.
31913 * script/lua/lzio.c: Likewise.
31914 * script/lua/lzio.h: Likewise.
31915
5e898c9d 319162009-05-16 Bean <bean123ch@gmail.com>
31917
31918 * include/grub/kernel.h (grub_module_header_types): Add type
31919 OBJ_TYPE_CONFIG.
31920
31921 * kern/main.c (grub_load_config): New function.
31922 (grub_main): Call grub_load_config to read boot config.
31923
31924 * grub-mkimage (generate_image): New parameter config_path.
31925 (options): New option --config.
31926 (main): Parse --config option, and pass it to generate_image.
31927
cf353a47 319282009-05-14 Christian Franke <franke@computer.org>
31929
31930 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31931 This fixes build on Cygwin.
31932
3834887f 319332009-05-14 Pavel Roskin <proski@gnu.org>
31934
31935 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31936 jump. This saves two bytes, so the typical case of 2 swapped
31937 drives would fit 32 bytes.
31938
8090fc01 319392009-05-13 Pavel Roskin <proski@gnu.org>
31940
ac963883 31941 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31942 grub_uint32_t to avoid a warning.
31943
8090fc01 31944 * loader/i386/linux.c (allocate_pages): When assigning
31945 real_mode_mem, cast through grub_size_t to fix a warning. The
31946 code already makes sure that the value would fit a pointer.
31947 (grub_linux_setup_video): Cast render_target->data to
31948 grub_size_t to fix a warning.
31949
18f547ad 319502009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 31951
31952 * commands/i386/pc/drivemap.c: New file - implement drivemap
31953 command.
31954 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31955 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31956
6f6a8b28 319572009-05-13 Pavel Roskin <proski@gnu.org>
31958
31959 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31960 embedding_area_exists.
31961
15fbf4c4 319622009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31963
31964 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31965 it easier to understand / work with.
59978c8a 31966 Improve warning messages for cases where there's no embedding area,
31967 or when it is too small (or core.img too large).
15fbf4c4 31968
238e871f 319692009-05-13 Pavel Roskin <proski@gnu.org>
31970
0ab3a9a4 31971 * loader/i386/pc/multiboot2.c: Add necessary includes for
31972 grub_multiboot2_real_boot().
31973
a2c8c5f8 31974 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31975 PX record is always little-endian. We only need the lower 2
31976 bytes of the mode.
31977
faec96af 31978 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31979 facilitate code reuse.
31980 (grub_cpio_mount): Use "struct head", not a char buffer. This
31981 fixes a warning reported by gcc 4.4.
31982
238e871f 31983 * kernel/disk.c (grub_disk_read): Use void pointer for the
31984 buffer.
31985 (grub_disk_write): Use const void pointer for the buffer.
31986 Adjust all callers. Remove unnecessary casts.
31987
901d2f0c 319882009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31989
31990 * util/i386/pc/grub-install.in: Update copyright year.
31991
18f547ad 319922009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 31993
31994 gptsync
31995
31996 * commands/gptsync.c: new file
31997 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31998 (gptsync_mod_SOURCES): new variable
31999 (gptsync_mod_CFLAGS): likewise
32000 (gptsync_mod_LDFLAGS): likewise
18f547ad 32001 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 32002 new definition
32003 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32004 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32005 * conf/i386-ieee1275.rmk: likewise
32006 * conf/i386-pc.rmk: likewise
32007 * conf/powerpc-ieee1275.rmk: likewise
32008
b4ba690a 320092009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32010
32011 Fixed grub-emu
32012
32013 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32014 (grub_dl_ref): likewise
32015
317e1a44 320162009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32017
32018 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32019 split in two functions (one for msdos and one for gpt).
32020
041b8094 320212009-05-08 Pavel Roskin <proski@gnu.org>
32022
752473c2 32023 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32024 not modified.
32025
041b8094 32026 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32027 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32028 Initialize them with -1. Add sanity check for bad1. Eliminate
32029 nerr variable.
32030
172800ce 320312009-05-08 David S. Miller <davem@davemloft.net>
32032
32033 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32034
29aa5e81 320352009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32036
32037 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32038 existence.
29aa5e81 32039
96613b62 320402009-05-05 Felix Zielcke <fzielcke@z-51.de>
32041
32042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32043 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32044
eef73c8a 320452009-05-05 David S. Miller <davem@davemloft.net>
32046
32047 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32048
119494b5 320492009-05-05 Pavel Roskin <proski@gnu.org>
32050
32051 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32052 of grub_dl_ref() and grub_dl_unref().
32053 * commands/parttool.c: Remove preprocessor conditionals around
32054 grub_dl_ref() and grub_dl_unref().
32055 * fs/affs.c: Likewise.
32056 * fs/afs.c: Likewise.
32057 * fs/cpio.c: Likewise.
32058 * fs/ext2.c: Likewise.
32059 * fs/fat.c: Likewise.
32060 * fs/hfs.c: Likewise.
32061 * fs/hfsplus.c: Likewise.
32062 * fs/iso9660.c: Likewise.
32063 * fs/jfs.c: Likewise.
32064 * fs/minix.c: Likewise.
32065 * fs/ntfs.c: Likewise.
32066 * fs/reiserfs.c: Likewise.
32067 * fs/sfs.c: Likewise.
32068 * fs/udf.c: Likewise.
32069 * fs/ufs.c: Likewise.
32070 * fs/xfs.c: Likewise.
32071 * include/grub/dl.h: Likewise.
32072 * loader/xnu.c: Likewise.
32073
de5fd76e 320742009-05-04 Pavel Roskin <proski@gnu.org>
32075
32076 * commands/acpi.c: Remove unused variable my_mod.
32077 * partmap/amiga.c: Likewise.
32078 * partmap/apple.c: Likewise.
32079 * partmap/gpt.c: Likewise.
32080 * partmap/pc.c: Likewise.
32081 * partmap/sun.c: Likewise.
32082 * term/gfxterm.c: Likewise.
32083 * term/i386/pc/vesafb.c: Likewise.
32084 * term/i386/pc/vga.c: Likewise.
32085
983598ad 320862009-05-04 David S. Miller <davem@davemloft.net>
32087
32088 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32089 pointer args to grub_ieee1275_get_property().
32090
8aadec43 32091 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32092
9554b15e 32093 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32094 devices, and do not traverse down under controller nodes.
32095
67e23c90 32096 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32097 (grub_ofdisk_open): Use it to un-escape "," characters.
32098 * kern/disk.c (find_part_sep): New.
32099 (grub_disk_open): Use it to find the first non-escaped ','
32100 character in the disk name.
32101 * util/ieee1275/devicemap.c (escape_of_path): New.
32102 (grub_util_emit_devicemap_entry): Use it.
32103 * util/sparc64/ieee1275/grub-install.in: Update script to
32104 strip partition specifiers properly by not triggering on
32105 '\' escaped ',' characters.
32106
74bfdd2f 321072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32108
32109 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32110 to 0x300.
32111 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32112 resolutions.
32113 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32114 on documentation from Wikipedia).
32115
4241d2b1 321162009-05-04 Pavel Roskin <proski@gnu.org>
32117
32118 * disk/ata.c: Spelling fixes.
32119 * disk/raid.c: Likewise.
32120 * disk/usbms.c: Likewise.
32121 * disk/dmraid_nvidia.c: Likewise.
32122 * kern/ieee1275/openfw.c: Likewise.
32123 * kern/ieee1275/init.c: Likewise.
32124 * kern/ieee1275/cmain.c: Likewise.
32125 * boot/i386/pc/cdboot.S: Likewise.
32126 * video/readers/png.c: Likewise.
32127 * video/i386/pc/vbe.c: Likewise.
32128 * fs/udf.c: Likewise.
32129 * fs/hfs.c: Likewise.
32130 * fs/reiserfs.c: Likewise.
32131 * efiemu/runtime/efiemu.c: Likewise.
32132 * efiemu/main.c: Likewise.
32133 * efiemu/mm.c: Likewise.
32134 * include/grub/elf.h: Likewise.
32135 * include/grub/xnu.h: Likewise.
32136 * include/grub/usbdesc.h: Likewise.
32137 * include/grub/usb.h: Likewise.
32138 * include/grub/script_sh.h: Likewise.
32139 * include/grub/lib/LzmaEnc.h: Likewise.
32140 * include/grub/efiemu/efiemu.h: Likewise.
32141 * include/grub/command.h: Likewise.
32142 * normal/menu.c: Likewise.
32143 * normal/main.c: Likewise.
32144 * normal/datetime.c: Likewise.
32145 * bus/usb/uhci.c: Likewise.
32146 * mmap/i386/uppermem.c: Likewise.
32147 * mmap/mmap.c: Likewise.
32148 * commands/acpi.c: Likewise.
32149 * commands/test.c: Likewise.
32150 * partmap/apple.c: Likewise.
32151 * font/font.c: Likewise.
32152 * loader/sparc64/ieee1275/linux.c: Likewise.
32153 * loader/macho.c: Likewise.
32154 * loader/i386/bsd_trampoline.S: Likewise.
32155 * loader/i386/bsd.c: Likewise.
32156 * loader/xnu.c: Likewise.
32157 * term/i386/pc/vesafb.c: Likewise.
32158 * term/usb_keyboard.c: Likewise.
32159 * util/resolve.c: Likewise.
32160 * util/getroot.c: Likewise.
32161
0cfc0083 321622009-05-04 Felix Zielcke <fzielcke@z-51.de>
32163
32164 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32165
7c1d00cd 321662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32167
32168 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32169 build error.
32170
b01f0548 321712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32172
32173 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32174 parameter only available on BIOS.
32175
ecc3eb22 321762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32177
32178 Removed wrong semicolon in declaration
32179
32180 * grub/misc.h (grub_dprintf): remove semicolon
32181
112972a9 321822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32183
32184 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32185 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32186 is done by grub_cmd_linux() now).
32187 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32188 restore video to text mode.
32189 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32190 indicates lack of "vga=" parameter. "vga=0" is mapped to
32191 `GRUB_LINUX_VID_MODE_NORMAL'.
32192
afd5c115 321932009-05-04 Felix Zielcke <fzielcke@z-51.de>
32194
32195 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32196 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32197 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32198 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32199 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32200 `grub_script.tab.c'.
32201
32202 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32206 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32207
faa517ce 32208 * Makefile.in: Remove duplicated 2008 in Copyright line.
32209
ae0c0bdc 322102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32211
473d1e45 32212 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 32213 unconditionally.
32214 * include/grub/util/misc.h (grub_util_warn): New declaration.
32215
32216 * util/i386/pc/grub-install.in: Understand --force and pass it down
32217 to grub-setup.
32218
32219 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32220 down to setup().
32221 (setup): Improve error messages and add warnings when requested to
32222 install in odd layouts. Refuse to install using blocklists unless
32223 --force was set.
32224
18f547ad 322252009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32226
32227 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32228
6d260daa 322292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32230
32231 Updated copyright year
32232
32233 * fs/hfsplus.c: updated copyright year
18f547ad 32234
69f853f8 322352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32236
32237 HFS+ UUID
32238
18f547ad 32239 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32240 in the space previously used by unused3
32241 (grub_hfsplus_uuid): new function
32242 (grub_hfsplus_fs): added uuid field
32243
4c402e73 322442009-05-03 Pavel Roskin <proski@gnu.org>
32245
32246 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32247 suppress warnings. It's no longer needed.
32248 * disk/host.c: Likewise.
32249 * disk/ata_pthru.c: Likewise.
32250 * disk/loopback.c: Likewise.
32251 * hook/datehook.c: Likewise.
32252 * parttool/pcpart.c: Likewise.
32253 * fs/i386/pc/pxe.c: Likewise.
32254 * fs/ntfscomp.c: Likewise.
32255 * efiemu/main.c: Likewise.
32256 * mmap/mmap.c: Likewise.
32257 * commands/crc.c: Likewise.
32258 * commands/hexdump.c: Likewise.
32259 * commands/hdparm.c: Likewise.
32260 * commands/acpi.c: Likewise.
32261 * commands/echo.c: Likewise.
32262 * commands/minicmd.c: Likewise.
32263 * commands/blocklist.c: Likewise.
32264 * commands/memrw.c: Likewise.
32265 * commands/loadenv.c: Likewise.
32266 * commands/usbtest.c: Likewise.
32267 * commands/lsmmap.c: Likewise.
32268 * commands/boot.c: Likewise.
32269 * commands/parttool.c: Likewise.
32270 * commands/configfile.c: Likewise.
32271 * commands/search.c: Likewise.
32272 * commands/ieee1275/suspend.c: Likewise.
32273 * commands/cat.c: Likewise.
32274 * commands/i386/pc/pxecmd.c: Likewise.
32275 * commands/i386/pc/play.c: Likewise.
32276 * commands/i386/pc/halt.c: Likewise.
32277 * commands/i386/pc/vbeinfo.c: Likewise.
32278 * commands/i386/pc/vbetest.c: Likewise.
32279 * commands/lspci.c: Likewise.
32280 * commands/date.c: Likewise.
32281 * commands/handler.c: Likewise.
32282 * commands/ls.c: Likewise.
32283 * commands/test.c: Likewise.
32284 * commands/cmp.c: Likewise.
32285 * commands/efi/loadbios.c: Likewise.
32286 * commands/efi/fixvideo.c: Likewise.
32287 * commands/halt.c: Likewise.
32288 * commands/help.c: Likewise.
32289 * commands/reboot.c: Likewise.
32290 * hello/hello.c: Likewise.
32291 * script/sh/main.c: Likewise.
32292 * loader/xnu.c: Likewise.
32293 * term/terminfo.c: Likewise.
32294 * term/i386/pc/serial.c: Likewise.
32295 * term/usb_keyboard.c: Likewise.
32296
515b5079 322972009-05-03 David S. Miller <davem@davemloft.net>
32298
32299 * normal/menu.c: Include grub/parser.h
32300
dfc31a22 323012009-05-03 Pavel Roskin <proski@gnu.org>
32302
2fee74f1 32303 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
32304 not char*.
32305 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
32306 Suggested by Javier Martín <lordhabbit@gmail.com>
32307
dfc31a22 32308 * util/i386/pc/grub-mkrescue.in: Allow for the case when
32309 efiemu??.o doesn't exist.
32310 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
32311 copying.
32312
18f547ad 323132009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 32314
32315 FreeBSD 64-bit support
32316
18f547ad 32317 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 32318 and loader/i386/bsd_trampoline.S
32319 (bsd_mod_ASFLAGS): new variable
32320 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
32321 (FREEBSD_MODTYPE_KERNEL64): likewise
32322 (grub_bsd64_trampoline_start): likewise
32323 (grub_bsd64_trampoline_end): likewise
32324 (grub_bsd64_trampoline_selfjump): likewise
32325 (grub_bsd64_trampoline_gdt): likewise
32326 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
32327 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
32328 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
32329 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 32330 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 32331 of "attrib" member
32332 * loader/i386/bsd_pagetable.c: new file
32333 * loader/i386/bsd_trampoline.S: likewise
32334 * loader/i386/bsd.c (ALIGN_QWORD): new macro
32335 (ALIGN_VAR): likewise
32336 (entry_hi): new variable
32337 (kern_end_mdofs): likewise
32338 (is_64bit): likewise
32339 (grub_freebsd_add_meta): use ALIGN_VAR
32340 (grub_e820_mmap): new declaration
32341 (grub_freebsd_add_mmap): new function
32342 (grub_freebsd_add_meta_module): support 64 bit kernels
32343 (grub_freebsd_list_modules): use ALIGN_VAR
32344 (gdt_descriptor): new declaration
32345 (grub_freebsd_boot): support 64 bit kernels
32346 (grub_bsd_elf64_hook): new function
32347 (grub_bsd_load_elf): support elf64
32348
038c5720 323492009-05-03 Bean <bean123ch@gmail.com>
32350
32351 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
32352 after we get the result of if statement.
32353
fc45fb58 323542009-05-03 Bean <bean123ch@gmail.com>
32355
32356 * Makefile.in (enable_efiemu): New variable.
32357
32358 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
32359 set.
32360 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
32361 path.
32362 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
32363 path, add -mno-red-zone option.
32364 (efiemu64_s.o): Likewise.
32365 (efiemu64.o): Use macro $^ for source file.
32366
32367 * configure.ac (--enable-efiemu): New option.
32368
bbee0f2b 323692009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
32370
32371 xnu support
32372
32373 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
32374 (pkglib_MODULES): add xnu.mod
32375 (xnu_mod_SOURCES): new variable
32376 (xnu_mod_CFLAGS): likewise
32377 (xnu_mod_LDFLAGS): likewise
32378 (xnu_mod_ASFLAGS): likewise
32379 * conf/i386-pc.rmk: likewise
32380 * conf/x86_64-efi.rmk: likewise
7dd4a573 32381 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 32382 new declaration
32383 * include/grub/i386/macho.h: new file
32384 * include/grub/i386/xnu.h: likewise
32385 * include/grub/macho.h: likewise
32386 * include/grub/machoload.h: likewise
32387 * include/grub/x86_64/macho.h: likewise
32388 * include/grub/x86_64/xnu.h: likewise
32389 * include/grub/xnu.h: likewise
32390 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
32391 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
32392 * loader/i386/efi/xnu.c: new file
32393 * loader/i386/pc/xnu.c: likewise
32394 * loader/i386/xnu.c: likewise
32395 * loader/i386/xnu_helper.S: likewise
32396 * loader/macho.c: likewise
32397 * loader/xnu.c: likewise
32398 * loader/xnu_resume.c: likewise
32399 * util/grub-dumpdevtree: likewise
32400 * include/grub/i386/pit.h: include grub/err.h
32401 (grub_pit_wait): export
32402 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 32403
5caf964d 324042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32405
32406 Efiemu
7dd4a573 32407
5caf964d 32408 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 32409 _linux_efi, linux_efi.
32410 new files in grub-emu
5caf964d 32411 new targets efiemu32.o and efiemu64.o
32412 * loader/linux_normal_efiemu.c: likewise
32413 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 32414 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 32415 files to copy
32416 * include/grub/autoefi.h: new file
7dd4a573 32417 * include/grub/i386/efiemu.h: likewise
5caf964d 32418 * include/grub/i386/pc/efiemu.h: likewise
32419 * include/grub/efi/api.h: add LL suffix when necessary
32420 new definitions relating to tables
32421 * include/grub/efiemu/efiemu.h: new file
32422 * include/grub/efiemu/runtime.h: likewise
32423 * efiemu/prepare.c: likewise
32424 * efiemu/loadcore_common.c: likewise
32425 * efiemu/loadcore64.c: likewise
32426 * efiemu/runtime/efiemu.sh: likewise
32427 * efiemu/runtime/efiemu.S: likewise
32428 * efiemu/runtime/efiemu.c: likewise
32429 * efiemu/runtime/config.h: likewise
32430 * efiemu/prepare32.c: likewise
32431 * efiemu/main.c: likewise
32432 * efiemu/modules/pnvram.c: likewise
32433 * efiemu/modules/i386: likewise
32434 * efiemu/modules/i386/pc: likewise
32435 * efiemu/modules/acpi.c: likewise
32436 * efiemu/i386/pc/cfgtables.c: likewise
32437 * efiemu/i386/loadcore64.c: likewise
32438 * efiemu/i386/loadcore32.c: likewise
32439 * efiemu/prepare64.c: likewise
32440 * efiemu/loadcore.c: likewise
32441 * efiemu/symbols.c: likewise
32442 * efiemu/mm.c: likewise
32443 * efiemu/loadcore32.c: likewise
7dd4a573 32444
324452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 32446
32447 ACPI spoofing
32448
32449 * commands/acpi.c: new file
32450 * commands/i386/pc/acpi.c: likewise
32451 * commands/efi/acpi.c: likewise
32452 * include/grub/acpi.h: likewise
32453 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
32454 (acpi_mod_SOURCES): new variable
32455 (acpi_mod_CFLAGS): likewise
32456 (acpi_mod_LDFLAGS): likewise
32457 * conf/i386-efi.rmk: likewise
32458 * conf/x86_64-efi.rmk: likewise
32459
7dd4a573 324602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 32461
32462 Missing part from mmap patch
32463
32464 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32465 (grub_mmap_unregister)
32466 (grub_mmap_free_and_unregister): use grub_mmap_register
32467
7dd4a573 324682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 32469
32470 Mmap services
32471
32472 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32473 * loader/i386/linux.c (find_mmap_size): likewise
32474 (allocate_pages): likewise
32475 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32476 (grub_fill_multiboot_mmap): likewise
32477 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32478 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32479 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32480 (OPENBSD_MMAP_RESERVED): likewise
32481 * include/grub/i386/pc/memory.h: include grub/memory.h
32482 (grub_lower_mem): removed
32483 (grub_upper_mem): likewise
32484 (GRUB_MACHINE_MEMORY_ACPI): new definition
32485 (GRUB_MACHINE_MEMORY_NVS): likewise
32486 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32487 (GRUB_MACHINE_MEMORY_HOLE): likewise
32488 (grub_machine_mmap_register): likewise
32489 (grub_machine_mmap_unregister): likewise
32490 (grub_machine_get_upper): likewise
32491 (grub_machine_get_lower): likewise
32492 (grub_machine_get_post64): likewise
32493 * include/grub/i386/efi/memory.h: new file
32494 * include/grub/x86_64/efi/memory.h: likewise
32495 * include/grub/efi/memory.h: likewise
32496 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32497 (mmap_mod_SOURCES): new variable
32498 (mmap_mod_LDFLAGS): likewise
32499 (mmap_mod_ASFLAGS): likewise
32500 * conf/i386-coreboot.rmk: likewise
32501 * conf/i386-ieee1275.rmk: likewise
32502 * conf/i386-efi.rmk: likewise
32503 * conf/x86_64-efi.rmk: likewise
32504 * include/grub/types.h (UINT_TO_PTR): new macro
32505 (PTR_TO_UINT32): likewise
32506 (PTR_TO_UINT64): likewise
32507 * include/grub/memory.h: new file
32508 * mmap/i386/pc/mmap.c: likewise
32509 * mmap/i386/pc/mmap_helper.S: likewise
32510 * mmap/i386/uppermem.c: likewise
32511 * mmap/mmap.c: likewise
32512 * mmap/efi/mmap.c: likewise
7dd4a573 32513 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 32514 grub_upper_mem
32515 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32516 (grub_upper_mem): likewise
32517 (grub_machine_init): don't use grub_upper_mem,
32518 make grub_lower_mem local
32519 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32520 grub_mmap_iterate and grub_mmap_get_upper
32521 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32522
d558e6b5 325232009-05-02 Bean <bean123ch@gmail.com>
32524
32525 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32526 script/sh/parser.y.
32527 (pkglib_MODULES): Add normal.mod and sh.mod.
32528 (normal_SOURCES): New variable.
32529 (normal_mod_CFLAGS): Likewise.
32530 (normal_mod_LDFLAGS): Likewise.
32531 (sh_mod_SOURCES): Likewise.
32532 (sh_mod_CFLAGS): Likewise.
32533 (sh_mod_LDFLAGS): Likewise.
32534
32535 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32536 script/sh/lexer.c_DEPENDENCIES.
32537 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32538 kern/rescue_reader.c and kern/rescue_parser.c.
32539 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32540 (grub_emu_SOURCES): Change source files.
32541 (pkglib_MODULES): Remove normal.mod.
32542 (normal_SOURCES): Removed.
32543 (normal_mod_CFLAGS): Likewise.
32544 (normal_mod_LDFLAGS): Likewise.
32545 * conf/i386-coreboot.rmk: Likewise.
32546 * conf/i386-efi.rmk: Likewise.
32547 * conf/i386-ieee1276.rmk: Likewise.
32548 * conf/powerpc-ieee1275.rmk: Likewise.
32549 * conf/sparc64-ieee1275.rmk: Likewise.
32550 * conf/x86_64-efi.rmk: Likewise.
32551
32552 * include/grub/command.h (grub_command_execute): New inline function.
32553
32554 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32555
32556 * include/grub/normal.h: Remove <grub/setjmp.h>.
32557 (grub_fs_module_list): Moved to normal/autofs.c.
32558 (grub_exit_env): Removed.
32559 (grub_command_execute): Likewise.
32560 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32561 parameter script.
32562 (read_command_list): New function declaration.
32563 (read_fs_list): Likewise.
32564
32565 * include/parser.h: Include <grub/reader.h>.
32566 (grub_parser_split_cmdline): Change type of getline parameter.
32567 (grub_parser): New structure.
32568 (grub_parser_class): New variable.
32569 (grub_parser_execute): New function declaration.
32570 (grub_register_rescue_parser): Likewise.
32571 (grub_parser_register): New inline function.
32572 (grub_parser_unregister): Likewise.
32573 (grub_parser_get_current): Likewise.
32574 (grub_parser_set_current): Likewise.
32575
32576 * include/grub/reader.h: New file.
32577 * kern/reader.c: Likewise.
32578 * kern/rescue_parser.c: Likewise.
32579 * kern/rescue_reader.c: Likewise.
32580 * normal/autofs.c: Likewise.
32581 * normal/dyncmd.c: Likewise.
32582
32583 * include/grub/rescue.h: Removed.
32584 * normal/command.h: Likewise.
32585
32586 * include/grub/script.h: Moved to ...
32587 * include/grub/script_sh.h: ... Moved here.
32588 * normal/execute.c: Moved to ...
32589 * script/sh/execute.c: ... Moved here.
32590 * normal/function.c: Moved to ...
32591 * script/sh/function.c: ... Moved here.
32592 * normal/lexer.c: Moved to ...
32593 * script/sh/lexer.c: ... Moved here.
32594 * normal/parser.y: Moved to ...
32595 * script/sh/parser.y: ... Moved here.
32596 * normal/script.c: Moved to ...
32597 * script/sh/script.c: ... Moved here.
32598
32599 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32600 <grub/reader.h>.
32601 (grub_exit_env): Removed.
32602 (fs_module_list): Moved to normal/autofs.c.
32603 (grub_file_getline): Don't handle comment here.
32604 (free_menu): Skip removed field entry->commands.
32605 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32606 script parameter.
32607 (read_config_file): Removed nested parameter, change getline function.
32608 (grub_enter_normal_mode): Removed.
32609 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32610 (read_command_list): Likewise.
32611 (autoload_fs_module): Moved to normal/autofs.c.
32612 (read_fs_list): Likewise.
32613 (reader_nested): New variable.
32614 (grub_normal_execute): Run parser.sh to switch to sh parser.
32615 (grub_cmd_rescue): Removed.
32616 (cmd_normal): Removed.
32617 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32618 rescue command.
32619 (grub_cmdline_run): New function.
32620 (grub_normal_reader_init): Likewise.
32621 (grub_normal_read_line): Likewise.
32622 (grub_env_write_pager): Likewise.
32623 (cmdline): New variable.
32624 (grub_normal_reader): Likewise.
32625 (GRUB_MOD_INIT): Register normal reader and set as current, register
32626 pager hook, register normal command with grub_register_command_prio,
32627 so that it won't show up in command.lst.
32628 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32629 grub_fs_autoload_hook.
32630
32631 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32632 (grub_menu_execute_entry): Replace grub_script_execute with
32633 grub_parser_execute, change parameter to grub_command_execute.
32634
32635 * normal/menu_text.c: Remove <grub/script.h>.
32636
32637 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32638 and <grub/parser.h>.
32639 (run): Change editor_getline to use new parser interface. Change
32640 parameter to grub_command_execute.
32641
32642 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32643 <grub/reader.h> and <grub/parser.h>.
32644 (grub_load_normal_mode): Execute normal command.
32645 (grub_main): Call grub_register_core_commands,
32646 grub_register_rescue_parser and grub_register_rescue_reader, use
32647 grub_reader_loop to enter input loop.
32648
7dd4a573 32649 * kern/parser.c (grub_parser_split_cmdline): Change type of
32650 getline parameter.
d558e6b5 32651 (grub_parser_class): New variable.
32652 (grub_parser_execute): New function.
32653
32654 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32655 * loader/multiboot2.c: Likewise.
32656 * loader/sparc64/ieee1275/linux.c: Likewise.
32657
32658 * util/grub-emu.c (read_command_list): New dummy function.
32659
18db813d 326602009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32661
32662 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32663 count to 16 for CCISS and IDA.
32664
6c67de15 326652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32666
32667 * normal/menu_text.c (grub_wait_after_message): Print a newline
32668 after waiting for user input.
32669
32670 * loader/i386/linux.c: Include `<grub/normal.h>'.
32671 (grub_cmd_linux): Improve the error message about `ask' mode, by
32672 waiting for user input so it's not missed (we can do this, since
32673 user requested interaction).
32674
d9dc87b0 326752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32676
32677 Added missing lst to grub-mkrescue
32678
32679 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32680 and ${input_dir}/parttool.lst
32681
ac8a2baa 326822009-04-30 David S. Miller <davem@davemloft.net>
32683
ad22a610 32684 * util/hostdisk.c (device_is_wholedisk): New function.
32685 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32686 zero only if device_is_wholedisk() returns true.
32687
6966215d 32688 * util/hostdisk.c (convert_system_partition_to_system_disk):
32689 Handle virtual disk devices named /dev/vdiskX as found on sparc
32690 and powerpc.
32691
ac8a2baa 32692 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32693 lettered partition specifier is found, convert to numbered.
32694
979b4fb4 326952009-04-29 David S. Miller <davem@davemloft.net>
32696
e2bf39b2 32697 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32698 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32699
3c64e104 32700 * normal/command.c: Add missing newline at end of file.
32701
979b4fb4 32702 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32703 warnings.
32704 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32705 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32706 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32707 ihandles have a 32-bit type but need to be stored in a "void *".
32708
136d9f82 327092009-04-28 Pavel Roskin <proski@gnu.org>
32710
9459c306 32711 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32712 not disk. Adjust all dependencies.
2e08a26a 32713 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 32714 grub_disk_close().
32715
136d9f82 32716 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32717 parent's partition, don't copy it by reference, as it gets freed
32718 on close.
32719
7dd4a573 327202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 32721
32722 Preboot hooks support
32723
32724 * commands/boot.c (struct grub_preboot_t): new declaration
32725 (preboots_head): new variable
32726 (preboots_tail): likewise
32727 (grub_loader_register_preboot_hook): new function
32728 (grub_loader_unregister_preboot_hook): likewise
32729 (grub_loader_set): launch preboot hooks
32730 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32731 (grub_loader_register_preboot_hook): new declaration
32732 (grub_loader_unregister_preboot_hook): likewise
32733
5af922b5 327342009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32735
32736 Warning fix
32737
7dd4a573 32738 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 32739 calling grub_dprintf
32740
a5562c30 327412009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32742
32743 Bug and warning fixes
32744
7dd4a573 32745 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 32746 declaration
32747 * commands/test.c (test_parse): fixed bug with file tests and corrected
32748 declaration of find_file
32749
4006f85c 327502009-04-26 Pavel Roskin <proski@gnu.org>
32751
32752 * Makefile.in: Don't install empty manual pages if help2man is
32753 missing. Use help2man option for output, not shell redirection.
32754
5c77c3de 327552009-04-26 David S. Miller <davem@davemloft.net>
32756
32757 * util/grub-mkdevicemap.c (make_device_map): Add missing
32758 NESTED_FUNC_ATTR to process_device().
32759
033b10a8 327602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32761
32762 Test command
32763
32764 * commands/test.c: rewritten to use bash-like test
32765
e4343593 327662009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32767
32768 Parttool autoloading and improvements
32769
7dd4a573 32770 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 32771 (parttool.lst): new target
32772 * genmk.rb: generate parttool-*
32773 (CLEANFILES): add #{parttool}
32774 (PARTTOOLFILES): new variable
32775 * genparttoollist.sh: new file
7dd4a573 32776 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 32777 (grub_pcpart_type): likewise
32778 * commands/parttool.c (helpmsg): new variable
32779 (grub_cmd_parttool): output help if not enough arguments are supplied
32780 autoload modules
32781 (GRUB_MOD_INIT(parttool)): use helpmsg
32782
0d312500 327832009-04-24 David S. Miller <davem@davemloft.net>
32784
7dd4a573 32785 Avoiding opening same device multiple times in device iterator.
0d312500 32786
32787 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 32788 and use it to build a list of partitions in iterate_disk() and
0d312500 32789 iterate_partition().
32790
ac20caff 32791 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32792 on disk->data.
32793
0dcf7495 32794 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32795 grub_devalias_iterate() result instead of unconditional 0.
32796 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32797 Also, capture hook return value, either directly or via
32798 grub_children_iterate(), and propagate to caller.
32799 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32800 grub_children_iterate): Return value is now 'int' instead of
32801 'grub_err_t'.
32802 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32803 like a proper iterator, stopping when hooks return non-zero.
32804 (grub_devalias_iterate): Likewise.
32805
c8c08833 328062009-04-23 David S. Miller <davem@davemloft.net>
32807
32808 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32809
f01005a8 328102009-04-22 David S. Miller <davem@davemloft.net>
32811
32812 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32813 is larger than address_cells, use that value for address_cells too.
32814
4e8269da 32815 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32816 IEEE1275_MAX_PATH_LEN): Define.
32817 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32818 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32819 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32820 'devtype'. Explicitly NULL terminate devalias expansion.
32821
a1447506 32822 * util/sparc64/ieee1275/misc.c: New file.
32823 * util/sparc64/ieee1275/grub-setup.c: New file.
32824 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32825 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32826 * util/sparc64/ieee1275/grub-install.in: New file.
32827 * util/ieee1275/ofpath.c: New file.
32828 * util/ieee1275/devicemap.c: New file.
32829 * util/devicemap.c: New file.
32830 * util/deviceiter.c: New file.
32831 * kern/sparc64/ieee1275/init.c: New file.
32832 * include/grub/util/ofpath.h: New file.
32833 * include/grub/util/deviceiter.h: New file.
32834 * util/grub-mkdevicemap.c: Include deviceiter.h.
32835 Implement using grub_util_emit_devicemap_entry and
32836 grub_util_iterate_devices.
32837 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32838 util/devicemap.c into grub-mkdevicemap
32839 * conf/i386-efi.rmk: Likewise.
32840 * conf/i386-ieee1275.rmk: Likewise.
32841 * conf/i386-pc.rmk: Likewise.
32842 * conf/powerpc-ieee1275.rmk: Likewise.
32843 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32844 images and installation utilities. Build kernel as image
32845 instead of as elf binary. Use common rules as much as possible.
32846
7dd4a573 328472009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 32848
32849 Correct GPT definition
32850
7dd4a573 32851 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 32852 of "attrib" member
32853
c6c5219f 328542009-04-19 Felix Zielcke <fzielcke@z-51.de>
32855
32856 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32857
0552ff9f 328582009-04-19 David S. Miller <davem@davemloft.net>
32859
32860 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32861 (grub_rescue_cmd_linux): Rename to...
32862 (grub_cmd_linux): and fix prototype.
32863 (grub_rescue_cmd_initrd): Rename to...
32864 (grub_cmd_initrd): and fix prototype.
32865 (cmd_linux, cmd_initrd): New.
32866 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32867 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32868
d1a282fc 328692009-04-17 Pavel Roskin <proski@gnu.org>
32870
07c5039f 32871 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32872 format.
32873 (grub_ohci_transfer): Likewise.
32874
b012002d 32875 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32876
1bc09c35 32877 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32878 return without a value. Fix inconsistent indentation.
32879
e0ff9126 32880 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32881 match struct grub_fs.
32882
d1a282fc 32883 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32884 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32885 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32886 * commands/lspci.c (grub_lspci_iter): Likewise.
32887
a96df3f2 328882009-04-16 Bean <bean123ch@gmail.com>
32889
32890 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32891 value.
32892
41bb0fe9 328932009-04-15 Pavel Roskin <proski@gnu.org>
32894
32895 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32896 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32897 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32898 definitions.
32899
596c6970 329002009-04-15 Felix Zielcke <fzielcke@z-51.de>
32901
32902 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 32903 that no multiple data or metadata areas are supported and `Unknown
596c6970 32904 metadata header'.
32905
7dd4a573 329062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 32907
32908 Move loader out of the kernel
32909
32910 * kern/loader.c: moved to ...
32911 * commands/boot.c: ... moved here
32912 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32913 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32914 * include/grub/kernel.h (grub_machine_fini): export
32915 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32916 (grub_loader_set): likewise
32917 (grub_loader_unset): likewise
32918 (grub_loader_boot): likewise
32919 * conf/common.rmk: new module boot.mod
32920 (pkglib_MODULES): add boot.mod
32921 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32922 (grub_emu_SOURCES): likewise
32923 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32924 (grub_emu_SOURCES): likewise
32925 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32926 (grub_emu_SOURCES): likewise
32927 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32928 (grub_emu_SOURCES): likewise
32929 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32930 (grub_emu_SOURCES): likewise
7dd4a573 32931 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32932 (grub_emu_SOURCES): likewise
0d5d5653 32933 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 32934 (grub_emu_SOURCES): likewise
0d5d5653 32935
7dd4a573 329362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 32937
32938 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 32939
5999d619 32940 * kern/misc.c (grub_itoa): Removed function
32941 (grub_ltoa): likewise
32942 (grub_vsprintf): use grub_lltoa
32943
7dd4a573 329442009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 32945
32946 Restore grub-emu
32947
32948 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32949 * conf/i386-coreboot.rmk: likewise
32950 * conf/i386-ieee1275.rmk: likewise
32951 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32952
20318222 329532009-04-15 Felix Zielcke <fzielcke@z-51.de>
32954
32955 * INSTALL: Add that `./autogen.sh' needs to be run before
32956 `./configure.'.
32957
d05f0df3 329582009-04-14 Bean <bean123ch@gmail.com>
32959
32960 * Makefile.in (pkglib_DATA): Add handler.lst.
32961 (handler.lst): New rule.
32962
32963 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32964 * conf/i386-coreboot.rmk: Likewise.
32965 * conf/i386-ieee1275.rmk: Likewise.
32966 * conf/i386-efi.rmk: Likewise.
32967 * conf/x86_64-efi.rmk: Likewise.
32968 * conf/powerpc-ieee1275.rmk: Likewise.
32969 * conf/sparc64-ieee1275.rmk: Likewise.
32970
32971 * genhandlerlist.sh: New file.
32972
32973 * genmk.rb: Add rules to generate handler.lst.
32974
32975 * include/grub/normal.h (grub_file_getline): New function definition.
32976 (read_handler_list): Likewise.
32977 (free_handler_list): Likewise.
32978
32979 * include/grub/term.h (grub_term_register_input): Add name parameter
32980 for auto generation of handler.lst.
32981 (grub_term_register_output): Likewise.
32982
32983 * normal/handler.c: New file.
32984
32985 * normal/main.c (get_line): Renamed to grub_file_getline.
32986 (read_config_file): Use the newly renamed grub_file_getline.
32987 (read_command_list): Likewise.
32988 (read_fs_list): Likewise.
32989 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32990 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32991
32992 * term/efi/console.c (grub_console_init): Add name parameter for auto
32993 generation of handler.lst.
32994 * term/gfxterm.c: Likewise.
32995 * term/i386/pc/at_keyboard.c: Likewise.
32996 * term/i386/pc/console.c: Likewise.
32997 * term/i386/pc/serial.c: Likewise.
32998 * term/i386/pc/vesafb.c: Likewise.
32999 * term/i386/pc/vga.c: Likewise.
33000 * term/i386/pc/vga_text.c: Likewise.
33001 * term/ieee1275/ofconsole.c: Likewise.
33002 * term/usb_keyboard.c: Likewise.
33003
33c846be 330042009-04-14 Bean <bean123ch@gmail.com>
33005
33006 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33007 properly with null character.
33008
4484e01e 330092009-04-14 Felix Zielcke <fzielcke@z-51.de>
33010
33011 * configure: Remove.
33012 * config.h.in: Likewise.
f93d668e 33013 * stamp-h.in: Likewise.
4484e01e 33014 * DISTLIST: Likewise.
33015 * conf/common.mk: Likewise.
33016 * conf/i386-coreboot.mk: Likewise.
33017 * conf/i386-efi.mk: Likewise.
33018 * conf/i386-ieee1275.mk: Likewise.
33019 * conf/i386.mk: Likewise.
33020 * conf/i386-pc.mk: Likewise.
33021 * conf/powerpc-ieee1275.mk: Likewise.
33022 * conf/sparc64-ieee1275.mk: Likewise.
33023 * conf/x86_64-efi.mk: Likewise.
33024
33025 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33026 develop on GRUB.
33027
7dd4a573 330282009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33029 David S. Miller <davem@davemloft.net>
33030
33031 * util/hostdisk.c (make_device_name): Fix buffer length
33032 calculations.
33033
e25b5a8c 330342009-04-14 Felix Zielcke <fzielcke@z-51.de>
33035
33036 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33037 <sys/param.h> and <sys/sysctl.h>.
33038 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33039 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33040 opening the device and reset them afterwards.
33041
1f1f580c 330422009-04-13 Pavel Roskin <proski@gnu.org>
33043
33044 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33045 Reported by John Stanley <jpsinthemix@verizon.net>
33046
7ebc2d6b 330472009-04-13 Robert Millan <rmh@aybabtu.com>
33048
33049 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33050 that name for menuentries when appropriate.
7ebc2d6b 33051
d8ba3667 330522009-04-13 Felix Zielcke <fzielcke@z-51.de>
33053
33054 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33055
cba416eb 330562009-04-13 Robert Millan <rmh@aybabtu.com>
33057
33058 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33059 to Linux, simply abort telling the user it's no longer supported.
33060
a547a745 330612009-04-13 Felix Zielcke <fzielcke@z-51.de>
33062
33063 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33064 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33065 `freebsd_loadenv' only when devices.hints exist.
33066
232a769c 330672009-04-13 Pavel Roskin <proski@gnu.org>
33068
33069 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33070
c3012039 330712009-04-13 Felix Zielcke <fzielcke@z-51.de>
33072
33073 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33074 partition number.
33075 (grub_drive): Likewise.
33076
234022fe 330772009-04-13 David S. Miller <davem@davemloft.net>
33078
33079 * kern/sparc64/ieee1275/ieee1275.c: New file.
33080 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33081 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33082 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33083 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33084 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33085 grub_ieee1275_alloc_physmem): Declare new exported functions.
33086
d8e1836c 33087 * include/grub/sparc64/ieee1275/loader.h: New file.
33088 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33089 * include/grub/sparc64/kernel.h: Likewise.
33090 * loader/sparc64/ieee1275/linux.c: Likewise.
33091
96bd81ec 33092 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33093 (grub_fstest_SOURCES): Likewise.
33094
6a4737e5 33095 * util/hostdisk.c (make_device_name): Do not make any assumptions
33096 about the length of drive names.
33097
1d7a72fd 33098 * kern/dl.c (grub_dl_load_file): Close file immediately when
33099 we are done using it.
33100
56bc2471 331012009-04-12 David S. Miller <davem@davemloft.net>
33102
33103 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33104 values. Noticed by Pavel Roskin.
33105
df38d0bb 33106 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33107 target compiler.
7dd4a573 33108
e382e93a 33109 * genmk.rb: Add more flexible image type specification, also
33110 pass --strip-unneeded to objcopy.
33111 * conf/i386-pc.rmk: Use *_FORMAT.
33112 * conf/i386-pc.mk: Rebuilt.
33113
f5dbbca9 33114 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33115 (OFDISK_HASH_SZ): Define.
33116 (ofdisk_hash): New hash table.
33117 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33118 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33119 instead of device phandle which is not unique.
33120
91c88b12 33121 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33122 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33123 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33124 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33125 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33126 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33127 GRUB_KERNEL_MACHINE_DATA_END): Define.
33128 (grub_kernel_image_size, grub_total_module_size): Declare.
33129
5b5d4aa5 331302009-04-12 Pavel Roskin <proski@gnu.org>
33131
7dd4a573 33132 * configure.ac: Change the logic when we check for target tools.
33133 Do it when the target is specified and it's different from the
33134 specified value of the host.
5b5d4aa5 33135
c91e1793 331362009-04-11 Felix Zielcke <fzielcke@z-51.de>
33137
33138 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33139 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33140 GNU/kFreeBSD. Check if a device is a character device. Use
33141 DIOCGMEDIASIZE to get the size.
33142 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33143 support for GNU/kFreeBSD.
33144 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33145 is a character device instead of a block device. Add support for
33146 FreeBSD device names.
33147
33148 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33149 is a character device instead of a block device.
33150
33151 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33152 is a character device instead of a block device.
33153
b1ac8644 331542009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33155
33156 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33157 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33158 FreeBSD. Check if a device is a character device. Use
33159 DIOCGMEDIASIZE to get the size.
33160 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33161 support for FreeBSD.
33162 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33163 is a character device instead of a block device. Add support for
33164 FreeBSD device names.
33165
33166 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33167 a character device instead of a block device.
33168 (grub_util_check_char_device): New function.
33169
33170 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33171 a character device instead of a block device.
33172
33173 * include/grub/util/getroot.h (grub_util_check_char_device): New
33174 prototype.
33175
a3f7515a 331762009-04-11 David S. Miller <davem@davemloft.net>
33177
33178 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33179 static libgcc.
33180 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33181 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33182 function, if present.
33183 (__bswapdi2): Likewise.
33184
0d44993d 33185 * include/grub/sparc64/ieee1275/boot.h: New file.
33186 * boot/sparc64/ieee1275/boot.S: Likewise.
33187 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33188
ed3d2bc2 33189 * kern/misc.c (grub_ltoa): New function.
33190 (grub_vsprintf): Use it to format 'long' integers.
33191
d3bfb59c 331922009-04-10 David S. Miller <davem@davemloft.net>
33193
33194 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33195 slots are of type grub_ieee1275_cell_t.
33196 (grub_nand_read): Likewise.
33197 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33198 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33199 macros are used to compare values in arg/ret block of the call.
33200 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33201 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33202 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33203 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33204 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33205 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33206 grub_ieee1275_close, grub_ieee1275_set_property,
33207 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33208 grub_ieee1275_cell_t.
33209 * kern/ieee1275/openfw.c (grub_map): Likewise.
33210 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33211 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33212
450e2238 33213 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33214 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33215 (grub_devalias_iterate): Likewise.
33216
7dd4a573 332172009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 33218
33219 UFS improvements
33220
33221 * fs/ufs.c (INODE_NBLOCKS): new definition
33222 (struct grub_ufs_dirent): added fields for non-BSD dirents
33223 (grub_ufs_get_file_block): fixed double indirect handling
33224 (grub_ufs_lookup_symlink): use more robust way to determine whether
33225 symlink is inline
33226 (grub_ufs_find_file): support for non-BSD dirents
33227 (grub_ufs_dir): support for non-BSD dirents
33228
e7e6862a 332292009-04-10 Bean <bean123ch@gnail.com>
33230
33231 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33232 attribute, otherwise the size would be wrong for i386 platform.
33233
33234 * include/grub/pci.h (grub_pci_read_word): New inline function.
33235 (grub_pci_read_byte): Likewise.
33236 (grub_pci_write): Likewise.
33237 (grub_pci_write_word): Likewise.
33238 (grub_pci_write_byte): Likewise.
33239
33240 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33241
33242 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33243 (find_framebuf): Scan pci to locate the frame buffer address.
33244
33245 * commands/efi/fixvideo.c: New file.
33246
33247 * commands/efi/loadbios.c: Likewise.
33248
33249 * commands/memrw.c: Likewise.
33250
33251 * util/grub-dumpbios.in: Likewise.
33252
33253 * conf/common.rmk (grub-dumpbios): New utility.
33254 (pkglib_MODULES): New module memrw.mod.
33255 (memrw_mod_SOURCE): New macro.
33256 (memrw_mod_CFLAGS): Likewise.
33257 (memrw_mod_LDFLAGS): Likewise.
33258
7dd4a573 33259 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33260 fixvideo.mod.
33261 (loadbios_mod_SOURCE): New macro.
33262 (loadbios_mod_CFLAGS): Likewise.
33263 (loadbios_mod_LDFLAGS): Likewise.
33264 (fixvideo_mod_SOURCE): Likewise.
33265 (fixvideo_mod_CFLAGS): Likewise.
33266 (fixvideo_mod_LDFLAGS): Likewise.
33267
7dd4a573 33268 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33269 fixvideo.mod.
33270 (loadbios_mod_SOURCE): New macro.
33271 (loadbios_mod_CFLAGS): Likewise.
33272 (loadbios_mod_LDFLAGS): Likewise.
33273 (fixvideo_mod_SOURCE): Likewise.
33274 (fixvideo_mod_CFLAGS): Likewise.
33275 (fixvideo_mod_LDFLAGS): Likewise.
33276
af63ada2 332772009-04-08 Felix Zielcke <fzielcke@z-51.de>
33278
33279 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33280
c2cdde70 332812009-04-07 David S. Miller <davem@davemloft.net>
33282
33283 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33284 support for R_SPARC_OLO10 relocations. Fix compile warning for
33285 R_SPARC_WDISP30 case.
ea3f72cf 33286 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33287
761319cf 332882009-04-06 Pavel Roskin <proski@gnu.org>
33289
1007d1f5 33290 * include/grub/misc.h (ARRAY_SIZE): New macro.
33291 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33292 New macro.
33293 * loader/i386/linux.c (allocate_pages): Use free_pages().
33294 (grub_linux_unload): Don't use free_pages().
33295 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
33296 wrong index. Treat all other modes as text modes.
33297 (grub_cmd_linux): Initialize vid_mode unconditionally to
33298 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
33299
761319cf 33300 * commands/help.c (print_command_help): Use cmd->prio, not
33301 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33302
ea761d40 333032009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 33304
ea761d40 33305 Parttool
33306
33307 * parttool/pcpart.c: new file
33308 * commands/parttool.c: likewise
33309 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
33310 (parttool_mod_SOURCES): new variable
33311 (parttool_mod_CFLAGS): likewise
33312 (parttool_mod_LDFLAGS): likewise
33313 (pcpart_mod_SOURCES): likewise
33314 (pcpart_mod_CFLAGS): likewise
33315 (pcpart_mod_LDFLAGS): likewise
7dd4a573 33316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 33317 and parttool/pcpart.c
33318 * conf/i386-efi.rmk: likewise
33319 * conf/i386-ieee1275.rmk: likewise
33320 * conf/i386-pc.rmk: likewise
33321 * conf/powerpc-ieee1275.rmk: likewise
33322 * conf/sparc64-ieee1275.rmk: likewise
33323 * conf/x86_64-ieee1275.rmk: likewise
33324
05aaebfb 333252009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33326
33327 Support for mtime and further expandability of dir command
33328
33329 * include/grub/lib/datetime.h: moved to ...
7dd4a573 33330 * include/grub/datetime.h: ... moved here and added
05aaebfb 33331 declaration of grub_unixtime2datetime. All users updated
7dd4a573 33332 * include/grub/fs.h: new syntax for dir and mtime functions in
33333 struct grub_fs
05aaebfb 33334 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
33335 and GRUB_FSHELP_FLAGS_MASK
33336 * commands/ls.c (grub_ls_list_files): Write mtime in long format
33337 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
33338 (grub_ext2_mtime): new function
33339 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
33340 (grub_hfsplus_mtime): new function
33341 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
33342 (GRUB_UFS_ATTR_FILE): likewise
33343 (GRUB_UFS_ATTR_LNK): likewise
33344 (struct grub_ufs_sblock): new fields mtime
33345 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
33346 all users updated
33347 (grub_ufs_dir): mtime support
33348 (grub_ufs_mtime): new function
33349 * fs/affs.c (grub_affs_dir): use new dir syntax
33350 * fs/afs.c (grub_afs_dir): likewise
33351 * fs/cpio.c (grub_cpio_dir): likewise
33352 * fs/fat.c (grub_fat_find_dir): likewise
33353 * fs/hfs.c (grub_hfs_dir): likewise
33354 * fs/iso9660.c (grub_iso9660_dir): likewise
33355 * fs/jfs.c (grub_jfs_dir): likewise
33356 * fs/minix.c (grub_minix_dir): likewise
33357 * fs/ntfs.c (grub_ntfs_dir): likewise
33358 * fs/reiserfs.c (grub_reiserfs_dir): likewise
33359 * fs/sfs.c (grub_sfs_dir): likewise
33360 * fs/xfs.c (grub_xfs_dir): likewise
33361 * util/hostfs.c (grub_hostfs_dir): likewise
33362 * lib/datetime.c: moved to ...
33363 * normal/datetime.c: ... moved here
33364 (grub_unixtime2datetime): new function
33365 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 33366 * normal/completion.c (iterate_dir): use new dir syntax
33367 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 33368 last modification time of a volume
7dd4a573 33369 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 33370 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 33371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 33372 (normal_mod_SOURCES): likewise
33373 (datetime_mod_SOURCES): Removed lib/datetime.c
33374 * conf/i386-efi.rmk: likewise
7dd4a573 33375 * conf/i386-ieee1275.rmk: likewise
05aaebfb 33376 * conf/i386-pc.rmk: likewise
33377 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33378 * conf/sparc64-ieee1275.rmk: likewise
33379 * conf/x86_64-efi.rmk: likewise
05aaebfb 33380
8a7e1a14 333812009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33382
33383 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 33384
33385 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 33386 on grub_fat_find_dir
33387 (grub_fat_find_dir): use grub_fat_iterate_dir
33388 (grub_fat_label): likewise
33389
04186a9c 333902009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33391
7dd4a573 33392 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 33393 and command.h
33394 remove extraneous kernel_elf_HEADERS
33395
da4c0bb6 333962009-04-04 Bean <bean123ch@gnail.com>
33397
33398 * include/grub/util/misc.h: Add dummy function fsync for mingw.
33399
33400 * util/misc.c: Likewise.
33401
54ad9555 334022009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33403
33404 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
33405 instead of grub_printf.
33406
7a6bf9f2 334072009-04-03 Robert Millan <rmh@aybabtu.com>
33408
33409 * loader/i386/linux.c (grub_linux_setup_video): Fill
33410 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
33411 values from `mode info' structure instead of hardcoded
33412 values.
33413
3fcc2083 334142009-04-01 Pavel Roskin <proski@gnu.org>
33415
33416 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
33417 unused now.
33418 * genmk.rb: Likewise.
33419 * configure.ac: Likewise.
33420
5ec9740b 334212009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
33422
33423 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
33424 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
33425
5270cec8 334262009-04-01 David S. Miller <davem@davemloft.net>
33427
33428 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 33429 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 33430 (grub_setjmp): Mark with 'returns_twice' attribute.
33431 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
33432 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
33433 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
33434
9c3dd854 334352009-04-01 Robert Millan <rmh@aybabtu.com>
33436
33437 Reapply fix from 2008-07-28 which was accidentally reverted; also
33438 perform the same fix to a similar check in same function.
33439
33440 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33441 with the same number are found, just use issue a warning with
33442 grub_dprintf(), as this error has been reported to be non-fatal.
33443
0d818b7e 334442009-03-31 Pavel Roskin <proski@gnu.org>
33445
33446 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
33447 for cross-compilation.
33448
95646d92 334492009-03-30 Robert Millan <rmh@aybabtu.com>
33450
33451 Fix i386-ieee1275 build.
33452
33453 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
33454 Remove declaration.
33455
6a003ed1 334562009-03-30 Pavel Roskin <proski@gnu.org>
33457
33458 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
33459 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33460 zero-terminated, rely only on the strlen value. Fix comparison
33461 of strings differing in length.
33462
92f33540 334632009-03-30 Robert Millan <rmh@aybabtu.com>
33464
33465 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33466 checking for abi version. Improve error messages on BIOS to notify
33467 user about `linux16' command.
33468
a8c48fd5 334692009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33470
f968172e 33471 Leak fixes
a8c48fd5 33472
f968172e 33473 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33474 in case of collision
33475 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 33476
9c323f09 334772009-03-29 Robert Millan <rmh@aybabtu.com>
33478
33479 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33480 set `vid_mode' accordingly.
33481 (grub_linux_boot): Process `vid_mode' and set video mode.
33482
ae68f423 334832009-03-29 Robert Millan <rmh@aybabtu.com>
33484
33485 * util/grub.d/10_linux.in (linux_entry): New function.
33486 Factorize generation of Linux boot entries.
33487
5709cfc4 334882009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33489
33490 Make the format of Environment Block plain text. The boot loader
33491 part is not tested well yet.
7dd4a573 33492
5709cfc4 33493 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33494 (buffer): Removed.
33495 (envblk): Likewise.
33496 (usage): Remove "info" and "clear". Add "unset". Update the
33497 description of "set", as this does not delete variables any
33498 longer.
33499 (create_envblk_file): Complete rewrite.
33500 (open_envblk_file): Likewise.
33501 (cmd_info): Removed.
33502 (cmd_list): Likewise.
33503 (cmd_set): Likewise.
33504 (cmd_clear): Likewise.
33505 (list_variables): New function.
33506 (write_envblk): Likewise.
33507 (set_variables): Likewise.
33508 (unset_variables): Likewise.
33509 (main): Complete rewrite.
33510
33511 * commands/loadenv.c (buffer): Removed.
33512 (envblk): Likewise.
33513 (open_envblk_file): New function.
33514 (read_envblk_file): Complete rewrite.
33515 (grub_cmd_load_env): Likewise.
33516 (grub_cmd_list_env): Likewise.
33517 (struct blocklist): New struct.
33518 (free_blocklists): New function.
33519 (check_blocklists): Likewise.
33520 (write_blocklists): Likewise.
33521 (grub_cmd_save_env): Complete rewrite.
33522
33523 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33524 a plain text signature.
33525 (GRUB_ENVBLK_MAXLEN): Removed.
33526 (struct grub_envblk): Complete rewrite.
33527 (grub_envblk_find): Removed.
33528 (grub_envblk_insert): Likewise.
33529 (grub_envblk_open): New prototype.
33530 (grub_envblk_set): Likewise.
33531 (grub_envblk_delete): Put const to VALUE.
33532 (grub_envblk_iterate): Put const to NAME and VALUE.
33533 (grub_envblk_close): New prototype.
33534 (grub_envblk_buffer): New inline function.
33535 (grub_envblk_size): Likewise.
33536
33537 * lib/envblk.c: Include grub/mm.h.
33538 (grub_env_find): Removed.
33539 (grub_envblk_open): New function.
33540 (grub_envblk_close): Likewise.
33541 (escaped_value_len): Likewise.
33542 (find_next_line): Likewise.
33543 (grub_envblk_insert): Removed.
33544 (grub_envblk_set): New function.
33545 (grub_envblk_delete): Complete rewrite.
33546 (grub_envblk_iterate): Likewise.
33547
a9368fd3 335482009-03-28 Robert Millan <rmh@aybabtu.com>
33549
33550 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33551 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33552 variables. Use 16-bit loader.
33553 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33554 loader.
33555 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33556 (grub_linux16_boot): ... this. Update all users.
33557 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33558 (grub_linux_boot): ... this. Update all users.
33559
33560 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33561 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33562 commands to `linux16' and `initrd16'.
33563 (GRUB_MOD_FINI(linux)): Rename to ...
33564 (GRUB_MOD_FINI(linux16)): ... this.
33565
e4dd5a7e 335662009-03-24 Pavel Roskin <proski@gnu.org>
33567
33568 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33569 not just for compilation.
33570
c04d6e05 335712009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33572
33573 Move multiboot helper out of kernel
33574
33575 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33576 `loader/i386/multiboot_helper.S'.
33577 * conf/i386-coreboot.rmk: Likewise
33578 * conf/i386-ieee1275.rmk: Likewise
33579
33580 * kern/i386/loader.S: Move multiboot helpers from here...
33581 * loader/i386/multiboot_helper.S: ...moved here
33582 * include/grub/i386/loader.h: Move declarations of multiboot
33583 helpers from here...
33584 * include/grub/i386/multiboot.h: ...moved here
33585 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33586
42a5b3fc 335872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33588
33589 * kern/env.c (grub_env_context_open): Added an argument to specify
33590 whether a new context inherits exported variables from current
33591 one. This is useful when making a sandbox to interpret a config
33592 file.
33593 All callers updated.
33594
33595 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33596
b28bbc4e 335972009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33598
33599 * kern/env.c (grub_env_context_close): Fix memory leaks.
33600
f04f02e4 336012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33602
33603 * normal/main.c (grub_normal_execute): Added an argument
33604 BATCH to specify if an interactive interface should be provided
33605 after reading a config file.
33606 All callers updated.
33607 (read_command_list): Prevent being executed twice.
33608 (read_fs_list): Likewise.
33609
42a5b3fc 33610 * include/grub/normal.h (grub_normal_execute): Updated the
33611 prototype.
f04f02e4 33612
41473ac2 336132009-03-22 Pavel Roskin <proski@gno.org>
33614
fbc00b0c 33615 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33616 _start.
33617 * kern/i386/pc/startup.S: Likewise.
33618 * kern/i386/efi/startup.S: Likewise.
33619 * kern/i386/ieee1275/startup.S: Likewise.
33620 * kern/i386/coreboot/startup.S: Likewise.
33621 * kern/x86_64/efi/startup.S: Likewise.
33622
41473ac2 33623 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33624 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33625 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33626
2274cc8f 336272009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33628
33629 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33630
33631 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33632 limit detection.
33633 Use vaddr of correct segment for entry_point.
33634
b1b797cb 336352009-03-21 Bean <bean123ch@gmail.com>
33636
33637 * commands/blocklist.c: Add include file <grub/command.h>, remove
33638 <grub/normal.h> and <grub/arg.h>.
33639 (grub_cmd_blocklist): Use the new command interface.
33640 (GRUB_MOD_INIT): Likewise.
33641 (GRUB_MOD_FINI): Likewise.
33642 * commands/boot.c: Likewise.
33643 * commands/cat.c: Likewise.
33644 * commands/cmp.c: Likewise.
33645 * commands/configfile.c: Likewise.
33646 * commands/crc.c: Likewise.
33647 * commands/echo.c: Likewise.
33648 * commands/halt.c: Likewise.
33649 * commands/handler.c: Likewise.
33650 * commands/hdparm.c: Likewise.
33651 * commands/help.c: Likewise.
33652 * commands/hexdump.c: Likewise.
33653 * commands/loadenv.c: Likewise.
33654 * commands/ls.c: Likewise.
33655 * commands/lsmmap.c: Likewise.
33656 * commands/lspci.c: Likewise.
33657 * commands/loadenv.c: Likewise.
33658 * commands/read.c: Likewise.
33659 * commands/reboot.c: Likewise.
33660 * commands/search.c: Likewise.
33661 * commands/sleep.c: Likewise.
33662 * commands/test.c: Likewise.
33663 * commands/usbtest.c: Likewise.
33664 * commands/videotest.c: Likewise.
33665 * commands/i386/cpuid.c: Likewise.
33666 * commands/i386/pc/halt.c: Likewise.
33667 * commands/i386/pc/play.c: Likewise.
33668 * commands/i386/pc/pxecmd.c: Likewise.
33669 * commands/i386/pc/vbeinfo.c: Likewise.
33670 * commands/i386/pc/vbetest.c: Likewise.
33671 * commands/ieee1275/suspend.c: Likewise.
33672 * disk/loopback.c: Likewise.
33673 * font/font_cmd.c: Likewise.
33674 * hello/hello.c: Likewise.
33675 * loader/efi/appleloader.c: Likewise.
33676 * loader/efi/chainloader.c: Likewise.
33677 * loader/i386/bsd.c: Likewise.
33678 * loader/i386/efi/linux.c: Likewise.
33679 * loader/i386/ieee1275/linux.c: Likewise.
33680 * loader/i386/linux.c: Likewise.
33681 * loader/i386/pc/chainloader.c: Likewise.
33682 * loader/i386/pc/linux.c: Likewise.
33683 * loader/powerpc/ieee1275/linux.c: Likewise.
33684 * loader/multiboot_loader.c: Likewise.
33685 * term/gfxterm.c: Likewise.
33686 * term/i386/pc/serial.c: Likewise.
33687 * term/terminfo.c: Likewise.
33688
33689 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33690 * term/i386/pc/vga.c: Likewise.
33691 * video/readers/jpeg.c: Likewise.
33692 * video/readers/png.c: Likewise.
33693 * video/readers/tga.c: Likewise.
33694
33695 * util/grub-fstest (cmd_loopback): Removed.
33696 (cmd_blocklist): Likewise.
33697 (cmd_ls): Likewise.
33698 (grub_register_command): Likewise.
33699 (grub_unregister_command): Likewise.
33700 (execute_command): Use grub_command_find to locate command and execute
33701 it.
33702
33703 * include/grub/efi/chainloader.h: Removed.
33704 * loader/efi/chainloader_normal.c: Likewise.
33705 * loader/i386/bsd_normal.c: Likewise.
33706 * loader/i386/pc/chainloader_normal.c: Likewise.
33707 * loader/i386/pc/multiboot_normal.c: Likewise.
33708 * loader/linux_normal.c: Likewise.
33709 * loader/multiboot_loader_normal.c: Likewise.
33710 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33711
33712 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33713 and grub_register_command_p1.
33714
33715 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33716 kern/command.c, lib/arg.c and commands/extcmd.c.
33717 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33718 (minicmd_mod_SOURCES): New variable.
33719 (minicmd_mod_CFLAGS): Likewise.
33720 (minicmd_mod_LDFLAGS): Likewise.
33721 (extcmd_mod_SOURCES): Likewise.
33722 (extcmd_mod_CFLAGS): Likewise.
33723 (extcmd_mod_LDFLAGS): Likewise.
33724 (boot_mod_SOURCES): Removed.
33725 (boot_mod_CFLAGS): Likewise.
33726 (boot_mod_LDFLAGS): Likewise.
33727
33728 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33729 kern/corecmd.c.
33730 (kernel_img_HEADERS): Add command.h.
33731 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33732 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33733 and lib/arg.c.
33734 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33735 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33736 remove the corresponding normal mode command.
33737 (normal_mod_SOURCES): Remove normal/arg.c.
33738 * conf/i386-coreboot.rmk: Likewise.
33739 * conf/i386-efi.rmk: Likewise.
33740 * conf/i386-ieee1275.rmk: Likewise.
33741 * conf/powerpc-ieee1275.rmk: Likewise.
33742 * conf/x86_64-efi.rmk: Likewise.
33743
33744 * include/grub/arg.h: Move from here ...
33745 * include/grub/lib/arg.h: ... to here.
33746
33747 * normal/arg.c: Move from here ...
33748 * lib/arg.c: ... to here.
33749
33750 * commands/extcmd.c: New file.
33751 * commands/minicmd.c: Likewise.
33752 * include/grub/command.h: Likewise.
33753 * include/grub/extcmd.h: Likewise.
33754 * kern/command.c: Likewise.
33755 * kern/corecmd.c: Likewise.
33756
33757 * kern/list.c (grub_list_iterate): Return int instead of void.
33758 (grub_list_insert): New function.
33759 (grub_prio_list_insert): Likewise.
33760
33761 * kern/rescue.c (grub_rescue_command): Removed.
33762 (grub_rescue_command_list): Likewise.
33763 (grub_rescue_register_command): Likewise.
33764 (grub_rescue_unregister_command): Likewise.
33765 (grub_rescue_cmd_boot): Move to minicmd.c
33766 (grub_rescue_cmd_help): Likewise.
33767 (grub_rescue_cmd_info): Likewise.
33768 (grub_rescue_cmd_boot): Likewise.
33769 (grub_rescue_cmd_testload): Likewise.
33770 (grub_rescue_cmd_dump): Likewise.
33771 (grub_rescue_cmd_rmmod): Likewise.
33772 (grub_rescue_cmd_lsmod): Likewise.
33773 (grub_rescue_cmd_exit): Likewise.
33774 (grub_rescue_print_devices): Moved to corecmd.c.
33775 (grub_rescue_print_files): Likewise.
33776 (grub_rescue_cmd_ls): Likewise.
33777 (grub_rescue_cmd_insmod): Likewise.
33778 (grub_rescue_cmd_set): Likewise.
33779 (grub_rescue_cmd_unset): Likewise.
7d074e3c 33780 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 33781 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 33782 commands, remove grub_rescue_register_command calls.
b1b797cb 33783
7d074e3c 33784 * normal/command.c (grub_register_command): Removed.
b1b797cb 33785 (grub_unregister_command): Likewise.
33786 (grub_command_find): Likewise.
33787 (grub_iterate_commands): Likewise.
33788 (rescue_command): Likewise.
33789 (export_command): Moved to corecmd.c.
33790 (set_command): Removed.
33791 (unset_command): Likewise.
33792 (insmod_command): Likewise.
33793 (rmmod_command): Likewise.
33794 (lsmod_command): Likewise.
33795 (grub_command_init): Likewise.
33796
33797 * normal/completion.c (iterate_command): Use cmd->prio to check for
33798 active command.
33799 (complete_arguments): Use grub_extcmd_t structure to find options.
33800 (grub_normal_do_completion): Change function grub_iterate_commands to
33801 grub_command_iterate.
33802
33803 * normal/execute.c (grub_script_execute_cmd): No need to parse
33804 argument here.
33805
33806 * normal/main.c (grub_dyncmd_dispatcher): New function.
33807 (read_command_list): Register unload commands as dyncmd.
33808 (grub_cmd_normal): Use new command interface, register rescue,
33809 unregister normal at entry, register normal, unregister rescue at exit.
33810
33811 * include/grub/list.h (grub_list_test_t): New type.
33812 (grub_list_iterate): Return int instead of void.
33813 (grub_list_insert): New function.
33814 (GRUB_AS_NAMED_LIST_P): New macro.
33815 (GRUB_AS_PRIO_LIST): Likewise.
33816 (GRUB_AS_PRIO_LIST_P): Likewise.
33817 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33818 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33819 (grub_prio_list): New structure.
33820 (grub_prio_list_insert): New function.
33821 (grub_prio_list_remove): New inline function.
33822
33823 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33824 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33825 (GRUB_COMMAND_FLAG_MENU): Likewise.
33826 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33827 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33828 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33829 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33830 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33831 (grub_command): Likewise.
33832 (grub_register_command): Likewise.
33833 (grub_command_find): Likewise.
33834 (grub_iterate_commands): Likewise.
33835 (grub_command_init): Likewise.
33836 (grub_arg_parse): Likewise.
33837 (grub_arg_show_help): Likewise.
33838
33839 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33840 (grub_rescue_unregister_command): Likewise.
33841
33842 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33843 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33844 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33845
33846 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33847 grub_rescue_cmd_initrd.
33848 * include/grub/i386/loader.h: Likewise.
33849 * include/grub/x86_64/loader.h: Likewise.
33850
33851 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33852
1f4147aa 338532009-03-21 Bean <bean123ch@gmail.com>
33854
33855 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33856 instead of stat in mingw environment.
33857
33858 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33859
33860 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33861
33862 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33863 AC_CONFIG_LINKS.
33864
2156d5ba 338652009-03-21 Bean <bean123ch@gmail.com>
33866
33867 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33868 out of range error.
33869
177b82ca 338702009-03-18 Michel Dänzer <michel@daenzer.net>
33871
33872 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33873 checking inode flags for EXT4_EXTENTS_FLAG.
33874
14aad807 338752009-03-18 Robert Millan <rmh@aybabtu.com>
33876
33877 * loader/i386/linux.c: Include `<grub/video.h>' and
33878 `<grub/i386/pc/vbe.h>'..
33879 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33880 (grub_linux32_boot): Attempt to configure video settings with
33881 grub_linux_setup_video().
33882 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33883 to avoid grub_console_fini() which would step out of graphical mode
33884 unconditionally.
33885
8cf83a27 338862009-03-14 Robert Millan <rmh@aybabtu.com>
33887
33888 Fix build on powerpc.
33889 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33890
40164e75 338912009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33892
33893 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33894 background image command.
33895
c58bc32a 338962009-03-12 Colin D Bennett <colin@gibibit.com>
33897
33898 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33899 (grub_gfxterm_putchar): Extract pairs of identical calls to
33900 draw_cursor out of conditional blocks.
33901
5415144a 339022009-03-11 Pavel Roskin <proski@gnu.org>
33903
33904 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33905 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33906
6394042e 339072009-03-11 Robert Millan <rmh@aybabtu.com>
33908
33909 * loader/i386/multiboot_elfxx.c
33910 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33911
b7b50e5f 339122009-03-11 Felix Zielcke <fzielcke@z-51.de>
33913
33914 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33915 `kern/handler.c'.
33916
1ca7fc96 339172009-03-11 Robert Millan <rmh@aybabtu.com>
33918
33919 * loader/i386/multiboot.c (code_size): New variable.
33920 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 33921 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 33922 4-byte alignment to MBI and others by increasing
7d074e3c 33923 `boot_loader_name_length' appropriately.
1ca7fc96 33924
33925 * loader/i386/multiboot_elfxx.c
33926 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33927
a83ea1d2 339282009-03-09 Felix Zielcke <fzielcke@z-51.de>
33929
33930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33931 `fs/ext2.c'.
33932
aa9f3bff 339332009-03-08 Robert Millan <rmh@aybabtu.com>
33934
33935 Make loader/i386/linux.c usable on i386-pc again.
33936
33937 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33938 memory to heap.
33939 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33940 `#error' stanza.
33941
d8b3b60e 339422009-03-07 Bean <bean123ch@gmail.com>
33943
33944 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33945 allocation.
33946
b362c9e9 339472009-03-06 Robert Millan <rmh@aybabtu.com>
33948
33949 Fix display issue on terminals with screen size other than 80x25
33950 (e.g. gfxterm with resolution higher than 640x480).
33951
33952 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 33953 position relative to the center of the terminal instead of relying
b362c9e9 33954 on a hardcoded offset.
33955
9304eef1 339562009-03-04 Robert Millan <rmh@aybabtu.com>
33957
33958 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33959 installed.
33960
33961 * Makefile.in (host_kernel): New variable.
33962 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33963 scripts instead of just the windows one.
33964 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33965
eabc95fb 339662009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 33967
33968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33969 `kern/handler.c'.
33970 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33971 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33974 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33975 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33976
ceb1223c 339772009-03-04 Felix Zielcke <fzielcke@z-51.de>
33978
33979 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33980 or if there's no space for the disk label and print the partition number on a
33981 invalid magic.
33982
4910684a 339832009-03-04 Felix Zielcke <fzielcke@z-51.de>
33984
33985 * util/misc.c: Include <time.h>.
33986 (grub_millisleep): New function.
33987
7e9ca17a 339882009-03-04 Bean <bean123ch@gmail.com>
33989
33990 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33991 another option -mno-red-zone.
33992
33993 * commands/handler.c: Change module description.
33994
33995 * kern/handler.c: Add missing space at the end of description line.
33996
33997 * kern/list.c: Likewise.
33998
f501677c 339992009-03-03 Robert Millan <rmh@aybabtu.com>
34000
34001 Move more components to the relocation area, and fix mbi pointer
34002 handling to use the destination rather than the origin (thanks to
34003 Vladimir Serbinenko for spotting).
34004
34005 * loader/i386/multiboot.c (mbi_dest): New variable.
34006 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34007 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34008 relocation area.
34009
9902d047 340102009-03-01 Bean <bean123ch@gmail.com>
34011
50fb7002 34012 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 34013 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34014 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34015 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34016
34017 * loader/i386/efi/linux.c (acpi_guid): New variable.
34018 (acpi_guid): Likewise.
34019 (EBDA_SEG_ADDR): New constant.
34020 (LOW_MEM_ADDR): Likewise.
34021 (FAKE_EBDA_SEG): Likewise.
34022 (fake_bios_data): New function.
34023 (grub_linux_boot): Call fake_bios_data.
34024
71b9f361 340252009-03-01 Bean <bean123ch@gmail.com>
34026
34027 * commands/terminal.c: Removed.
34028
34029 * commands/handler.c: New file.
34030
34031 * include/grub/list.h: Likewise.
34032
34033 * include/grub/handler.h: Likewise.
34034
34035 * kern/list.c: Likewise.
34036
34037 * kern/handler.c: Likewise.
34038
34039 * kern/term.h: Include header file <grub/handler.h>.
34040 (grub_term_input): Move next field to the beginning.
34041 (grub_term_output): Likewise.
34042 (grub_term_input_class): New variable.
34043 (grub_term_output_class): Likewise.
34044 (grub_term_register_input): Changed to inline function.
34045 (grub_term_register_output): Likewise.
34046 (grub_term_unregister_input): Likewise.
34047 (grub_term_unregister_output): Likewise.
34048 (grub_term_set_current_input): Likewise.
34049 (grub_term_set_current_output): Likewise.
34050 (grub_term_get_current_input): Likewise.
34051 (grub_term_get_current_output): Likewise.
34052 (grub_term_iterate_input): Removed.
34053 (grub_term_iterate_output): Likewise.
34054
34055 * kern/term.c (grub_term_list_input): Removed.
34056 (grub_term_list_output): Likewise.
34057 (grub_term_input_class): New variable.
34058 (grub_term_output_class): Likewise.
50fb7002 34059 (grub_cur_term_input): Change variable as macro.
71b9f361 34060 (grub_cur_term_output): Likewise.
34061 (grub_term_register_input): Removed.
34062 (grub_term_register_output): Likewise.
34063 (grub_term_unregister_input): Likewise.
34064 (grub_term_unregister_output): Likewise.
34065 (grub_term_set_current_input): Likewise.
34066 (grub_term_set_current_output): Likewise.
34067 (grub_term_iterate_input): Likewise.
34068 (grub_term_iterate_output): Likewise.
34069 (grub_term_get_current_input): Likewise.
34070 (grub_term_get_current_output): Likewise.
34071
34072 * util/grub-editenv.c: Include header file <grub/handler.h>.
34073 (grub_term_get_current_input): Removed.
34074 (grub_term_get_current_output): Likewise.
34075 (grub_term_input_class): New variable.
50fb7002 34076 (grub_term_output_class): Likewise.
71b9f361 34077
34078 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34079 (grub_term_get_current_output): Likewise.
34080 (grub_term_input_class): New variable.
50fb7002 34081 (grub_term_output_class): Likewise.
71b9f361 34082
34083 * util/grub-probe.c (grub_term_get_current_input): Removed.
34084 (grub_term_get_current_output): Likewise.
34085 (grub_term_input_class): New variable.
50fb7002 34086 (grub_term_output_class): Likewise.
71b9f361 34087
34088 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34089 (grub_term_get_current_output): Likewise.
34090 (grub_term_input_class): New variable.
50fb7002 34091 (grub_term_output_class): Likewise.
71b9f361 34092
34093 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34094 (terminal_mod_SOURCES): Likewise.
34095 (terminal_mod_CFLAGS): Likewise.
34096 (terminal_mod_LDFLAGS): Likewise.
34097
34098 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34099 handler.c.
34100 (kernel_img_SOURCES): Add list.c and handler.c.
34101 (kernel_img_HEADERS): Add list.h and handler.h.
34102
34103 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34104 handler.c.
34105 (kernel_mod_SOURCES): Add list.c and handler.c.
34106 (kernel_mod_HEADERS): Add list.h and handler.h.
34107
34108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34109 handler.c.
34110 (kernel_elf_SOURCES): Add list.c and handler.c.
34111 (kernel_elf_HEADERS): Add list.h and handler.h.
34112
34113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34114 handler.c.
34115 (kernel_elf_SOURCES): Add list.c and handler.c.
34116 (kernel_elf_HEADERS): Add list.h and handler.h.
34117
34118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34119 handler.c.
34120 (kernel_mod_SOURCES): Add list.c and handler.c.
34121 (kernel_mod_HEADERS): Add list.h and handler.h.
34122
34123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34124 handler.c.
34125 (kernel_elf_SOURCES): Add list.c and handler.c.
34126 (kernel_elf_HEADERS): Add list.h and handler.h.
34127
8a31787f 341282009-02-27 Robert Millan <rmh@aybabtu.com>
34129
34130 Factorize elf32 / elf64 code in Multiboot loader. This will
34131 prevent it from getting out of sync again.
34132
34133 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34134 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34135 grub_multiboot_load_elf64): Move from here ...
34136 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34137 grub_multiboot_load_elf): ... to here (new file).
34138
51cd3dfc 341392009-02-27 Robert Millan <rmh@aybabtu.com>
34140
34141 * util/grub.d/10_linux.in: Rename "single-user mode" to
34142 "recovery mode".
34143
6e8c9c3a 341442009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34145
34146 Don't leak in SCSI code.
34147 * disk/scsi.c (grub_scsi_close): free `scsi'.
34148
4b6bf4f9 341492009-02-27 Robert Millan <rmh@aybabtu.com>
34150
34151 * loader/i386/pc/multiboot.c: Move from here ...
34152 * loader/i386/multiboot.c: ... to here. Update all users.
34153
b9413424 341542009-02-27 Robert Millan <rmh@aybabtu.com>
34155
34156 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34157 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34158
50fb7002 341592009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34160
34161 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34162 b-tree.
34163
8cc50345 341642009-02-27 Robert Millan <rmh@aybabtu.com>
34165
34166 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34167 `0x' qualifier as 0 when base is specified as parameter).
34168
6e09b8b7 341692009-02-24 Bean <bean123ch@gmail.com>
34170
34171 * configure.ac: Check for -mcmodel=large in x86_64 target.
34172
34173 * include/grub/efi/api.h (efi_call_10): New macro.
34174 (efi_wrap_10): New function.
34175
34176 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34177 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34178 (GRUB_PE32_REL_BASED_LOW): Likewise.
34179 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34180 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34181 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34182 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34183 (GRUB_PE32_REL_BASED_REL): Likewise.
34184 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34185 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34186 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34187
34188 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34189 issue.
34190
34191 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34192 (efi_wrap_10): New function.
34193
34194 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34195
34196 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34197 MB/MBP model (NV chipset).
34198 (devdata_devs): Add devpath_5 to the list.
34199
34200 * load/i386/efi/linux.c (video_base): Remove variable.
34201 (RGB_MASK): New macro.
34202 (RGB_MAGIC): Likewise.
34203 (LINE_MIN): Likewise.
34204 (LINE_MAX): Likewise.
34205 (FBTEST_STEP): Likewise.
34206 (FBTEST_COUNT): Likewise.
34207 (fb_list): New variable.
34208 (grub_find_video_card): Remove function.
34209 (find_framebuf): New function.
34210 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34211 line length.
34212
34213 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34214 problem for x86_64.
34215
74b21bee 342162009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34217
34218 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34219
34220 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34221 coding tool name.
34222
a455f472 342232009-02-22 Robert Millan <rmh@aybabtu.com>
34224
34225 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34226 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34227 in our relocation, instead of using it directly from heap. Also
34228 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34229
6374daf3 342302009-02-21 Robert Millan <rmh@aybabtu.com>
34231
34232 Implement USB keyboard support (based on patch by Marco Gerards)
34233
34234 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34235 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34236 (usb_keyboard_mod_LDFLAGS): New variables.
34237
34238 * term/usb_keyboard.c: New file.
34239
8fa4ea70 342402009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34241
34242 Corrected wrong declaration
34243
34244 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34245
353976ac 342462009-02-14 Christian Franke <franke@computer.org>
34247
34248 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34249 (grub_lspci_iter): Print class code and programming interface byte.
34250
6aa1169b 342512009-02-14 Christian Franke <franke@computer.org>
34252
34253 * gendistlist.sh: Ignore `.svn' directories.
34254
265372ca 342552009-02-14 Felix Zielcke <fzielcke@z-51.de>
34256
34257 * fs/fat.c: Add 2009 to Copyright line.
34258
9ff516f3 342592009-02-14 Christian Franke <franke@computer.org>
34260
34261 * commands/hdparm.c: New file. Provides `hdparm' command
34262 which sends ATA commands via grub_disk_ata_pass_through ().
34263
34264 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34265
34266 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34267 and <grub/cpu/io.h> to include/grub/ata.h.
34268 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34269 (GRUB_CDROM_SECTOR_SIZE): Remove.
34270 (GRUB_ATA_*): Move to include/grub/ata.h.
34271 (GRUB_ATAPI_*): Likewise.
34272 (enum grub_ata_commands): Likewise.
34273 (enum grub_ata_timeout_milliseconds): Likewise.
34274 (struct grub_ata_device): Likewise.
34275 (grub_ata_regset): Likewise.
34276 (grub_ata_regget): Likewise.
34277 (grub_ata_regset2): Likewise.
34278 (grub_ata_regget2): Likewise.
34279 (grub_ata_check_ready): Likewise.
34280 (grub_ata_wait_not_busy): Remove static, exported in
34281 include/grub/ata.h.
34282 (grub_ata_wait_drq): Likewise.
34283 (grub_ata_pio_read): Likewise.
34284
34285 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34286 function for hdparm.mod.
34287
34288 * include/grub/ata.h: New file, contains declarations from
34289 disk/ata.c.
34290 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34291
34292 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34293 (grub_disk_ata_pass_through): New exported variable.
34294
34295 * kern/disk.c (grub_disk_ata_pass_through): New variable.
34296
772e23da 342972009-02-13 Colin D Bennett <colin@gibibit.com>
34298
34299 Support multiple fallback entries, and provide an API to support
34300 executing default+fallback menu entries. Renamed the `terminal' menu
34301 viewer to `text'.
34302
34303 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
34304 variable declaration.
34305 (grub_menu_execute_callback): New structure declaration.
34306 (grub_menu_execute_callback_t): New typedef.
34307 (grub_menu_execute_with_fallback): New function declaration.
34308 (grub_menu_get_entry): Likewise.
34309 (grub_menu_get_timeout): Likewise.
34310 (grub_menu_set_timeout): Likewise.
34311
34312 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
34313
34314 * normal/menu.c (grub_wait_after_message): Moved to
34315 `normal/menu_text.c'.
34316 (draw_border): Likewise.
34317 (print_message): Likewise.
34318 (print_entry): Likewise.
34319 (print_entries): Likewise.
34320 (grub_menu_init_page): Likewise.
34321 (get_entry_number): Likewise.
34322 (print_timeout): Likewise.
34323 (run_menu): Likewise.
34324 (grub_menu_execute_entry): Likewise.
34325 (show_text_menu): Likewise.
34326 (get_and_remove_first_entry_number): New function.
34327 (grub_menu_execute_with_fallback): Likewise.
34328 (get_entry): Renamed to ...
34329 (grub_menu_get_entry): .. this and made it global.
34330 (get_timeout): Renamed to ...
34331 (grub_menu_get_timeout): ... this and made it global.
34332 (set_timeout): Renamed to ...
34333 (grub_menu_set_timeout): ... this and made it global.
34334 (grub_normal_terminal_menu_viewer): Renamed to ...
34335 (grub_normal_text_menu_viewer): ... this.
34336
34337 * normal/menu_text.c: New file. Extracted text-menu-specific code
34338 from normal/menu.c.
34339
34340 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
34341 (normal_mod_SOURCES): Likewise.
34342
34343 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34344 (normal_mod_SOURCES): Likewise.
34345
34346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34347 (normal_mod_SOURCES): Likewise.
34348
34349 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
34350 (normal_mod_SOURCES): Likewise.
34351
34352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34353 (normal_mod_SOURCES): Likewise.
34354
34355 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34356 (normal_mod_SOURCES): Likewise.
34357
34358 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34359 (normal_mod_SOURCES): Likewise.
34360
16ac430e 343612009-02-11 Robert Millan <rmh@aybabtu.com>
34362
34363 * util/grub.d/00_header.in: Update old reference to `font' command.
34364
06ff20fc 343652009-02-10 Felix Zielcke <fzielcke@z-51.de>
34366
34367 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
34368
34369 Based on patch from Javier Martín.
34370
96da9407 343712009-02-09 Felix Zielcke <fzielcke@z-51.de>
34372
34373 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 34374 to avoid false positives with FAT.
96da9407 34375 (grub_fstest_SOURCES): Likewise.
34376 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34377 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34379 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34380 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34381 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34382
6dca6fe4 343832009-02-09 Felix Zielcke <fzielcke@z-51.de>
34384
06ff20fc 34385 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 34386 bpb.version_specific.fat12_or_fat16.fstype and
34387 bpb.version_specific.fat32.fstype.
34388
2550c62f 343892009-02-08 Robert Millan <rmh@aybabtu.com>
34390
be110b30 34391 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 34392
56978920 343932009-02-08 Robert Millan <rmh@aybabtu.com>
34394
34395 * Makefile.in (host_os, host_cpu): New variables.
34396 (target_os): Remove. Update all users.
34397
d64399b5 343982009-02-08 Marco Gerards <marco@gnu.org>
34399
34400 * Makefile.in (enable_grub_emu_usb): New variable.
34401 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
34402 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
34403 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
34404 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
34405 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
34406 `usbtest.mod' and `usbms.mod'.
34407 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
34408 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
34409 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
34410 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
34411 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
34412 variables.
34413
34414 * disk/usbms.c: New file.
34415
34416 * include/grub/usb.h: Likewise.
34417
34418 * include/grub/usbtrans.h: Likewise.
34419
34420 * include/grub/usbdesc.h: Likewise.
34421
34422 * bus/usb/usbtrans.c: Likewise.
34423
34424 * bus/usb/ohci.c: Likewise.
34425
34426 * bus/usb/uhci.c: Likewise.
34427
34428 * bus/usb/usbhub.c: Likewise.
34429
34430 * bus/usb/usb.c: Likewise.
34431
34432 * commands/usbtest.c: Likewise.
34433
34434 * util/usb.c: Likewise.
50fb7002 34435
d64399b5 34436 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34437
34438 * configure.ac: Test for libusb presence.
50fb7002 34439
d64399b5 34440 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34441
2b40d6bb 344422009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34443
34444 * kern/mm.c: Add more comments.
34445
73a4ce81 344462009-02-08 Robert Millan <rmh@aybabtu.com>
34447
34448 Patch from Javier Martín.
34449 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
34450 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
34451
f821ce59 344522009-02-08 Robert Millan <rmh@aybabtu.com>
34453
34454 * fs/cpio.c: Split tar functionality to ...
34455 * fs/tar.c: ... here (new file). Update all users.
34456
aebfc4b0 344572009-02-07 Robert Millan <rmh@aybabtu.com>
34458
34459 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34460 backward-incompatible features.
34461
34462 Based on patch from Javier Martín, with some adjustments.
34463
50fb7002 344642009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 34465
34466 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34467
0bb5115e 344682009-02-07 Robert Millan <rmh@aybabtu.com>
34469
34470 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34471 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34472 after the RAID stuff.
34473
38a0f8e7 344742009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34475
50fb7002 34476 Fixes problem when running vbetest command as reported by
38a0f8e7 34477 Vladimir Serbinenko <phcoder@gmail.com>.
34478
34479 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34480
3143cc1c 344812009-02-04 Felix Zielcke <fzielcke@z-51.de>
34482
34483 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34484 /dev/md/NpN style mdraid devices.
34485
9cba6fce 344862009-02-03 Felix Zielcke <fzielcke@z-51.de>
34487
34488 * util/unifont2pff.rb: Remove.
34489
e507a2c1 344902009-02-03 Felix Zielcke <fzielcke@z-51.de>
34491
34492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34493 `#'.
34494
d2c2b4cd 344952009-02-03 Felix Zielcke <fzielcke@z-51.de>
34496
34497 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34498 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34499 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34502 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34504
b4315fb0 345052009-02-02 Christian Franke <franke@computer.org>
34506
34507 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34508
de3aa260 345092009-02-01 Felix Zielcke <fzielcke@z-51.de>
34510
7c3ff286 34511 * INSTALL: Note that we now require at least autoconf 2.59 and
34512 that LZO is optional.
de3aa260 34513
825a182b 345142009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34515
34516 Base on patch on bug #24154 created by Tomas Tintera
34517 <trosos@seznam.cz>.
34518
34519 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34520
a69ef770 345212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34522
7c3ff286 34523 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 34524 <bero@arklinux.org>.
34525
34526 * normal/parser.y (script_init): Add missing semicolon.
34527
6fa42fa6 345282009-01-31 Colin D Bennett <colin@gibibit.com>
34529
7c3ff286 34530 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 34531 (free_menu_entry_classes): Added.
34532 (grub_normal_menu_addentry): Added class property handling.
34533 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34534 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34535
34536 * normal/menu_viewer.c: New file.
34537
34538 * normal/menu.c (run_menu_entry): Renamed to ...
34539 (grub_menu_execute_entry): ... this and made it as global.
34540 (grub_menu_run): Renamed to ...
34541 (show_text_menu): ... this and made it local.
34542 (show_text_menu): Adapt to new function names.
34543 (grub_normal_terminal_menu_viewer): New global variable.
34544
34545 * include/grub/menu.h: New file.
34546
34547 * include/grub/menu_viewer.h: New file.
34548
34549 * include/grub/normal.h: Added include to grub/menu.h.
34550 (grub_menu_entry): Moved to include/grub/menu.h.
34551 (grub_menu_entry_t): Likewise.
34552 (grub_menu): Likewise.
34553 (grub_menu_t): Likewise.
34554 (grub_normal_terminal_menu_viewer): Added.
34555 (grub_menu_execute_entry): Likewise.
34556 (grub_menu_run): Removed.
34557
34558 * DISTLIST: Added include/grub/menu.h.
34559 Added include/grub/menu_viewer.h.
34560 Added normal/menu_viewer.c.
34561
345622009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34563
34564 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34565 arglist for menutitle arguments.
34566
34567 * normal/main.c (grub_normal_menu_addentry): Likewise.
34568
34569 * normal/parser.y (menuentry): Likewise.
34570
34571 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34572
34573 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34574 (grub_script_create_cmdmenu): Likewise.
34575
34576 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34577
34578 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34579 changes.
34580
34581 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34582
34583 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34584
34585 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34586
34587 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34588
34589 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34590
34591 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34592
56192c23 345932009-01-30 Christian Franke <franke@computer.org>
34594
34595 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34596 in option help text.
34597
d72521b3 345982009-01-27 Pavel Roskin <proski@gnu.org>
34599
34600 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34601
994b5e84 346022009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34603
34604 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34605
34606 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34607
34608 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34609 unregister function.
34610
6a7eab2c 346112009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34612
34613 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34614
34615 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34616
34617 * util/grub-mkfont.c (usage): Fix typo.
34618
34619 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34620
1806b56e 346212009-01-26 Daniel Mierswa <impulze@impulze.org>
34622
3fb18f09 34623 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34624
336e1fb9 34625 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34626
1806b56e 34627 * kern/misc.c (grub_strcasecmp): New function.
34628 (grub_strcasecmp): Use grub_size_t instead of int for length.
34629 Fix return value.
34630 * include/grub/misc.h: Update function prototypes.
34631
580b2a0f 346322009-01-26 Robert Millan <rmh@aybabtu.com>
34633
34634 * configure.ac: Fix cross-compilation check.
ef257b36 34635
d31c24f1 346362009-01-22 Christian Franke <franke@computer.org>
34637
34638 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34639 (precision) digit string. Allow `.format2' without `format1' (width).
34640 Limit input chars for `%s' output to `format2' if specified. This is
34641 compatible with standard printf ().
34642
3138b44c 346432009-01-22 Christian Franke <franke@computer.org>
34644
34645 * disk/ata.c (grub_ata_wait_status): Replace by ...
34646 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34647 other status bits may be invalid while BSY is asserted.
34648 (grub_ata_check_ready): New function.
34649 (grub_ata_cmd): Removed.
34650 (grub_ata_wait_drq): New function.
34651 (grub_ata_strncpy): Remove inline.
34652 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34653 and error check now done by grub_ata_wait_drq ().
34654 (grub_ata_pio_write): Likewise.
34655 (grub_atapi_identify): Set DEV before check for !BSY. Use
34656 grub_ata_wait_drq () to wait for data.
34657 (grub_ata_device_initialize): Add status register check to
34658 detect missing SATA slave devices. Add debug messages.
34659 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34660 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34661 transfer loop by grub_ata_pio_write ().
34662 (grub_ata_identify): Set DEV before check for !BSY. Use
34663 grub_ata_wait_drq () to wait for data.
ef257b36 34664 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 34665 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34666 read/write in one loop. Fix invalid command on write. Fix incomplete
34667 command on (size % batch) == 0. Add missing error check after write of
34668 last block. Add debug messages.
34669 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34670
59a64ef6 346712009-01-19 Christian Franke <franke@computer.org>
34672
34673 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34674 (GRUB_ATAPI_IREASON_*): Likewise.
34675 (grub_ata_pio_write): Fix timeout error return.
34676 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34677 (grub_atapi_wait_drq): New function.
34678 (grub_atapi_packet): New parameter `size'.
34679 Use grub_atapi_wait_drq () and direct write instead of
34680 grub_ata_pio_write ().
34681 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34682 reads the number of bytes requested by the device for each DRQ
34683 assertion.
34684 (grub_atapi_write): Remove old implementation, return not
34685 implemented instead.
34686
1cfe20b3 346872009-01-19 Christian Franke <franke@computer.org>
34688
34689 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34690 of 512 to calculate data size.
34691 (grub_scsi_read12): Likewise.
34692 (grub_scsi_write10): Likewise.
34693 (grub_scsi_write12): Likewise.
34694 (grub_scsi_read): Adjust size according to blocksize.
34695 Add checks for invalid blocksize and unaligned transfer.
34696
bee5fe5d 346972009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34698
34699 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34700
ef257b36 34701 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 34702 width glyphs.
34703
3e643f8c 347042009-01-19 Robert Millan <rmh@aybabtu.com>
34705
34706 * config.guess: Update to latest version from config git.
34707 * config.sub: Likewise.
34708
4fa80998 347092009-01-17 Felix Zielcke <fzielcke@z-51.de>
34710
34711 * Makefile.in: Change font compilation to use new grub-mkfont instead
34712 of java version.
34713
34714 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34715 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34716 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34717 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34718 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34719 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34720 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34721 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34722 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34723
7086085b 347242009-01-16 Christian Franke <franke@computer.org>
34725
34726 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34727 (enum grub_ata_timeout_milliseconds): New enum.
34728 (grub_ata_wait_status): Add parameter milliseconds.
34729 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34730 recovery from timed-out commands.
34731 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34732 return grub_errno instead of REG_ERROR.
34733 (grub_ata_pio_write): Add parameter milliseconds.
34734 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34735 Pass milliseconds to grub_ata_wait_status () and
34736 grub_ata_pio_read ().
34737 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34738 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34739 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34740 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34741 It is not suitable for device detection, because DEV bit is ignored,
34742 the command may run too long, and not all devices set the signature
34743 properly.
34744 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34745 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34746 Fix device selection, DEV bit must be set first to address the registers
34747 of the correct device.
34748 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34749 grub_ata_pio_read/write ().
34750 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34751 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34752
4a412913 347532009-01-13 Carles Pina i Estany <carles@pina.cat>
34754
34755 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34756
7795c55e 347572009-01-13 Bean <bean123ch@gmail.com>
d913988c 34758
34759 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34760
7795c55e 347612009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 34762
34763 * Makefile.in: (enable_grub_mkfont): New variable.
34764 (freetype_cflags): Likewise.
34765 (freetype_libs): Likewise.
34766
34767 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34768 (grub_mkfont_SOURCES): New variable.
34769 (grub_mkfont_CFLAGS): Likewise.
34770 (grub_mkfont_LDFLAGS): Likewise.
34771
34772 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34773 library if `--enable-grub-mkfont' is requested.
34774 (enable_grub_mkfont): New variable.
34775 (freetype_cflags): Likewise.
34776 (freetype_libs): Likewise.
34777
34778 * util/grub-mkfont.c: New file.
34779
093af1fe 347802009-01-12 Christian Franke <franke@computer.org>
34781
34782 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34783 mode check. Fix setting of compat_use[].
34784
f36cc108 347852009-01-10 Robert Millan <rmh@aybabtu.com>
34786
34787 Update a few copyright years which we forgot to do in 2008 (only for
34788 files whose changes made in 2008 were copyright-significant)
34789
34790 * Makefile.in: Add 2008 to Copyright line.
34791 * disk/ieee1275/ofdisk.c: Likewise.
34792 * disk/efi/efidisk.c: Likewise.
34793 * kern/dl.c: Likewise.
34794 * kern/sparc64/ieee1275/init.c: Likewise.
34795 * kern/mm.c: Likewise.
34796 * kern/efi/mm.c: Likewise.
34797 * boot/i386/pc/boot.S: Likewise.
34798 * genfslist.sh: Likewise.
34799 * fs/iso9660.c: Likewise.
34800 * fs/hfs.c: Likewise.
34801 * fs/jfs.c: Likewise.
34802 * fs/minix.c: Likewise.
34803 * fs/ufs.c: Likewise.
34804 * gensymlist.sh.in: Likewise.
34805 * genkernsyms.sh.in: Likewise.
34806 * include/grub/misc.h: Likewise.
34807 * include/grub/types.h: Likewise.
34808 * include/grub/symbol.h: Likewise.
34809 * include/grub/elf.h: Likewise.
34810 * include/grub/kernel.h: Likewise.
34811 * include/grub/disk.h: Likewise.
34812 * include/grub/dl.h: Likewise.
34813 * include/grub/i386/linux.h: Likewise.
34814 * include/grub/i386/pc/biosdisk.h: Likewise.
34815 * include/grub/efi/api.h: Likewise.
34816 * include/grub/efi/pe32.h: Likewise.
34817 * include/grub/util/misc.h: Likewise.
34818 * normal/execute.c: Likewise.
34819 * normal/arg.c: Likewise.
34820 * normal/completion.c: Likewise.
34821 * normal/lexer.c: Likewise.
34822 * normal/parser.y: Likewise.
34823 * normal/misc.c: Likewise.
34824 * commands/i386/pc/vbeinfo.c: Likewise.
34825 * commands/hexdump.c: Likewise.
34826 * commands/terminal.c: Likewise.
34827 * commands/ls.c: Likewise.
34828 * commands/help.c: Likewise.
34829 * partmap/pc.c: Likewise.
34830 * loader/efi/chainloader.c: Likewise.
34831 * loader/multiboot_loader.c: Likewise.
34832 * loader/i386/pc/multiboot2.c: Likewise.
34833 * term/efi/console.c: Likewise.
34834 * term/i386/pc/serial.c: Likewise.
34835 * util/lvm.c: Likewise.
34836 * util/console.c: Likewise.
34837 * util/i386/efi/grub-mkimage.c: Likewise.
34838 * util/raid.c: Likewise.
34839
7f02114b 348402009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34841
34842 * commands/videotest.c: Removed include to grub/machine/memory.h.
34843
34844 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34845 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34846 (video_mod_SOURCES): Removed.
34847 (video_mod_CFLAGS): Likewise.
34848 (video_mod_LDFLAGS): Likewise.
34849 (gfxterm_mod_SOURCES): Likewise.
34850 (gfxterm_mod_CFLAGS): Likewise.
34851 (gfxterm_mod_LDFLAGS): Likewise.
34852 (videotest_mod_SOURCES): Likewise.
34853 (videotest_mod_CFLAGS): Likewise.
34854 (videotest_mod_LDFLAGS): Likewise.
34855 (bitmap_mod_SOURCES): Likewise.
34856 (bitmap_mod_CFLAGS): Likewise.
34857 (bitmap_mod_LDFLAGS): Likewise.
34858 (tga_mod_SOURCES): Likewise.
34859 (tga_mod_CFLAGS): Likewise.
34860 (tga_mod_LDFLAGS): Likewise.
34861 (jpeg_mod_SOURCES): Likewise.
34862 (jpeg_mod_CFLAGS): Likewise.
34863 (jpeg_mod_LDFLAGS): Likewise.
34864 (png_mod_SOURCES): Likewise.
34865 (png_mod_CFLAGS): Likewise.
34866 (png_mod_LDFLAGS): Likewise.
34867
34868 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34869 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34870 (video_mod_SOURCES): Added.
34871 (video_mod_CFLAGS): Likewise.
34872 (video_mod_LDFLAGS): Likewise.
34873 (videotest_mod_SOURCES): Likewise.
34874 (videotest_mod_CFLAGS): Likewise.
34875 (videotest_mod_LDFLAGS): Likewise.
34876 (bitmap_mod_SOURCES): Likewise.
34877 (bitmap_mod_CFLAGS): Likewise.
34878 (bitmap_mod_LDFLAGS): Likewise.
34879 (tga_mod_SOURCES): Likewise.
34880 (tga_mod_CFLAGS): Likewise.
34881 (tga_mod_LDFLAGS): Likewise.
34882 (jpeg_mod_SOURCES): Likewise.
34883 (jpeg_mod_CFLAGS): Likewise.
34884 (jpeg_mod_LDFLAGS): Likewise.
34885 (png_mod_SOURCES): Likewise.
34886 (png_mod_CFLAGS): Likewise.
34887 (png_mod_LDFLAGS): Likewise.
34888 (gfxterm_mod_SOURCES): Likewise.
34889 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 34890 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 34891
34892 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34893 grub/machine/console.h.
34894
644fff97 348952009-01-04 Jerone Young <jerone@gmail.com>
34896
34897 Make on screen instructions clearer
34898
34899 Based on patch created by Jidanni <jidanni@jidanni.org>
34900
34901 * normal/menu.c: print clearer instructions on the screen
34902
1e901a75 349032009-01-02 Colin D Bennett <colin@gibibit.com>
34904
34905 New font engine.
34c44600 34906
1e901a75 34907 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34908 build system and fixed gfxterm.c to work with different sized fonts.
34909
34910 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 34911
1e901a75 34912 * configure: Re-generated.
34c44600 34913
1e901a75 34914 * DISTLIST: Removed font/manager.c.
34915 Added font/font.c.
34916 Added font/font_cmd.c.
34c44600 34917
1e901a75 34918 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34919 compilation.
34c44600 34920
1e901a75 34921 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 34922
34923 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 34924
34925 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 34926
1e901a75 34927 * normal/menu.c: Likewise.
34c44600 34928
1e901a75 34929 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34930 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 34931
1e901a75 34932 * include/grub/font.h: Replaced with new file.
34c44600 34933
1e901a75 34934 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34935 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34936 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34937 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34938 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 34939 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 34940 fg_red, fg_green, fg_blue, fg_alpha.
34941 (grub_video_adapter): Removed blit_glyph.
34c44600 34942 (grub_video_blit_glyph): Removed.
34943
1e901a75 34944 * font/manager.c: Removed file.
34c44600 34945
34946 * font/font.c: New file.
34947
1e901a75 34948 * font/font_cmd.c: Likewise.
34c44600 34949
1e901a75 34950 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 34951
1e901a75 34952 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34953 (grub_video_vbe_map_rgba): Likewise.
34954 (grub_video_vbe_unmap_color_int): Likewise.
34955 (grub_video_vbe_blit_glyph): Removed.
34956 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 34957
1e901a75 34958 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34959 (get_pixel): Likewise.
34c44600 34960 (set_pixel): Likewise.
34961
1e901a75 34962 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 34963
1e901a75 34964 * term/gfxterm.c: Adapted to new font engine.
34c44600 34965
1e901a75 34966 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 34967
1e901a75 34968 * term/i386/pc/vga.c: Likewise.
34c44600 34969
1e901a75 34970 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 34971
1e901a75 34972 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 34973
1e901a75 34974 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34975
1e901a75 34976 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 34977
1e901a75 34978 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 34979
1e901a75 34980 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 34981
1e901a75 34982 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 34983
1e901a75 34984 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 34985
1e901a75 34986 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34987
34988 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 34989
1e901a75 34990 * util/grub-mkconfig_lib.in: Changed font extension.
34991
278922e8 349922008-12-28 Felix Zielcke <fzielcke@z-51.de>
34993
34994 * util/getroot.c (grub_util_get_grub_dev): Add support for
34995 /dev/md/dNNpNN style partitionable mdraid devices.
34996
3ced05cf 349972008-12-12 Alex Smith <alex@alex-smith.me.uk>
34998
34999 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35000 at a time limit of the PXE TFTP API correctly.
35001 (grub_pxefs_close): Likewise.
35002
7fd0ee30 350032008-11-29 Robert Millan <rmh@aybabtu.com>
35004
34c44600 35005 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35006 grub_ata_device_initialize() calls.
35007
34c44600 350082008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 35009
35010 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35011 iteration failed.
35012 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35013
89313780 350142008-11-28 Robert Millan <rmh@aybabtu.com>
35015
35016 Fix build on powerpc-ieee1275. Based on patch created by
35017 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35018 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35019 `kern/ieee1275/mmap.c'.
35020 * include/grub/powerpc/ieee1275/memory.h: New file.
35021
15257703 35022 Provide grub-install on coreboot.
35023 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35024 (grub_install_SOURCES): New variable.
35025 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35026 usable on coreboot.
35027
9fc5388a 350282008-11-25 Felix Zielcke <fzielcke@z-51.de>
35029
35030 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35031 to `grub_term_input_t'.
35032 (grub_term_get_current_output): Change return type to
35033 `grub_term_output_t'.
35034
bc3a2f31 350352008-11-22 Robert Millan <rmh@aybabtu.com>
35036
34c44600 35037 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35038 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35039 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35040 grub_vga_text_cls().
35041
80fc88f2 35042 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35043 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35044
cbf36fd3 35045 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35046 to 0x200000 (avoids trouble with some OFW implementations, and matches
35047 with the one in Yaboot).
35048 Reported by Manoel Abranches
35049
73e8e268 350502008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35051
35052 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35053 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35054
73e8e268 35055 * util/grub-mkconfig_lib.in (grub_warn): New function.
35056 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35057 warnings, to obtain consistent formatting.
35058 * util/grub.d/00_header.in: Likewise.
35059 * util/update-grub_lib.in: Likewise.
35060
e94045a1 35061 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35062 Move comment text to `#error' stanza.
e94045a1 35063
79d29fd7 35064 Harmonize ieee1275's grub_available_iterate() with the generic
35065 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35066 build problem on i386-ieee1275):
35067 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35068 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35069 parameter `type'. Update all users of this function.
35070 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35071 `kern/ieee1275/mmap.c'.
35072 * kern/ieee1275/init.c
35073 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35074 with ...
35075 (grub_machine_mmap_iterate): ... this.
35076 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35077 return type to `grub_err_t'. Update all implementations of this
35078 function prototype.
35079 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35080 Likewise.
35081
60d6b16e 35082 Add `lsmmap' command (lists firmware-provided memory map):
35083 * commands/lsmmap.c: New file.
35084 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35085 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35086 variables.
35087 * conf/powerpc-ieee1275.rmk: Likewise.
35088 * conf/i386-coreboot.rmk: Likewise.
35089 * conf/i386-ieee1275.rmk: Likewise.
35090
ebaaf49b 350912008-11-19 Robert Millan <rmh@aybabtu.com>
35092
35093 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35094 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35095 constraints to initrd allocation (based on code from
35096 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35097 for Linux to find it.
ebaaf49b 35098
dfab719f 350992008-11-14 Robert Millan <rmh@aybabtu.com>
35100
35101 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35102 order to cope with duplicate slashes.
35103
10fc3eb9 351042008-11-14 Robert Millan <rmh@aybabtu.com>
35105
35106 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35107 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35108 don't want to mess with lower memory, because it is used in the Linux
35109 loader.
35110
35111 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35112 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35113 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35114 is in our heap (probably as a result of it being corrupted during
2f2a3442 35115 decompression). Add #error instance with comment to explain why this
35116 loader isn't currently usable on PC/BIOS.
10fc3eb9 35117
e2e07847 351182008-11-14 Robert Millan <rmh@aybabtu.com>
35119
35120 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35121 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35122
fe8e8d69 351232008-11-12 Robert Millan <rmh@aybabtu.com>
35124
35125 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35126
35127 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35128 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35129 from here ...
35130 * include/grub/i386/pc/memory.h: ... to here.
35131
976b07d0 351322008-11-12 Robert Millan <rmh@aybabtu.com>
35133
35134 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35135 split).
35136
35137 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35138 (grub_console_cur_color, grub_console_real_putchar)
35139 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35140 (grub_console_setcolorstate, grub_console_setcolor)
35141 (grub_console_getcolor): Move from here ...
35142 * include/grub/i386/vga_common.h: ... to here (new file).
35143
35144 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35145 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35146 `<grub/i386/io.h>'.
35147 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35148 `<grub/i386/vga_common.h>'.
35149
76679cd3 351502008-11-12 Robert Millan <rmh@aybabtu.com>
35151
35152 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35153 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35154 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35155 variables.
35156 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35157 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35158
35159 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35160 grub_console_init() with call to grub_vga_text_init().
35161 (grub_machine_fini): Replace call to
35162 grub_console_fini() with call to grub_vga_text_fini() and
35163 grub_at_keyboard_fini().
35164
35165 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35166 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35167 (grub_console_setcolorstate, grub_console_setcolor)
35168 (grub_console_getcolor): New function prototypes.
35169
35170 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35171 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35172 (grub_vga_text_setcursor): Static-ize.
35173 (grub_vga_text_term): New structure.
35174 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35175
35176 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35177 (grub_console_cur_color, grub_console_standard_color)
35178 (grub_console_normal_color, grub_console_highlight_color)
35179 (map_char, grub_console_putchar, grub_console_getcharwidth)
35180 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35181 (grub_console_getcolor): Move from here ...
35182 * term/i386/vga_common.c: ... to here (same function names).
35183
95b841d3 351842008-11-12 Robert Millan <rmh@aybabtu.com>
35185
35186 Use newly-added Multiboot support in coreboot.
35187
35188 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35189 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35190
35191 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35192 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35193 (codestart): Store the MBI in `startup_multiboot_info' when we're
35194 being loaded using Multiboot.
35195
35196 * kern/i386/coreboot/init.c (grub_machine_init): Move
35197 grub_at_keyboard_init() call to beginning of function (useful for
35198 debugging). Call grub_machine_mmap_init() before attempting to use
35199 grub_machine_mmap_iterate().
35200 (grub_lower_mem, grub_upper_mem): Move from here ...
35201 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35202 here (new file).
35203
35204 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35205 function prototype.
35206
761ca975 352072008-11-12 Robert Millan <rmh@aybabtu.com>
35208
35209 Fix a regression introduced by the at_keyboard.mod split. Because
35210 some terminals are default on some platforms and non-default on
35211 others, the first terminal being registered determines which is
35212 going to be default.
35213
35214 * kern/term.c (grub_term_register_input): If this is the first
35215 terminal being registered, set it as the current one.
35216 (grub_term_register_output): Likewise.
35217
35218 * term/efi/console.c (grub_console_init): Do not call
35219 grub_term_set_current_output() or grub_term_set_current_input().
35220 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35221 * term/i386/pc/console.c (grub_console_init): Likewise.
35222 (grub_console_fini): Do not call grub_term_set_current_input()
35223 (but leave grub_term_set_current_output() to restore text mode).
35224
6c529df7 352252008-11-10 Robert Millan <rmh@aybabtu.com>
35226
35227 * util/grub.d/00_header.in: Add backward compatibility check for
35228 versions of terminal.mod that don't understand `terminal_input' or
35229 `terminal_output'.
35230
132e4113 352312008-11-09 Robert Millan <rmh@aybabtu.com>
35232
35233 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35234 `terminal_input' / `terminal_output', not `terminal'.
35235
ac293d50 352362008-11-08 Robert Millan <rmh@aybabtu.com>
35237
35238 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35239 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35240
0025933a 352412008-11-08 Robert Millan <rmh@aybabtu.com>
35242
35243 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35244 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 35245 members. Update all users.
35246 * util/console.c (grub_ncurses_term): Split in ...
35247 (grub_ncurses_term_input): ... this, and ...
35248 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 35249 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35250
37c86336 352512008-11-08 Robert Millan <rmh@aybabtu.com>
35252
35253 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35254 (PKGDATA): Add $(pkgdata_SRCDIR).
35255 (pkglib_BUILDDIR): New variable.
35256 (pkgdata_SRCDIR): New variable.
35257 (build_env.mk): New target.
35258 (include_DATA): New variable.
35259 (install-local): Install $(include_DATA) files in $(includedir).
35260
b6c15a2d 352612008-11-07 Pavel Roskin <proski@gnu.org>
35262
d99d46f1 35263 * gendistlist.sh: Use C locale for sorting to ensure consistent
35264 output on all systems.
35265
b6c15a2d 35266 * util/grub.d/00_header.in: Remove incorrect space before
35267 "serial".
35268
c32ee8c9 352692008-11-07 Robert Millan <rmh@aybabtu.com>
35270
35271 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35272 per specification.
35273 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35274 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35275 (based on find_multi_boot1_header).
35276 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35277 using find_multi_boot2_header(), and abort if neither Multiboot or
35278 Multiboot headers were found.
35279
651c29b7 352802008-11-07 Robert Millan <rmh@aybabtu.com>
35281
35282 Modularize at_keyboard.mod:
35283
35284 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35285 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35286 (at_keyboard_mod_LDFLAGS): New variables.
35287
35288 Actual terminal split:
35289
35290 * include/grub/term.h (struct grub_term): Split in ...
35291 (struct grub_term_input): ... this, and ...
35292 (struct grub_term_output): ... this. Update all users.
35293 (grub_term_set_current): Split in ...
35294 (grub_term_set_current_input): ... this, and ...
35295 (grub_term_set_current_output): ... this.
35296 (grub_term_get_current): Split in ...
35297 (grub_term_get_current_input): ... this, and ...
35298 (grub_term_get_current_output): ... this.
35299 (grub_term_register): Split in ...
35300 (grub_term_register_input): ... this, and ...
35301 (grub_term_register_output): ... this.
35302 (grub_term_unregister): Split in ...
35303 (grub_term_unregister_input): ... this, and ...
35304 (grub_term_unregister_output): ... this.
35305 (grub_term_iterate): Split in ...
35306 (grub_term_iterate_input): ... this, and ...
35307 (grub_term_iterate_output): ... this.
35308
35309 * kern/term.c (grub_term_list): Split in ...
35310 (grub_term_list_input): ... this, and ...
35311 (grub_term_list_output): ... this. Update all users.
35312 (grub_cur_term): Split in ...
35313 (grub_cur_term_input): ... this, and ...
35314 (grub_cur_term_output): ... this. Update all users.
35315 (grub_term_set_current): Split in ...
35316 (grub_term_set_current_input): ... this, and ...
35317 (grub_term_set_current_output): ... this.
35318 (grub_term_get_current): Split in ...
35319 (grub_term_get_current_input): ... this, and ...
35320 (grub_term_get_current_output): ... this.
35321 (grub_term_register): Split in ...
35322 (grub_term_register_input): ... this, and ...
35323 (grub_term_register_output): ... this.
35324 (grub_term_unregister): Split in ...
35325 (grub_term_unregister_input): ... this, and ...
35326 (grub_term_unregister_output): ... this.
35327 (grub_term_iterate): Split in ...
35328 (grub_term_iterate_input): ... this, and ...
35329 (grub_term_iterate_output): ... this.
35330
35331 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
35332 a check for input and one for output (and only attempt to get keys
35333 from user when input works).
35334
35335 * util/grub-probe.c (grub_term_get_current): Split in ...
35336 (grub_term_get_current_input): ... this, and ...
35337 (grub_term_get_current_output): ... this.
35338 * util/grub-fstest.c: Likewise.
35339 * util/i386/pc/grub-setup.c: Likewise.
35340 * util/grub-editenv.c: Likewise.
35341
35342 Portability adjustments:
35343
35344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
35345 `term/i386/pc/at_keyboard.c'.
35346 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
35347 grub_keyboard_controller_init() (now handled by terminal .init).
35348 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
35349 grub_at_keyboard_init().
35350 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
35351 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
35352 at_keyboard.mod via input terminal interface).
35353 * include/grub/i386/coreboot/console.h: Convert into a stub for
35354 `<grub/i386/pc/console.h>'.
35355
35356 Migrate full terminals to new API:
35357
35358 * term/efi/console.c (grub_console_term): Split into ...
35359 (grub_console_term_input): ... this, and ...
35360 (grub_console_term_output): ... this. Update all users.
35361 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
35362 (grub_ofconsole_init): Split into ...
35363 (grub_ofconsole_init_input): ... this, and ...
35364 (grub_ofconsole_init_output): ... this.
35365 (grub_ofconsole_term): Split into ...
35366 (grub_ofconsole_term_input): ... this, and ...
35367 (grub_ofconsole_term_output): ... this. Update all users.
35368 * term/i386/pc/serial.c (grub_serial_term): Split into ...
35369 (grub_serial_term_input): ... this, and ...
35370 (grub_serial_term_output): ... this. Update all users.
35371 * term/i386/pc/console.c (grub_console_term): Split into ...
35372 (grub_console_term_input): ... this, and ...
35373 (grub_console_term_output): ... this. Update all users.
35374 (grub_console_term_input): Only enable it on PC/BIOS platform.
35375 (grub_console_init): Remove grub_keyboard_controller_init() call.
35376
35377 Migrate input terminals to new API:
35378
35379 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
35380 `i386' and `i386/pc' to enable build on x86_64 (this driver is
35381 i386-specific anyway).
35382 (grub_console_checkkey): Rename to ...
35383 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
35384 users.
35385 (grub_keyboard_controller_orig): New variable.
35386 (grub_console_getkey): Rename to ...
35387 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
35388 users.
35389 (grub_keyboard_controller_init): Static-ize. Save original
35390 controller value so that it can be restored ...
35391 (grub_keyboard_controller_fini): ... here (new function).
35392 (grub_at_keyboard_term): New structure.
35393 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
35394 functions.
35395
35396 Migrate output terminals to new API:
35397
35398 * term/i386/pc/vga.c (grub_vga_term): Change type to
35399 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35400 members. Update all users.
35401 * term/gfxterm.c (grub_video_term): Change type to
35402 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35403 members. Update all users.
35404 * include/grub/i386/pc/console.h (grub_console_checkkey)
35405 (grub_console_getkey): Do not export (no longer needed by gfxterm,
35406 etc).
35407
35408 Migrate `terminal' command and userland tools to new API:
35409
35410 * commands/terminal.c (grub_cmd_terminal): Split into ...
35411 (grub_cmd_terminal_input): ... this, and ...
35412 (grub_cmd_terminal_output): ... this.
35413 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
35414 `terminal_input' and `terminal_output'.
35415 * util/grub.d/00_header.in: Adjust `terminal' calls to new
35416 `terminal_input' / `terminal_output' API.
35417 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
35418 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
35419 provided ${GRUB_TERMINAL}, convert it).
35420
96e5d876 354212008-11-04 Robert Millan <rmh@aybabtu.com>
35422
35423 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
35424 for FreeBSD.
35425 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
35426
556f3775 354272008-11-03 Bean <bean123ch@gmail.com>
35428
35429 * kern/elf.c (grub_elf32_load): Revert to previous code.
35430 (grub_elf64_load): Likewise.
35431
35432 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
35433
926b9823 354342008-11-01 Robert Millan <rmh@aybabtu.com>
35435
35436 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
35437 (TARGET_CPPFLAGS): Likewise.
35438 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
35439
1432e958 354402008-11-01 Carles Pina i Estany <carles@pina.cat>
35441
35442 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
35443
dba3f844 354442008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 35445
35446 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
35447 addition of objects until the code is not going to be able to fail.
35448
dba3f844 354492008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 35450
35451 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
35452 (add a missing NULL check, and correct them by moving the pointer
35453 operations after the actual check).
35454
7ab28c21 354552008-10-29 Robert Millan <rmh@aybabtu.com>
35456
35457 * util/i386/pc/grub-install.in: Handle empty string as output from
35458 make_system_path_relative_to_its_root().
35459
1b7748eb 354602008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35461
35462 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35463 circular metadata worst case scenario. If the metadata is circular
35464 then copy the wrap in place.
35465 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35466 project lib/format_text/layout.h
35467 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35468
c9618ab2 354692008-10-03 Felix Zielcke <fzielcke@z-51.de>
35470
7a36edca 35471 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 35472
bf981c62 354732008-10-03 Felix Zielcke <fzielcke@z-51.de>
35474
35475 * util/update-grub_lib.in: Mention filename in warning message.
35476
6d994591 354772008-09-29 Felix Zielcke <fzielcke@z-51.de>
35478
35479 * NEWS: Update for rename of update-grub to grub-mkconfig.
35480
18ade780 354812008-09-29 Felix Zielcke <fzielcke@z-51.de>
35482
35483 * util/update-grub_lib.in: Copy to ...
35484 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 35485 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 35486 * util/update-grub.in: Rename to ...
35487 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35488 option. Add `--output' option to allow users to specify the generated
35489 configuration file. Default to stdout.
35490 (update_grub_dir): Rename to ...
35491 (grub_mkconfig_dir): ... this.
35492 (grub_cfg): Default to an empty string.
35493 * conf/common.rmk (update-grub): Rename to ...
35494 (grub-mkconfig): ... this.
35495 (update-grub_lib): Copy to ...
35496 (grub-mkconfig_lib): ... this.
35497 (update-grub_SCRIPTS): Copy to ...
35498 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35499 (update-grub_DATA): Rename to ...
35500 (grub-mkconfig_DATA): ... this.
35501
556ce6ac 355022008-09-28 Robert Millan <rmh@aybabtu.com>
35503
35504 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35505 to `modified'. Add the real `created' field.
35506 (grub_iso9660_uuid): Use `modified' rather than `created' for
35507 constructing the UUID.
35508
355092008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 35510
35511 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35512 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35513
92274e85 355142008-09-28 Bean <bean123ch@gmail.com>
35515
35516 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35517 Thanks to Christian Franke for finding this bug.
35518
add6f17a 355192008-09-25 Robert Millan <rmh@aybabtu.com>
35520
35521 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35522 instances of grub_util_get_disk_name() (see previous commit).
35523
d2a367b8 355242008-09-25 Robert Millan <rmh@aybabtu.com>
35525
35526 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35527 `util/i386/get_disk_name.c'.
35528 * conf/i386-efi.rmk: Likewise.
35529 * conf/x86_64-efi.rmk: Likewise.
35530 * conf/i386-coreboot.rmk: Likewise.
35531 * conf/i386-ieee1275.rmk: Likewise.
35532 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35533 `util/ieee1275/get_disk_name.c'.
35534 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35535 * util/ieee1275/get_disk_name.c: Remove file.
35536 * util/i386/get_disk_name.c: Remove file.
35537 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35538 "hd%d" for device.map entries, rather than using
35539 grub_util_get_disk_name().
35540
81a06771 355412008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 35542
35543 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35544 warning.
35545 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35546
5a004279 355472008-09-24 Carles Pina i Estany <carles@pina.cat>
35548
35549 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35550 Changed to 0x5100.
35551 (GRUB_TERM_PPAGE): Changed to 0x4900.
35552
397093d3 355532008-09-24 Robert Millan <rmh@aybabtu.com>
35554
35555 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35556 macros (they were i386-pc specific).
35557 * include/grub/sparc64/ieee1275/console.h: Likewise.
35558 * include/grub/efi/console.h: Likewise.
35559
a91b6c7c 355602008-09-22 Bean <bean123ch@gmail.com>
35561
35562 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35563 resident and in attribute list.
35564
35565 * include/grub/ntfs.h (BMP_LEN): Removed.
35566
c40fd116 355672008-09-22 Bean <bean123ch@gmail.com>
35568
81a06771 35569 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 35570 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35571
35572 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35573 error occurs, as grub_disk_open will call grub_disk_close, which will
35574 call p->close (scsi).
35575
81a06771 355762008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 35577
35578 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35579 (AC_PREREQ): Bumped to 2.59.
35580 (AC_TRY_COMPILE): Replace obsolete macro with ...
35581 (AC_COMPILE_IFELSE): ... this.
35582 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35583 (AC_LINK_IFELSE): ... this.
35584
5dc43410 355852008-09-21 Felix Zielcke <fzielcke@z-51.de>
35586
35587 * autogen.sh: Add a call to `gendistlist.sh'.
35588
9035dce4 355892008-09-19 Christian Franke <franke@computer.org>
35590
35591 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35592 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35593 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35594 Export __enable_execute_stack() to modules.
35595 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35596 New function.
35597
7fd75377 355982008-09-09 Felix Zielcke <fzielcke@z-51.de>
35599
040030b3 35600 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35601 Sort the list.
35602
356032008-09-09 Felix Zielcke <fzielcke@z-51.de>
35604
35605 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 35606 #include <grub/util/hostdisk.h>.
35607
89d5ffcf 356082008-09-08 Robert Millan <rmh@aybabtu.com>
35609
35610 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35611 segments when their filesz is zero (grub_file_read() interprets
81a06771 35612 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 35613 Use `lowest_segment' rather than 0 for calculating the current
35614 segment load address.
35615
40da438f 356162008-09-08 Robert Millan <rmh@aybabtu.com>
35617
35618 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35619 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35620 clobbered useful information.
35621
ddbf5556 356222008-09-08 Robert Millan <rmh@aybabtu.com>
35623
35624 * include/grub/util/biosdisk.h: Move to ...
35625 * include/grub/util/hostdisk.h: ... here. Update all users.
35626 * util/biosdisk.c: Move to ...
35627 * util/hostdisk.c: ... here. Update all users.
35628
783d0f48 356292008-09-07 Robert Millan <rmh@aybabtu.com>
35630
35631 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35632 variables.
35633 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35634 and length can be stored directly in the `mbi->mmap_addr' and
35635 `mbi->mmap_length' struct fields.
35636
548e2ea5 356372008-09-07 Robert Millan <rmh@aybabtu.com>
35638
35639 * conf/i386.rmk: New file. Provides declaration for building
35640 `cpuid.mod'.
35641 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35642 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35643 variables.
35644 Include `conf/i386.mk'.
35645 * conf/i386-efi.rmk: Likewise.
35646 * conf/x86_64-efi.rmk: Likewise.
35647 * conf/i386-coreboot.rmk: Likewise.
35648 * conf/i386-ieee1275.rmk: Likewise.
35649
0ea85a37 356502008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35651
35652 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35653 Adds optimization support for BGR based modes.
35654
35655 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35656 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35657 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35658 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35659 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35660 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35661 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35662 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35663 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35664 (grub_video_i386_vbeblit_index_index): Likewise.
35665 (grub_video_i386_vbeblit_replace_directN): Added.
35666 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35667 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35668 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35669 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35670 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35671 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 35672 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 35673 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35674 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35675 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35676 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35677 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35678 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35679
35680 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35681 (grub_video_i386_vbefill_R8G8B8): Likewise.
35682 (grub_video_i386_vbefill_index): Likewise.
35683 (grub_video_i386_vbefill_direct32): Added.
35684 (grub_video_i386_vbefill_direct24): Likewise.
35685 (grub_video_i386_vbefill_direct16): Likewise.
35686 (grub_video_i386_vbefill_direct8): Likewise.
35687
81a06771 35688 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 35689 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35690 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35691 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35692 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35693 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 35694
0ea85a37 35695 * video/video.c (grub_video_get_blit_format): Updated to use new
35696 blit formats. Added handling for 16 bit color modes.
81a06771 35697
35698 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 35699 fillers.
35700 (common_blitter): Updated to use new blitters.
35701
35702 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35703 Removed.
35704 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35705 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35706 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35707 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35708 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35709 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35710 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35711 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35712 (grub_video_i386_vbeblit_index_index): Likewise.
35713 (grub_video_i386_vbeblit_replace_directN): Added.
35714 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35715 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35716 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35717 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35718 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35719 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35720 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35721 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35722 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35723 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35724 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35725 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35726 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 35727
0ea85a37 35728 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35729 (grub_video_i386_vbefill_R8G8B8): Likewise.
35730 (grub_video_i386_vbefill_index): Likewise.
35731 (grub_video_i386_vbefill_direct32): Added.
35732 (grub_video_i386_vbefill_direct24): Likewise.
35733 (grub_video_i386_vbefill_direct16): Likewise.
35734 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 35735
0ea85a37 35736 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35737 types.
81a06771 35738
0ea85a37 35739 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35740 types.
81a06771 35741
0ea85a37 35742 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35743 blitter types.
81a06771 35744
0ea85a37 35745 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35746 types.
35747
e8a83df6 357482008-09-06 Felix Zielcke <fzielcke@z-51.de>
35749
35750 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35751 RAID level 1.
35752
6bcd8ee5 357532008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 35754
6bcd8ee5 35755 * fs/iso9660.c (grub_iso9660_date): New structure.
35756 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35757 (grub_iso9660_uuid): New function.
c375ae58 35758
59261157 357592008-09-05 Bean <bean123ch@gmail.com>
35760
35761 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35762
35763 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35764 insensitive bit for names in Win32 and Win32 & DOS namespace.
35765
35766 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35767
35768 * include/grub/types.h (LONG_MAX): Likewise.
35769
58b6645a 357702008-09-04 Felix Zielcke <fzielcke@z-51.de>
35771
4ee55921 35772 * util/getroot.c: Include <config.h>.
35773 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35774 add support for /dev/md/N devices and handle LVM double dash escaping.
35775
357762008-09-04 Felix Zielcke <fzielcke@z-51.de>
35777
35778 * config.guess: Update to latest version from config git.
35779 * config.sub: Likewise.
58b6645a 35780
9124f65d 357812008-09-03 Robert Millan <rmh@aybabtu.com>
35782
35783 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35784 `disk->total_sectors'.
35785
81a06771 357862008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 35787
35788 * include/grub/normal.h: Fixed incorrect comment for
35789 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35790
81a06771 357912008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 35792
35793 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35794 values with defines.
35795
35796 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35797 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35798 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35799 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35800 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35801 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35802 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35803 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35804 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35805 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35806 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35807 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35808 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35809 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35810 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35811 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35812 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35813 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35814 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35815
93d5cbf8 358162008-08-31 Robert Millan <rmh@aybabtu.com>
35817
35818 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35819 declaration.
35820 (grub_multiboot): Fix a few warnings.
35821
21751d50 358222008-08-31 Robert Millan <rmh@aybabtu.com>
35823
35824 * loader/i386/pc/multiboot.c: Update comment not to say that
35825 boot_device support is unimplemented.
35826
e27a75c5 358272008-08-31 Robert Millan <rmh@aybabtu.com>
35828
35829 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35830 or memory map support are unimplemented.
35831
81a06771 358322008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 35833
35834 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35835
81a06771 358362008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 35837
35838 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35839 total video memory in 'vbeinfo' output; show color format details for
35840 each video mode.
35841
7c5d8d95 358422008-08-30 Pavel Roskin <proski@gnu.org>
35843
35844 * util/genmoddep.c: Remove for real this time.
35845 * DISTLIST: Remove util/genmoddep.c.
35846
4cebd25a 358472008-08-30 Robert Millan <rmh@aybabtu.com>
35848
35849 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35850 as required by Multiboot spec (it was already 4-byte aligned, but
35851 only by chance).
35852
b497a269 358532008-08-29 Pavel Roskin <proski@gnu.org>
35854
e3925185 35855 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35856 * kern/powerpc/ieee1275/startup.S: ... this.
35857 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35858 * DISTLIST: Likewise.
35859
b497a269 35860 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35861 grub/cpu/kernel.h. Add start label for consistency with other
35862 platforms. Add grub_prefix immediately after start. Add jump
35863 to the code after grub_prefix.
35864 * include/grub/powerpc/kernel.h: Provide valid values for
35865 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35866
6e5a42fe 358672008-08-29 Bean <bean123ch@gmail.com>
35868
35869 * configure.ac: Change host_os to cygwin for mingw.
35870 (asprintf): New check for function.
35871
35872 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35873 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35874
35875 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 35876 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 35877 sync, sleep and grub_util_get_disk_size for mingw.
35878
35879 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35880 to get size in mingw.
35881 (open_device): Use flag O_BINARY if it's defined.
35882 (find_root_device): Add dummy code for mingw.
35883
35884 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35885 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35886 (get_scsi_disk_name): Return 0 for mingw.
35887
35888 * util/hostfs.c: #include <grub/util/misc.h>.
35889 (grub_hostfs_open): Use "rb" flag to open file, use
35890 grub_util_get_disk_size to get disk size for mingw.
35891
35892 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35893 (asprintf): New function if HAVE_ASPRINTF is not set.
35894 (sync): New function for mingw.
35895 (sleep): Likewise.
35896 (grub_util_get_disk_size): Likewise.
35897
ab3f2673 358982008-08-28 Pavel Roskin <proski@gnu.org>
35899
35900 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35901 kern/time.c.
35902
1c282483 359032008-08-28 Robert Millan <rmh@aybabtu.com>
35904
35905 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35906
678e849c 359072008-08-28 Robert Millan <rmh@aybabtu.com>
35908
35909 Change find_grub_drive() syntax so it doesn't prevent it from
35910 detecting NULL names as errors.
35911
35912 * util/biosdisk.c (find_grub_drive): Move free slot search code
35913 from here ...
35914 (find_free_slot): ... to here.
35915 (read_device_map): Use find_free_slot() to search for free slots.
35916
965c75ca 359172008-08-27 Marco Gerards <marco@gnu.org>
35918
35919 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35920 (scsi_mod_SOURCES): New variable.
35921 (scsi_mod_CFLAGS): Likewise
35922 (scsi_mod_LDFLAGS): Likewise.
35923
35924 * disk/scsi.c: New file.
35925
35926 * include/grub/scsi.h: Likewise.
35927
35928 * include/grub/scsicmd.h: Likewise.
35929
35930 * disk/ata.c: Include <grub/scsi.h>.
35931 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35932 instead.
35933 (grub_ata_iterate): Skip ATAPI devices.
35934 (grub_ata_open): Only handle ATAPI devices.
35935 (struct grub_atapi_read): Removed.
35936 (grub_atapi_readsector): Likewise.
35937 (grub_ata_read): No longer handle ATAPI devices.
35938 (grub_ata_write): Likewise.
35939 (grub_atapi_iterate): New function.
35940 (grub_atapi_read): Likewise.
35941 (grub_atapi_write): Likewise.
35942 (grub_atapi_open): Likewise.
35943 (grub_atapi_close): Likewise.
35944 (grub_atapi_dev): New variable.
35945 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35946 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35947
35948 * include/grub/disk.h (enum grub_disk_dev_id): Add
35949 `GRUB_DISK_DEVICE_SCSI_ID'.
35950
c07ae501 359512008-08-26 Robert Millan <rmh@aybabtu.com>
35952
35953 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35954 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35955 descriptive.
35956
5ed20adc 359572008-08-23 Bean <bean123ch@gmail.com>
35958
35959 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35960 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35961 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35962 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35963 dm_nv.mod.
35964 (raid5rec_mod_SOURCES): New macro.
35965 (raid5rec_mod_CFLAGS): Likewise.
35966 (raid5rec_mod_LDFLAGS): Likewise.
35967 (raid6rec_mod_SOURCES): Likewise.
35968 (raid6rec_mod_CFLAGS): Likewise.
35969 (raid6rec_mod_LDFLAGS): Likewise.
35970 (mdraid_mod_SOURCES): Likewise.
35971 (mdraid_mod_CFLAGS): Likewise.
35972 (mdraid_mod_LDFLAGS): Likewise.
35973 (dm_nv_mod_SOURCES): Likewise.
35974 (dm_nv_mod_CFLAGS): Likewise.
35975 (dm_nv_mod_LDFLAGS): Likewise.
35976
35977 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35978 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35979 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35980
35981 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35982 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35983
35984 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35985
35986 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35987
35988 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35989
35990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35991
35992 * disk/raid5_recover.c: New file.
35993
35994 * disk/raid6_recover.c: Likewise.
35995
35996 * disk/mdraid_linux.c: Likewise.
35997
35998 * disk/dmraid_nvidia.c: Likewise.
35999
36000 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36001 ULONG_MAX.
36002
36003 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36004 calculate the size of raid device.
36005 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36006 different layout of raid5.
36007 (grub_raid_scan_device): Remove code specific to mdraid.
36008 (grub_raid_list): New variable.
36009 (free_array): New function.
36010 (grub_raid_register): Likewise.
36011 (grub_raid_unregister): Likewise.
36012 (grub_raid_rescan): Likewise.
36013 (GRUB_MOD_INIT): Don't iterate device here.
36014 (GRUB_MOD_FINI): Use free_array to release resource.
36015
36016 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36017 (grub_raid5_recover_func_t): New function variable type.
36018 (grub_raid6_recover_func_t): Likewise.
36019 (grub_raid5_recover_func): New variable.
36020 (grub_raid6_recover_func): Likewise.
36021 (grub_raid_register): New function.
36022 (grub_raid_unregister): Likewise.
36023 (grub_raid_rescan): Likewise.
36024 (grub_raid_block_xor): Likewise.
36025
36026 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36027 (CMD_CRC): New macro.
36028 (part): Removed.
36029 (read_file): Handle device as well as file.
36030 (cmd_crc): New function.
36031 (fstest): Handle multiple disks.
36032 (options): Remove part, raw and long, add root and diskcount.
36033 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36034 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36035 add handling for the new options, support multiple disks.
36036
36037 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36038
29c18915 360392008-08-23 Bean <bean123ch@gmail.com>
36040
36041 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36042
36043 * genfslist.sh: Ignore kernel.mod.
36044
36045 * genpartmaplist.sh: Likewise.
36046
8415f261 360472008-08-23 Robert Millan <rmh@aybabtu.com>
36048
36049 * util/getroot.c (find_root_device): Skip anything that starts with
36050 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36051
d5a7dc5b 360522008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36053
d5a7dc5b 36054 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36055 * util/grub.d/00_header.in: Allow the administrator to change default
36056 gfxmode via ${GRUB_GFXMODE}.
36057
380cfbb4 360582008-08-21 Felix Zielcke <fzielcke@z-51.de>
36059
36060 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36061
c9baafe7 360622008-08-21 Robert Millan <rmh@aybabtu.com>
36063
36064 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36065 loader.
36066 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36067 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36068
e290bef2 360692008-08-20 Carles Pina i Estany <carles@pina.cat>
36070
36071 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36072 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36073
f9dbfc96 360742008-08-19 Robert Millan <rmh@aybabtu.com>
36075
36076 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36077 (struct grub_virtual_screen): Remove `cursor_color'.
36078 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36079 initialization.
36080 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36081
dd6bd6ab 360822008-08-18 Robert Millan <rmh@aybabtu.com>
36083
36084 Unify (identical) linux_normal.c files.
36085 * loader/i386/efi/linux_normal.c: Move from here ...
36086 * loader/linux_normal.c: ... to here. Update all users.
36087 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36088 * loader/i386/ieee1275/linux_normal.c: Likewise.
36089
7f42f83e 360902008-08-18 Robert Millan <rmh@aybabtu.com>
36091
36092 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36093 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36094 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36095 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36096 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36097 New macros.
36098 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36099 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36100 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36101 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36102 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36103 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36104 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36105 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36106 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36107 portably using grub_getxy().
36108 Replace `-EFI' with `-bzImage' in boot message.
36109
38487ddb 361102008-08-17 Robert Millan <rmh@aybabtu.com>
36111
36112 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36113
deceb3ec 361142008-08-17 Robert Millan <rmh@aybabtu.com>
36115
36116 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36117
36118 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36119 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36120 (grub_machine_mmap_iterate): New function declaration.
36121 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36122 structure.
36123 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36124 macros.
36125
36126 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36127 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36128 Move e820 parsing from here ...
36129 * kern/i386/pc/mmap.c: New file.
36130 (grub_machine_mmap_iterate): ... to here.
36131
36132 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36133 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36134 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36135 (grub_available_iterate): Redeclare to return `void', and redeclare
36136 its hook to use grub_uint64_t as addr and size parameters, and rename
36137 to ...
36138 (grub_machine_mmap_iterate): ... this. Update all users.
36139
36140 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36141 to make it more readable. Rename to ...
36142 (grub_machine_mmap_iterate): ... this.
36143
36144 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36145 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36146 (grub_multiboot): Allocate an extra region after the payload, and fill
36147 it with a Multiboot memory map. Adjust a.out loader to calculate size
36148 with the extra space.
36149 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36150 with the extra space.
36151
f8aa0f43 361522008-08-17 Carles Pina i Estany <carles@pina.cat>
36153
9807deb9 36154 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36155
605f5bb6 361562008-08-17 Felix Zielcke <fzielcke@z-51.de>
36157
36158 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36159 mdate-sh to the list `find' searches for.
36160 * DISTLIST: Regenerated.
36161
210db6c6 361622008-08-16 Felix Zielcke <fzielcke@z-51.de>
36163
36164 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36165 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36166 genmoddep.awk, gensymlist.sh.in.
36167 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36168 * DISTLIST: Regenerated.
48cdbfd4 36169 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36170
1082b929 361712008-08-16 Robert Millan <rmh@aybabtu.com>
36172
36173 * disk/raid.c (grub_raid_init): Handle/report errors set by
36174 grub_device_iterate().
36175 * disk/lvm.c (grub_lvm_init): Likewise.
36176
42ce5170 361772008-08-15 Bean <bean123ch@gmail.com>
36178
36179 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36180 and datehook.mod.
36181 (datetime_mod_SOURCES): New macro.
36182 (datetime_mod_CFLAGS): Likewise.
36183 (datetime_mod_LDFLAGS): Likewise.
36184 (date_mod_SOURCES): Likewise.
36185 (date_mod_CFLAGS): Likewise.
36186 (date_mod_LDFLAGS): Likewise.
36187 (datehook_mod_SOURCES): Likewise.
36188 (datehook_mod_CFLAGS): Likewise.
36189 (datehook_mod_LDFLAGS): Likewise.
36190
36191 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36192 and datehook.mod.
36193 (datetime_mod_SOURCES): New macro.
36194 (datetime_mod_CFLAGS): Likewise.
36195 (datetime_mod_LDFLAGS): Likewise.
36196 (date_mod_SOURCES): Likewise.
36197 (date_mod_CFLAGS): Likewise.
36198 (date_mod_LDFLAGS): Likewise.
36199 (datehook_mod_SOURCES): Likewise.
36200 (datehook_mod_CFLAGS): Likewise.
36201 (datehook_mod_LDFLAGS): Likewise.
36202
36203 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36204 and datehook.mod.
36205 (datetime_mod_SOURCES): New macro.
36206 (datetime_mod_CFLAGS): Likewise.
36207 (datetime_mod_LDFLAGS): Likewise.
36208 (date_mod_SOURCES): Likewise.
36209 (date_mod_CFLAGS): Likewise.
36210 (date_mod_LDFLAGS): Likewise.
36211 (datehook_mod_SOURCES): Likewise.
36212 (datehook_mod_CFLAGS): Likewise.
36213 (datehook_mod_LDFLAGS): Likewise.
36214
36215 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36216 and datehook.mod.
36217 (datetime_mod_SOURCES): New macro.
36218 (datetime_mod_CFLAGS): Likewise.
36219 (datetime_mod_LDFLAGS): Likewise.
36220 (date_mod_SOURCES): Likewise.
36221 (date_mod_CFLAGS): Likewise.
36222 (date_mod_LDFLAGS): Likewise.
36223 (datehook_mod_SOURCES): Likewise.
36224 (datehook_mod_CFLAGS): Likewise.
36225 (datehook_mod_LDFLAGS): Likewise.
36226
36227 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36228 and datehook.mod.
36229 (datetime_mod_SOURCES): New macro.
36230 (datetime_mod_CFLAGS): Likewise.
36231 (datetime_mod_LDFLAGS): Likewise.
36232 (date_mod_SOURCES): Likewise.
36233 (date_mod_CFLAGS): Likewise.
36234 (date_mod_LDFLAGS): Likewise.
36235 (datehook_mod_SOURCES): Likewise.
36236 (datehook_mod_CFLAGS): Likewise.
36237 (datehook_mod_LDFLAGS): Likewise.
36238
36239 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36240
36241 * commands/date.c: New file.
36242
36243 * hook/datehook.c: Likewise.
36244
36245 * include/grub/lib/datetime.h: Likewise.
36246
36247 * include/grub/i386/cmos.h: Likewise.
36248
36249 * lib/datetime.c: Likewise.
36250
36251 * lib/i386/datetime.c: Likewise.
36252
36253 * lib/efi/datetime.c: Likewise.
36254
0e9242da 362552008-08-14 Robert Millan <rmh@aybabtu.com>
36256
36257 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36258 (grub_mkelfimage_SOURCES): New variable.
36259 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36260
36261 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36262 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36263 * conf/powerpc-ieee1275.rmk: Likewise.
36264 * conf/i386-ieee1275.rmk: Likewise.
36265
36266 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36267 * kern/i386/coreboot/init.c: Likewise.
36268
36269 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36270 with `<grub/cpu/kernel.h>'.
36271 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36272 to ...
36273 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36274 * kern/i386/coreboot/startup.S: Likewise.
36275
36276 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36277 (GRUB_MOD_GAP): Remove.
36278 * include/grub/powerpc/kernel.h: New file.
36279 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36280 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36281 * include/grub/i386/kernel.h: New file.
36282 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36283 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36284 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36285
36286 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36287 `grub-mkelfimage'.
36288 Use --directory when invoking grub_mkimage.
36289
36290 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36291 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36292 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36293 and GRUB_KERNEL_CPU_PREFIX.
36294
b86408f8 362952008-08-14 Felix Zielcke <fzielcke@z-51.de>
36296
d5e619ca 36297 * include/grub/err.h (grub_err_printf): New function prototype.
36298 * util/misc.c (grub_err_printf): New function.
36299 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
36300 grub_printf.
36301 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 36302
7161f0e0 363032008-08-13 Robert Millan <rmh@aybabtu.com>
36304
36305 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36306
a1967522 363072008-08-13 Robert Millan <rmh@aybabtu.com>
36308
36309 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
36310 boot entry.
36311
371458b5 363122008-08-12 Robert Millan <rmh@aybabtu.com>
36313
36314 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
36315 of the relocation code from here ...
36316 (grub_multiboot): ... to here.
36317 (forward_relocator, backward_relocator): Move from here ...
36318 * kern/i386/loader.S (grub_multiboot_forward_relocator)
36319 (grub_multiboot_backward_relocator): ... to here.
36320 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
36321 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
36322 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
36323 (grub_multiboot_forward_relocator_end)
36324 (grub_multiboot_backward_relocator)
36325 (grub_multiboot_backward_relocator_end): New variables.
36326
05f9452b 363272008-08-12 Bean <bean123ch@gmail.com>
36328
36329 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36330
20024ab0 363312008-08-11 Robert Millan <rmh@aybabtu.com>
36332
36333 * kern/i386/linuxbios/startup.S: Move from here ...
36334 * kern/i386/coreboot/startup.S: ... to here.
36335
36336 * kern/i386/linuxbios/init.c: Move from here ...
36337 * kern/i386/coreboot/init.c: ... to here.
36338
36339 * kern/i386/linuxbios/table.c: Move from here ...
36340 * kern/i386/coreboot/mmap.c: ... to here.
36341
36342 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
36343
e352e9cd 363442008-08-11 Robert Millan <rmh@aybabtu.com>
36345
36346 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
36347 errors. Leave it to the upper layer to handle them.
36348
2d05bc6a 363492008-08-09 Christian Franke <franke@computer.org>
36350
36351 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
36352 * conf/common.rmk: Install `grub-pe2elf' only if requested.
36353 Install `grub.d/10_windows' only on Cygwin.
36354 * configure.ac: Add subst of `target_os'.
36355 Check `target_os' also before setting TARGET_OBJ2ELF.
36356 Add `--enable-grub-pe2elf'.
36357
042bd419 363582008-08-08 Robert Millan <rmh@aybabtu.com>
36359
36360 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36361 (grub_last_time): Change type to grub_uint64_t.
36362 (grub_disk_open): Migrate code from to using grub_get_time_ms().
36363 (grub_disk_close): Likewise.
36364
36365 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36366 (run_menu): Migrate code from to using grub_get_time_ms().
36367
36368 * util/misc.c (grub_get_time_ms): New function.
36369
7f280db5 363702008-08-08 Marco Gerards <marco@gnu.org>
36371
36372 * disk/ata.c (grub_ata_regget): Change return type to
36373 `grub_uint8_t'.
36374 (grub_ata_regget2): Likewise.
36375 (grub_ata_wait_status): New function.
36376 (grub_ata_wait_busy): Removed function, updated all users to use
36377 `grub_ata_wait_status'.
36378 (grub_ata_wait_drq): Likewise.
36379 (grub_ata_cmd): New function.
36380 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
36381 error handling.
36382 (grub_ata_pio_write): Add error handling.
36383 (grub_atapi_identify): Likewise.
36384 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
36385 handling.
36386 (grub_ata_identify): Use `grub_ata_cmd' and improve error
36387 handling. Actually use the detected registers. Reorder the
36388 detection logic such that it is easier to read.
36389 (grub_ata_pciinit): Do not assign the same ID to each controller.
36390 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
36391 handling.
36392 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
36393
36394 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
36395
1fbc5e66 363962008-08-08 Marco Gerards <marco@gnu.org>
36397
36398 * NEWS: Update.
36399
819ce6c0 364002008-08-07 Bean <bean123ch@gmail.com>
36401
36402 * include/grub/x86_64/pci.h: New file.
36403
5c41d44d 364042008-08-07 Christian Franke <franke@computer.org>
36405
36406 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
36407 (TIMER2_GATE): Likewise.
36408 (grub_pit_wait): Add enable/disable of the timer2 gate
36409 bit of port 0x61. This fixes a possible infinite loop.
36410
5ebc275d 364112008-08-07 Bean <bean123ch@gmail.com>
36412
36413 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
36414 kern/i386/tsc.c and kern/i386/pit.c.
36415
36416 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
36417 x86_64 platform.
36418
36419 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
36420 <grub/i386/tsc.h>.
36421
36422 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
36423
e383b3d0 364242008-08-07 Bean <bean123ch@gmail.com>
36425
36426 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
36427
36428 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
36429
36430 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
36431 multiple inclusion. Add #include <grub/types.h>.
36432
1cbb58ac 364332008-08-06 Christian Franke <franke@computer.org>
36434
36435 * conf/common.rmk: Build and install `10_windows'.
36436 * util/grub.d/10_windows.in: New script.
36437
337f5a1e 364382008-08-06 Pavel Roskin <proski@gnu.org>
36439
36440 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36441
057bc4ac 364422008-08-06 Robert Millan <rmh@aybabtu.com>
36443
36444 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
36445 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
36446
2b99f123 364472008-08-06 Bean <bean123ch@gmail.com>
36448
36449 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
36450 (grub_pxefs_fs_int): Remove dummy definition.
36451 (grub_pxefs_open): Use data->block_size to store the current block
36452 size setting.
36453 (grub_pxefs_read): Use block size stored in data->block_size. As the
36454 value of grub_pxe_blksize can be changed after the file is opened.
36455
9f0234cb 364562008-08-06 Bean <bean123ch@gmail.com>
36457
36458 * fs/i386/pc/pxe.c (curr_file): new variable.
36459 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36460 require the dummy internal file system anymore.
36461 (grub_pxefs_read): Removed.
36462 (grub_pxefs_close): Likewise.
36463 (grub_pxefs_fs_int): Likewise.
36464 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36465 connection when we switch file.
36466 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36467
a55d42e0 364682008-08-06 Robert Millan <rmh@aybabtu.com>
36469
36470 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36471 `halt.mod'.
36472 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36473 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36474
36475 * kern/i386/halt.c: New file.
36476 * kern/i386/reboot.c: Likewise.
36477 * include/grub/i386/reboot.h: Likewise.
36478 * include/grub/i386/halt.h: Likewise.
36479
36480 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36481 Include `<grub/cpu/halt.h>'.
36482 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36483 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36484
36485 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36486 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36487 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36488 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36489 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36490 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36491 from here ...
36492 * include/grub/i386/at_keyboard.h: ... to here.
36493
24371d26 364942008-08-05 Robert Millan <rmh@aybabtu.com>
36495
36496 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36497 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36498 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36499 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36500 `kern/generic/millisleep.c'.
36501
36502 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36503 instead of grub_get_rtc().
36504 (grub_tsc_init): Initialize `tsc_boot_time'.
36505
36506 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36507 (grub_machine_init): Use grub_tsc_init() rather than
36508 installing an RTC-based handler via grub_install_get_time_ms().
36509
36510 * kern/i386/pit.c: New file.
36511 * include/grub/i386/pit.h: Likewise.
36512
9e7007b3 365132008-08-05 Bean <bean123ch@gmail.com>
36514
36515 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36516
36517 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36518 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36519 (pxe_mod_SOURCES): New macro.
36520 (pxe_mod_CFLAGS): Likewise.
36521 (pxe_mod_LDFLAGS): Likewise.
36522 (pxecmd_mod_SOURCES): Likewise.
36523 (pxecmd_mod_CFLAGS): Likewise.
36524 (pxecmd_mod_LDFLAGS): Likewise.
36525
36526 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36527 (grub_pxe_call): Likewise.
36528
36529 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36530
36531 * commands/i386/pc/pxecmd.c: New file.
36532
9f0234cb 36533 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 36534
36535 * include/grub/i386/pc/pxe.h: Likewise.
36536
6977d49f 365372008-08-05 Bean <bean123ch@gmail.com>
36538
36539 * util/console.c (grub_console_cur_color): New variable.
36540 (grub_console_standard_color): Likewise.
36541 (grub_console_normal_color): Likewise.
36542 (grub_console_highlight_color): Likewise.
36543 (color_map): Likewise.
36544 (use_color): Likewise.
36545 (NUM_COLORS): New macro.
36546 (grub_ncurses_setcolorstate): Handle color properly.
36547 (grub_ncurses_setcolor): Don't change color here, just remember the
36548 settings, color will be set in grub_ncurses_setcolorstate.
36549 (grub_ncurses_getcolor): New function.
36550 (grub_ncurses_init): Initialize color pairs.
36551 (grub_ncurses_term): New member grub_ncurses_getcolor.
36552
9c2ff3ee 365532008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 36554
9c2ff3ee 36555 High resolution timer support. Implemented for x86 CPUs using TSC.
36556 Extracted generic grub_millisleep() so it's linked in only as needed.
36557 This requires a Pentium compatible CPU; if the RDTSC instruction is
36558 not supported, then it falls back on the generic grub_get_time_ms()
36559 implementation that uses the machine's RTC.
36560
36561 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36562 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36563 `kern/generic/millisleep.c'.
36564
36565 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36566 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36567
36568 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36569 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36570
36571 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36572
36573 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36574 `kern/generic/millisleep.c'.
36575
36576 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36577
36578 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36579
36580 * kern/generic/rtc_get_time_ms.c: New file.
36581
36582 * kern/generic/millisleep.c: New file.
337f5a1e 36583
9c2ff3ee 36584 * kern/misc.c: Don't include
36585 <kern/time.h> anymore.
36586 (grub_millisleep_generic): Removed.
36587
36588 * commands/sleep.c (grub_interruptible_millisleep): Uses
36589 grub_get_time_ms() instead of grub_get_rtc().
36590
36591 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36592 function.
36593 (grub_cpu_is_cpuid_supported): New inline function.
36594 (grub_cpu_is_tsc_supported): New inline function.
36595 (grub_tsc_init): New function prototype.
36596 (grub_tsc_get_time_ms): New function prototype.
36597
36598 * kern/i386/tsc.c (grub_get_time_ms): New file.
36599
36600 * include/grub/time.h: Include <grub/types.h.
36601 (grub_millisleep_generic): Removed.
36602 (grub_get_time_ms): New prototype.
36603 (grub_install_get_time_ms): New prototype.
36604 (grub_rtc_get_time_ms): New prototype.
36605
36606 * kern/time.c (grub_get_time_ms): New function.
36607 (grub_install_get_time_ms): New function.
36608
36609 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36610 <grub/time.h> anymore.
36611 (grub_millisleep): Removed.
36612 (grub_machine_init): Call grub_tsc_init.
36613
36614 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36615 get_time_ms() implementation.
36616
36617 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36618 (ieee1275_get_time_ms): New function.
36619 (grub_machine_init): Install get_time_ms() implementation.
36620
36621 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36622 (grub_machine_init): Call grub_tsc_init().
36623 (grub_millisleep): Removed.
bf06a93f 36624
9c2ff3ee 36625 * kern/ieee1275/init.c (grub_millisleep): Removed.
36626 (grub_machine_init): Install ieee1275_get_time_ms()
36627 implementation.
36628 (ieee1275_get_time_ms): New function.
36629 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36630 real work.
36631
9ec92aaf 366322008-08-05 Marco Gerards <marco@gnu.org>
36633
36634 * disk/ata.c: Include <grub/pci.h>.
36635 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36636 (grub_ata_initialize): Rewritten.
36637 (grub_ata_device_initialize): New function.
36638
8d23f507 366392008-08-04 Pavel Roskin <proski@gnu.org>
36640
36641 * kern/main.c: Include grub/mm.h.
36642
5e15ee3d 366432008-08-04 Robert Millan <rmh@aybabtu.com>
36644
36645 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36646 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36647 corruption problem).
36648
a9053f8f 366492008-08-04 Robert Millan <rmh@aybabtu.com>
36650
36651 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36652 warnings introduced in my last commit.
36653
dd19c7d7 366542008-08-03 Robert Millan <rmh@aybabtu.com>
36655
36656 Make PCI available on all i386 architectures.
36657
36658 * include/grub/i386/pc/pci.h: Move from here ...
36659 * include/grub/i386/pci.h: ... to here.
36660
36661 * include/grub/i386/pc/pci.h: Remove.
36662 * include/grub/i386/efi/pci.h: Remove.
36663 * include/grub/x86_64/efi/pci.h: Remove.
36664
36665 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36666 `<grub/cpu/pci.h>'.
36667
36668 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36669 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36670 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36671
36672 * conf/i386-ieee1275.rmk: Likewise.
36673
e14a6184 366742008-08-03 Robert Millan <rmh@aybabtu.com>
36675
36676 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36677 (grub_console_setcursor): Make it possible to set cursor off.
36678
52768e37 366792008-08-03 Robert Millan <rmh@aybabtu.com>
36680
36681 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36682 of modules instead of assuming which platform provides what.
36683 * util/update-grub.in: Likewise.
36684
2d52f57f 366852008-08-03 Robert Millan <rmh@aybabtu.com>
36686
36687 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36688 instead of `grub_install_dos_part' to determine whether a drive needs
36689 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 36690 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 36691
2a5cd121 366922008-08-02 Robert Millan <rmh@aybabtu.com>
36693
36694 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36695
93808428 366962008-08-02 Robert Millan <rmh@aybabtu.com>
36697
36698 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36699 of informational grub_dprintf() calls.
36700
3bd0a12a 367012008-08-02 Robert Millan <rmh@aybabtu.com>
36702
36703 * disk/memdisk.c (memdisk_size): Don't initialize.
36704 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36705
36706 * include/grub/i386/pc/kernel.h
36707 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36708 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36709 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36710 (grub_arch_memdisk_size): Remove.
36711
36712 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36713 field (was only used to transfer a constant). Add `type' field to
36714 support multiple module types.
36715 (grub_module_iterate): New function.
36716
36717 * kern/device.c (grub_device_open): Do not hide error messages
36718 when grub_disk_open() fails. Use grub_print_error() instead.
36719
36720 * kern/i386/pc/init.c (grub_arch_modules_addr)
36721 (grub_arch_memdisk_size): Remove functions.
36722 (grub_arch_modules_addr): Return the module address in high memory
36723 (now that it isn't copied anymore).
36724
36725 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36726 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36727 decompression routine (grub_total_module_size already includes that
36728 now). Don't copy modules back to low memory.
36729
36730 * kern/main.c: Include `<grub/mm.h>'.
36731 (grub_load_modules): Split out (and use) ...
36732 (grub_module_iterate): ... this function, which iterates through
36733 module objects and runs a hook.
36734 Comment out grub_mm_init_region() call, as it would cause non-ELF
36735 modules to be overwritten.
36736
36737 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36738 the memdisk image in its own region, make it part of the module list.
36739 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36740 (main): Parse --memdisk|-m option, and pass user-provided path as
36741 parameter to generate_image().
36742 (add_segments): Pass `memdisk_path' down to load_modules().
36743 (load_modules): Embed memdisk image in module section when requested.
36744 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36745 `header.type' instead of `header.offset'.
36746
36747 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36748 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36749 (memdisk_mod_LDFLAGS): New variables.
36750 * conf/i386-coreboot.rmk: Likewise.
36751 * conf/i386-ieee1275.rmk: Likewise.
36752
a927cc73 367532008-08-02 Robert Millan <rmh@aybabtu.com>
36754
36755 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36756 (backward_relocator): New variables. Used to allocate and relocate
36757 the payload, respectively.
36758 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 36759 address, install the appropriate relocator code in each bound of
a927cc73 36760 the payload, and set the entry point such that
36761 grub_multiboot_real_boot() will jump to one of them.
36762
36763 * kern/i386/loader.S (grub_multiboot_payload_size)
36764 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36765 (grub_multiboot_payload_entry_offset): New variables.
36766 (grub_multiboot_real_boot): Set cpu context to what the relocator
36767 expects, and jump to the relocator instead of the payload.
36768
36769 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36770 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36771 (grub_multiboot_payload_entry_offset): Export.
36772
b15d8a0c 367732008-08-01 Bean <bean123ch@gmail.com>
36774
36775 * normal/menu_entry.c (editor_getline): Don't return the original
36776 string as result, as it will be released by lexer once it has done
36777 using it.
36778
cdfb3d22 367792008-08-01 Robert Millan <rmh@aybabtu.com>
36780
36781 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36782 within menuentries, not before them.
36783 util/grub.d/10_hurd.in: Likewise.
36784
9175e93d 367852008-08-01 Bean <bean123ch@gmail.com>
36786
36787 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36788 (bufio_mod_SOURCES): New macro.
36789 (bufio_mod_CFLAGS): Likewise.
36790 (bufio_mod_LDFLAGS): Likewise.
36791
36792 * include/grub/bufio.h: New file.
36793
36794 * io/bufio.c: Likewise.
36795
36796 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36797 (grub_video_reader_png): Use grub_buffile_open to open file.
36798
36799 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36800 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36801
36802 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36803 (grub_video_reader_tga): Use grub_buffile_open to open file.
36804
36805 * font/manager.c: Include <grub/bufio.h>.
36806 (add_font): Use grub_buffile_open to open file.
36807
3d8383e7 368082008-07-31 Robert Millan <rmh@aybabtu.com>
36809
36810 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36811 ELF segments, use a macro for arbitrarily accessing any of them instead
36812 of preparing a pointer that allows access to one at a time.
36813 (grub_multiboot_load_elf64): Likewise.
36814
16e641b6 368152008-07-31 Bean <bean123ch@gmail.com>
36816
36817 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36818 GRUB_KERNEL_MACHINE_DATA_END.
36819
59198b72 368202008-07-30 Robert Millan <rmh@aybabtu.com>
36821
36822 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36823 Increase from 0x50 to 0x60.
36824 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36825 use UUIDs to identify the root drive for them. If that's not
36826 possible, abort.
36827 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36828 check, for cross-disk installs.
36829
ae88bca3 368302008-07-30 Robert Millan <rmh@aybabtu.com>
36831
36832 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36833 is non-empty, use it to set the `prefix' environment variable instead
36834 of the usual approach.
36835 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36836 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36837 environment variable instead of dummy make_install_device().
36838
36839 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36840 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 36841 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 36842
36843 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36844 New variable reference.
36845 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36846 New macro. Defines offset of `grub_prefix' within startup.S (relative
36847 to `start').
36848 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36849 section within startup.S (relative to `start').
36850 * include/grub/i386/coreboot/kernel.h: Likewise.
36851
36852 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36853 Overwrite grub_prefix with its contents, at the beginning of the
36854 first segment.
36855 (main): Understand -p|--prefix.
36856
14f41dd1 368572008-07-30 Robert Millan <rmh@aybabtu.com>
36858
36859 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36860
4ca049a3 368612008-07-30 Robert Millan <rmh@aybabtu.com>
36862
36863 * term/i386/pc/vga_text.c (grub_console_cls): Use
36864 grub_console_gotoxy() to go back to beginning of the screen.
36865 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36866
2921d337 368672008-07-29 Christian Franke <franke@computer.org>
36868
36869 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36870 Add conversion of emulated mount points on Cygwin.
36871
b609876d 368722008-07-29 Christian Franke <franke@computer.org>
36873
36874 * util/update-grub.in: Add a check for admin
36875 group on Cygwin.
36876 Remove old `grub.cfg.new' before creation.
36877 Add `-f' to `mv' to handle the different filesystem
36878 semantics of Windows.
36879
e93e4679 368802008-07-29 Bean <bean123ch@gmail.com>
36881
36882 * normal/main.c (get_line): Fix buffer overflow bug.
36883
41694fd0 368842008-07-28 Robert Millan <rmh@aybabtu.com>
36885
36886 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36887 (struct grub_apple_header): New struct. Describes the layout of
36888 the partmap header.
36889 (apple_partition_map_iterate): Check the header magic as well as the
36890 partition magic (which was already being checked).
36891
cfd0b4e6 368922008-07-28 Pavel Roskin <proski@gnu.org>
36893
36894 * genmk.rb: Add a warning to the beginning of the output that
36895 it's a generated file and should not be edited.
36896
93cce016 368972008-07-28 Robert Millan <rmh@aybabtu.com>
36898
36899 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36900 with the same number are found, just use issue a warning with
36901 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 36902
cd1df915 369032008-07-27 Robert Millan <rmh@aybabtu.com>
36904
36905 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36906 information.
36907
b70a8427 369082008-07-27 Bean <bean123ch@gmail.com>
36909
36910 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36911 (grub_fat_find_dir): Ignore case when comparing filename.
36912
8f5e379f 369132008-07-27 Bean <bean123ch@gmail.com>
36914
36915 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36916 smallino, as it's more descriptive, and i8count can be confused with
36917 the other field count.
36918 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36919 inode type.
36920
a85cd5a0 369212008-07-27 Bean <bean123ch@gmail.com>
36922
36923 * commands/crc.c: New file.
36924
36925 * lib/crc.c: Likewise.
36926
36927 * include/grub/lib/crc.h: Likewise.
36928
36929 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36930
36931 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36932 (hexdump): Move this function to ...
36933
36934 * lib/hexdump.c: ... here.
36935
36936 * include/grub/hexdump.h: Renamed to ...
36937
36938 * include/grub/lib/hexdump.h: ... this.
36939
36940 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36941
36942 * util/grub-editenv.c: Likewise.
36943
36944 * include/envblk.h: Renamed to ...
36945
36946 * include/lib/envblk.h: ... this.
36947
36948 * util/envblk.c: Renamed to ...
36949
36950 * lib/envblk.c: ... this.
36951
36952 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36953 lib/hexdump.c.
36954 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36955 (pkglib_MODULES): Add crc.mod.
36956 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36957 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36958 (crc_mod_SOURCES): New macro.
36959 (crc_mod_CFLAGS): Likewise.
36960 (crc_mod_LDFLAGS): Likewise.
36961
36962 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36963
36964 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36965
36966 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36967
36968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36969
36970 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36971
c298def0 369722008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 36973
36974 * commands/help.c: Include <grub/term.h>.
36975 (TERM_WIDTH): Removed. Updated all users.
36976
cc349fb3 369772008-07-27 Pavel Roskin <proski@gnu.org>
36978
36979 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36980 spurious warnings about a comment within a comment.
36981
9051607e 369822008-07-25 Robert Millan <rmh@aybabtu.com>
36983
36984 * util/getroot.c (find_root_device): Skip devices that match
36985 /dev/dm-[0-9]. This lets the real device be found for any type of
36986 abstraction (LVM, EVMS, RAID..).
36987 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36988 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36989 device is found first, find_root_device() will now skip it.
36990
01453bfc 369912008-07-24 Pavel Roskin <proski@gnu.org>
36992
36993 * include/grub/types.h: Use __builtin_bswap32() and
36994 __builtin_bswap64() with gcc 4.3 and newer.
36995
6af9849f 369962008-07-24 Christian Franke <franke@computer.org>
36997
3a0fa256 36998 * util/i386/pc/grub-install.in: If `--debug' is specified,
36999 pass `--verbose' to grub-setup.
37000 Abort script if make_system_path_relative_to_its_root() fails.
37001
7810e747 370022008-07-24 Bean <bean123ch@gmail.com>
37003
37004 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37005 variable `target_platform' should be `platform'.
37006
42290e17 370072008-07-24 Bean <bean123ch@gmail.com>
37008
51cc5193 37009 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37010 (grub_png_init_fixed_block): New function.
37011 (grub_png_decode_image_data): Handle fixed huffman code compression.
37012
2a8a80e4 370132008-07-24 Bean <bean123ch@gmail.com>
37014
37015 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37016 (grub_pe2elf_SOURCES): New macro.
37017 (CLEANFILES): Add grub-pe2elf.
37018
37019 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37020 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37021 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37022 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37023 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37024 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37025 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37026 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37027 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37028 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37029 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37030 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37031 (GRUB_PE32_DT_FUNCTION): Likewise.
37032 (GRUB_PE32_REL_I386_DIR32): Likewise.
37033 (GRUB_PE32_REL_I386_REL32): Likewise.
37034 (grub_pe32_symbol): New structure.
37035 (grub_pe32_reloc): Likewise.
37036
37037 * util/grub-pe2elf.c: New file.
37038
37039 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37040 start symbol in non pc platform.
37041
37042 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37043
37044 The following patches are from Christian Franke.
37045
37046 * include/grub/dl.h: Remove .previous, gas supports this only
37047 for ELF format.
37048
37049 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37050 Remove .type, gas supports this only for ELF format.
37051
37052 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37053 nullbytes in symbol table. This fixes an infinite loop if table is
37054 zero filled.
37055
37056 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37057 TARGET_IMG_LDFLAGS and EXEEXT.
37058
37059 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37060 TARGET_IMG_LDFLAGS_AC.
37061 (grub_CHECK_STACK_ARG_PROBE): New function.
37062
37063 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37064
37065 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37066
37067 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37068 to set TARGET_IMG_LD* accordingly.
37069 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37070 Add call to grub_CHECK_STACK_ARG_PROBE.
37071 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37072
37073 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37074
37075 * genmk.rb: Add EXEEXT to CLEANFILES.
37076
12ccdb75 370772008-07-23 Robert Millan <rmh@aybabtu.com>
37078
37079 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37080 define the codes for arrows and lines used for the menu).
37081 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37082 as well.
37083
37084 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37085 fonts, because the latter are too slow.
37086
18eeaf04 370872008-07-21 Bean <bean123ch@gmail.com>
37088
37089 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37090 a20. Run keyboard test last, as it will cause macbook to halt.
37091
b095e2ad 370922008-07-18 Pavel Roskin <proski@gnu.org>
37093
37094 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37095 load foreign architecture modules correctly anyway. Keep
37096 support for loading host architecture modules, whether we
37097 compile them or not.
37098
737feb35 370992008-07-17 Pavel Roskin <proski@gnu.org>
37100
3f4ce737 37101 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37102 change target_cpu. The compiler default can mismatch target_cpu
37103 in any case.
37104
4ad2d049 37105 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37106 * kern/efi/efi.c: Likewise.
37107
f6130a12 37108 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37109 target compiler is functional.
37110 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37111 are set up.
37112
58393a2d 37113 * configure.ac: Default to efi platform for x86_64-apple. Allow
37114 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37115 adjustments from the rest, only do them if target is not
37116 explicitly given. Merge other adjustments with the final sanity
37117 check. Remove an extraneous check for supported CPU. Be
37118 specific which CPU and which platform is not supported.
37119
737feb35 37120 * configure.ac: Default to pc platform for x86_64.
37121
546f966a 371222008-07-17 Robert Millan <rmh@aybabtu.com>
37123
37124 Partial LinuxBIOS -> Coreboot rename.
37125
37126 * conf/i386-linuxbios.rmk: Renamed to ...
37127 * conf/i386-coreboot.rmk: ... this.
37128 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37129 * configure.ac: Accept "coreboot" as input platform (but maintain
37130 compatibility with "linuxbios").
37131 * include/grub/i386/linuxbios: Renamed to ...
37132 * include/grub/i386/coreboot: ... this.
37133
20011694 371342008-07-17 Bean <bean123ch@gmail.com>
37135
37136 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37137 (appleldr_mod_SOURCE): New variable.
20011694 37138 (appleldr_mod_CFLAGS): Likewise.
37139 (appleldr_mod_LDFLAGS): Likewise.
37140 (pci_mod_SOURCES): Likewise.
37141 (pci_mod_CFLAGS): Likewise.
37142 (pci_mod_LDFLAGS): Likewise.
37143 (lspci_mod_SOURCES): Likewise.
37144 (lspci_mod_CFLAGS): Likewise.
37145 (lspci_mod_LDFLAGS): Likewise.
37146
37147 * conf/x86_64-efi.rmk: New file.
37148
37149 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37150 macro.
37151 (grub_efidisk_write): Likewise.
37152
37153 * include/efi/api.h (efi_call_0): New macro.
37154 (efi_call_1): Likewise.
37155 (efi_call_2): Likewise.
37156 (efi_call_3): Likewise.
37157 (efi_call_4): Likewise.
37158 (efi_call_5): Likewise.
37159 (efi_call_6): Likewise.
37160
37161 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37162 grub_rescue_cmd_chainloader.
37163
37164 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37165 (grub_pe32_optional_header): Change some fields based on i386 or
37166 x86_64 platform.
37167 (GRUB_PE32_PE32_MAGIC): Likewise.
37168
37169 * include/grub/efi/uga_draw.h: New file.
37170
37171 * include/grub/elf.h (STN_ABS): New constant.
37172 (R_X86_64_NONE): Relocation constant for x86_64.
37173 (R_X86_64_64): Likewise.
37174 (R_X86_64_PC32): Likewise.
37175 (R_X86_64_GOT32): Likewise.
37176 (R_X86_64_PLT32): Likewise.
37177 (R_X86_64_COPY): Likewise.
37178 (R_X86_64_GLOB_DAT): Likewise.
37179 (R_X86_64_JUMP_SLOT): Likewise.
37180 (R_X86_64_RELATIVE): Likewise.
37181 (R_X86_64_GOTPCREL): Likewise.
37182 (R_X86_64_32): Likewise.
37183 (R_X86_64_32S): Likewise.
37184 (R_X86_64_16): Likewise.
37185 (R_X86_64_PC16): Likewise.
37186 (R_X86_64_8): Likewise.
37187 (R_X86_64_PC8): Likewise.
37188
37189 * include/grub/i386/efi/pci.h: New file.
37190
37191 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37192 Change it value based on platform.
37193 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37194 (GRUB_E820_RAM): Likewise.
37195 (GRUB_E820_RESERVED): Likewise.
37196 (GRUB_E820_ACPI): Likewise.
37197 (GRUB_E820_NVS): Likewise.
37198 (GRUB_E820_EXEC_CODE): Likewise.
37199 (GRUB_E820_MAX_ENTRY): Likewise.
37200 (grub_e820_mmap): New structure.
37201 (linux_kernel_header): Change the efi field according to different
37202 kernel version, also field from linux_kernel_header.
37203
37204 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37205
37206 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37207 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37208 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37209 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37210 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37211 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37212 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37213 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37214 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37215 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37216
37217 * include/grub/x86_64/efi/kernel.h: New file.
37218
37219 * include/grub/x86_64/efi/loader.h: Likewise.
37220
37221 * include/grub/x86_64/efi/machine.h: Likewise.
37222
37223 * include/grub/x86_64/efi/pci.h: Likewise.
37224
37225 * include/grub/x86_64/efi/time.h: Likewise.
37226
37227 * include/grub/x86_64/linux.h: Likewise.
37228
37229 * include/grub/x86_64/setjmp.h: Likewise.
37230
37231 * include/grub/x86_64/time.h: Likewise.
37232
37233 * include/grub/x86_64/types.h: Likewise.
37234
37235 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37236 GRUB_TARGET_SIZEOF_VOID_P.
37237
37238 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37239 (grub_efi_locate_handle): Likewise.
37240 (grub_efi_open_protocol): Likewise.
37241 (grub_efi_set_text_mode): Likewise.
37242 (grub_efi_stall): Likewise.
37243 (grub_exit): Likewise.
37244 (grub_reboot): Likewise.
37245 (grub_halt): Likewise.
37246 (grub_efi_exit_boot_services): Likewise.
37247 (grub_get_rtc): Likewise.
37248
37249 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37250 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37251 (grub_efi_allocate_pages): Wrap efi calls.
37252 (grub_efi_free_pages): Wrap efi calls.
37253 (grub_efi_get_memory_map): Wrap efi calls.
37254
37255 * kern/x86_64/dl.c: New file.
37256
37257 * kern/x86_64/efi/callwrap.S: Likewise.
37258
37259 * kern/x86_64/efi/startup.S: Likewise.
37260
37261 * loader/efi/appleloader.c: Likewise.
37262
37263 * loader/efi/chainloader.c (cmdline): New variable.
37264 (grub_chainloader_unload): Wrap efi calls.
37265 (grub_chainloader_boot): Likewise.
37266 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37267 command line.
37268
37269 * loader/efi/chainloader_normal.c (chainloader_command):
37270 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37271 command line.
37272
37273 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37274 method.
37275 (grub_e820_add_region): New function.
37276 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37277 booting.
37278 (grub_find_video_card): New function.
37279 (grub_linux_setup_video): New function.
37280 (grub_rescue_cmd_linux): Probe for video information.
37281
37282 * normal/x86_64/setjmp.S: New file.
37283
37284 * term/efi/console.c (map_char): New function.
37285 (grub_console_putchar): Map unicode char.
37286 (grub_console_checkkey): Wrap efi calls.
37287 (grub_console_getkey): Likewise.
37288 (grub_console_getwh): Likewise.
37289 (grub_console_gotoxy): Likewise.
37290 (grub_console_cls): Likewise.
37291 (grub_console_setcolorstate): Likewise.
37292 (grub_console_setcursor): Likewise.
37293
37294 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
37295
59652a20 372962008-07-16 Pavel Roskin <proski@gnu.org>
37297
ef294055 37298 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37299 format strings.
37300
59652a20 37301 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
37302 pointer, not an integer. This fixes a warning and prevents
37303 precision loss on 64-bit systems.
37304 (relocate_addresses): Remove unneeded cast.
37305
afc3b5d7 373062008-07-15 Pavel Roskin <proski@gnu.org>
37307
506b2b3e 37308 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37309
62ead89c 37310 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37311
c4cd51d7 37312 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37313 Fix comparison between signed and unsigned.
37314
0d3d8f28 37315 * include/grub/i386/ieee1275/console.h: Declare
37316 grub_console_init() and grub_console_fini().
37317
8804b286 37318 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37319 It's empty and unused.
37320
ee01cf35 37321 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37322 beginning to avoid warnings with some compilers.
37323
afc3b5d7 37324 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37325 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37326
e4e8eaa5 373272008-07-14 Pavel Roskin <proski@gnu.org>
37328
407aceb4 37329 * kern/env.c (grub_register_variable_hook): Don't copy empty
37330 string, it leaks memory. Pass "" to grub_env_set(), it should
37331 handle constant strings.
37332
e4e8eaa5 37333 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
37334 * commands/cmp.c (grub_cmd_cmp): Likewise.
37335 * kern/dl.c (grub_dl_flush_cache): Likewise.
37336 (grub_dl_load_core): Likewise.
37337 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
37338 (grub_elf64_load_phdrs): Likewise.
37339
d4e2dad3 373402008-07-13 Pavel Roskin <proski@gnu.org>
37341
37342 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
37343 between signed and unsigned.
37344 (LzmaEnc_Finish): Fix warning about an unused parameter.
37345
aa24b516 373462008-07-13 Bean <bean123ch@gmail.com>
37347
37348 * Makefile.in (enable_lzo): New rule.
37349
37350 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
37351
37352 * configure.ac (ENABLE_LZO): New option --enable-lzo.
37353
37354 * boot/i386/pc/lnxboot.S: #include <config.h>.
37355
37356 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 37357 its value according to the compression algorithm used, lzo or lzma.
aa24b516 37358
37359 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
37360 compression algorithm according to configure macro.
37361
37362 * kern/i386/pc/startup.S (codestart): Likewise.
37363
37364 * kern/i386/pc/lzma_decode.S: New file.
37365
37366 * include/grub/lib/LzFind.h: Likewise.
37367
37368 * include/grub/lib/LzHash.h: Likewise.
37369
37370 * include/grub/lib/LzmaDec.h: Likewise.
37371
37372 * include/grub/lib/LzmaEnc.h: Likewise.
37373
37374 * include/grub/lib/LzmaTypes.h: Likewise.
37375
37376 * lib/LzFind.c: Likewise.
37377
37378 * lib/LzmaDec.c: Likewise.
37379
37380 * lib/LzmaEnc.c: Likewise.
37381
4ae821ac 373822008-07-13 Bean <bean123ch@gmail.com>
37383
37384 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
37385 (grub_ext4_extent_header): New structure.
37386 (grub_ext4_extent): Likewise.
37387 (grub_ext4_extent_idx): Likewise.
37388 (grub_ext4_find_leaf): New function.
37389 (grub_ext2_read_block): Handle extents.
37390
9a745147 373912008-07-12 Robert Millan <rmh@aybabtu.com>
37392
37393 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37394
d49a4cf6 373952008-07-11 Robert Millan <rmh@aybabtu.com>
37396
37397 * util/grub.d/40_custom.in: New file. Example on how to add custom
37398 entries to /etc/grub.d.
37399 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
37400 40_custom (implicitly, by merging all the grub.d rules).
37401
947414b4 374022008-07-11 Pavel Roskin <proski@gnu.org>
37403
0059cf6f 37404 * commands/read.c (grub_getline): Fix invalid memory access.
37405 Don't add newline to the variable value.
37406
947414b4 37407 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
37408 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
37409 (serial_hw_get_port): Check validity of the port number.
37410 (grub_cmd_serial): Check return value of serial_hw_get_port().
37411
62a02d00 374122008-07-07 Pavel Roskin <proski@gnu.org>
37413
37414 * boot/i386/pc/diskboot.S (notification_string): Replace
37415 "Loading kernel" with just "loading". This is shorter, less
37416 confusing and saves a few bytes for possible future changes.
37417
3e5581b0 374182008-07-05 Pavel Roskin <proski@gnu.org>
37419
ea387a48 37420 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
37421 size for ATAPI devices, they are undefined. Output sector
37422 number in decimal form.
37423
3e5581b0 37424 * disk/ata.c: Use named constants for status bits.
37425
fdecb8fd 374262008-07-04 Pavel Roskin <proski@gnu.org>
37427
bcd35b90 37428 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
37429 grub_addr_t before casting it to the void pointer to fix a
37430 warning. Non-addressable regions are discarded earlier.
37431 (grub_arch_modules_addr): Cast _end to grub_addr_t.
37432 * kern/i386/linuxbios/table.c: Include grub/misc.h.
37433 (check_signature): Don't shadow table_header.
37434 (grub_linuxbios_table_iterate): Cast numeric constants to
37435 grub_linuxbios_table_header_t.
37436 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
37437 grub_stop().
37438
af58ab3d 37439 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37440 prevent warnings.
37441
1759aa57 37442 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37443 pointer, which can cause warnings. Support 64-bit addresses.
37444
fdecb8fd 37445 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
37446 of sizeof(long). This fixes PowerPC image generation on x86_64.
37447
8516d2a8 374482008-07-04 Robert Millan <rmh@aybabtu.com>
37449
37450 This fixes a performance issue when pc & gpt partmap iterators
37451 didn't abort iteration even after our hook found what it was
fe987087 37452 looking for (often causing expensive probes of non-existent drives).
8516d2a8 37453
37454 Some callers relied on previous buggy behaviour, since they would
34c44600 37455 raise an error when their own hooks caused early abortion of its
8516d2a8 37456 iteration.
37457
37458 * kern/device.c (grub_device_open): Improve error message.
37459 * disk/lvm.c (grub_lvm_open): Likewise.
37460 * disk/raid.c (grub_raid_open): Likewise.
37461
37462 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37463 when hook requests it, independently of grub_errno.
37464 (pc_partition_map_probe): Do not fail when find_func() caused
37465 early abortion of pc_partition_map_iterate().
37466
37467 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37468 when hook requests it, independently of grub_errno.
37469 (gpt_partition_map_probe): Do not fail when find_func() caused
37470 early abortion of gpt_partition_map_iterate().
37471
37472 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37473 when hook requests it, independently of grub_errno. Do not fail when
37474 part_map_iterate_hook() caused early abortion of p->iterate().
37475
37476 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37477 when grub_partition_iterate() returned with non-zero.
37478
277d0de9 374792008-07-03 Pavel Roskin <proski@gnu.org>
37480
37481 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37482 like we do in grub_ata_pio_read().
37483 (grub_ata_readwrite): Always write individual sectors. Fix the
37484 sector count for the remainder.
37485 (grub_ata_write): Enable writing to ATA devices. Correctly
37486 report error for ATAPI devices.
37487
d4c9b428 374882008-07-02 Pavel Roskin <proski@gnu.org>
37489
e43fc690 37490 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37491 warning.
37492
f707af42 37493 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37494 for every read sector, we already increment it for the whole
37495 batch. This fixes reading more than 256 sectors at once.
37496
11e16b15 37497 * util/grub-editenv.c (cmd_info): Cast argument to long
37498 explicitly. ptrdiff_t reduces to int on i386.
37499
cbabfdd4 37500 * util/grub-editenv.c (main): Be specific which parameter is
37501 missing.
37502
b8fbce0a 37503 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37504 (memdisk): Make memdisk_orig_addr a pointer.
37505
c9c8e606 37506 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37507 for file offsets, use grub_off_t instead. Fix printf format
37508 warnings.
37509
ca62e598 37510 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37511 there. Real unexpected warnings should not drown in the noise
37512 about known problems.
37513
ce8d1766 37514 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37515 grub_disk_addr_t for memory addresses.
37516
00c7a56a 37517 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37518 explicitly to fix a warning.
37519
08d3ef09 37520 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37521
cb71ba20 37522 * Makefile.in (MODULE_LDFLAGS): New variable.
37523 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37524 the linker accepts --build-id=none.
37525 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37526 MODULE_LDFLAGS.
37527 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37528
d4c9b428 37529 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37530 those in Linux XFS code. Provide a way to access 64-bit parent
37531 inode.
37532 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37533 the end of struct grub_xfs_dir_header.
37534
d4156eee 375352008-07-02 Bean <bean123ch@gmail.com>
37536
37537 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37538 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37539 and GRUB_IEEE1275_FLAG_NO_ANSI.
37540
37541 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37542 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37543 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37544
37545 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37546 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37547
37548 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37549 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37550
37551 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37552 esc sequence on non ANSI terminal.
37553 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37554
37555 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37556 beginning of file.
37557
2270f77b 375582008-07-02 Bean <bean123ch@gmail.com>
37559
37560 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37561 (grub_editenv_SOURCES): New variable.
37562 (pkglib_MODULES): Add loadenv.mod.
37563 (loadenv_mod_SOURCES): New variable.
37564 (loadenv_mod_CFLAGS): Likewise.
37565 (loadenv_mod_LDFLAGS): Likewise.
37566
37567 * include/grub/envblk.h: New file.
37568
37569 * util/envblk.c: New file.
37570
37571 * util/grub-editenv.c: New file.
37572
37573 * commands/loadenv.c: New file.
37574
0e9e51ec 375752008-07-01 Pavel Roskin <proski@gnu.org>
37576
d89b7634 37577 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37578 not unsigned char. This fixes warnings and is consistent with
37579 other tags.
37580
bf1835b1 37581 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37582
8222a04b 37583 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37584
6a42d99d 37585 * term/tparm.c (analyze): Always set *popcount.
37586
10b159d1 37587 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37588 cast to fix a warning.
37589
b8789f6c 37590 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37591 cast to suppress a warning.
37592
29d7e38a 37593 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37594 grub_fshelp_read_file() expects.
37595
f341f669 37596 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37597 write uuid as a 32-bit value in CPU byte order, so declare and
37598 use it as such.
37599
0e9e51ec 37600 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37601 long if the format specifier expects it.
37602 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37603 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37604 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37605 long to fix a warning.
37606 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37607 grub_dprintf() arguments to fix warnings.
37608
3aefa857 376092008-06-30 Pavel Roskin <proski@gnu.org>
37610
56c7668b 37611 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37612 install_bsd_part immediately before core.img is embedded or
37613 modified on disk. This fixes core.img verification if core.img
37614 cannot be embedded.
37615
3aefa857 37616 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37617 core_path to calculate the blocklist.
37618 Patch from Javier Martín <lordhabbit@gmail.com>
37619
5444088d 376202008-06-29 Robert Millan <rmh@aybabtu.com>
37621
37622 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37623 block to disk block.
37624 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37625 Patch from Niels Böhm <bitbucket@arcor.de>
37626
674835c8 376272008-06-29 Robert Millan <rmh@aybabtu.com>
37628
37629 * util/update-grub_lib.in (font_path): Search for fonts in
37630 /boot/grub first, which is more likely to be readable (we aren't
37631 deciding where fonts live, just looking for them).
37632
f527dbc8 376332008-06-26 Pavel Roskin <proski@gnu.org>
37634
6c2d8df6 37635 * util/biosdisk.c (read_device_map): Don't leave dead map
37636 entries for devices failing stat() check.
37637
f527dbc8 37638 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37639 core_path_dev for the core.img path on the target device.
37640
aebe3d13 376412008-06-26 Robert Millan <rmh@aybabtu.com>
37642
37643 * disk/fs_uuid.c: New file.
37644 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37645 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37646 (fs_uuid_mod_LDFLAGS): New variables.
37647 * include/grub/disk.h (grub_disk_dev_id): Add
37648 `GRUB_DISK_DEVICE_UUID_ID'.
37649 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37650 implement iterate().
37651
37aaf354 376522008-06-26 Robert Millan <rmh@aybabtu.com>
37653
37654 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37655 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37656 Linux image includes no initrd.
37657
25ff262a 376582008-06-21 Javier Martín <lordhabbit@gmail.com>
37659
37660 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37661 call to resolve the core image location that effectively appended the
37662 name twice.
37663
76a2bd44 376642008-06-21 Robert Millan <rmh@aybabtu.com>
37665
37666 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37667 call from here ...
37668
37669 * util/grub.d/10_hurd.in: ... to here ...
37670 * util/grub.d/10_linux.in: ... and here.
37671
650e1c79 376722008-06-19 Robert Millan <rmh@aybabtu.com>
37673
fe987087 37674 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 37675 after it has been set by grub_machine_set_prefix().
37676
6ce63911 376772008-06-19 Robert Millan <rmh@aybabtu.com>
37678
37679 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37680 search result when not saving to variable, not the other way around.
37681 When saving to variable, abort iteration as soon as a match is found.
37682
73940cec 376832008-06-19 Robert Millan <rmh@aybabtu.com>
37684
37685 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37686 check for partition that provides /boot/grub. Its logic is flawed,
37687 as it prevents prepare_grub_to_access_device() from being called
37688 multiple times.
37689
3c62a39d 376902008-06-19 Robert Millan <rmh@aybabtu.com>
37691
37692 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37693 "insmod" command directly when abstraction modules are needed,
fe987087 37694 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 37695 since it had already been processed).
37696
47395a42 376972008-06-19 Pavel Roskin <proski@gnu.org>
37698
37699 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37700 changed. This is needed in case GRUB_LIBDIR changes.
37701 * conf/i386-ieee1275.rmk: Likewise.
37702 * conf/i386-linuxbios.rmk: Likewise.
37703 * conf/i386-pc.rmk: Likewise.
37704 * conf/powerpc-ieee1275.rmk: Likewise.
37705
a145ac2d 377062008-06-18 Pavel Roskin <proski@gnu.org>
37707
37708 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37709 kernel_elf_symlist.c to symlist.c for consistency with other
37710 architectures. Update all users.
37711 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37712
7847c51e 377132008-06-18 Robert Millan <rmh@aybabtu.com>
37714
37715 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37716 it in prefix.
37717
37718 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37719 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37720 a RAID device, run setup() for all members independently on whether
37721 LVM abstraction is being used.
37722 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37723 If grub-mkimage has set `*install_dos_part == -2', don't override this
37724 value.
37725 Perform *install_dos_part adjustments independently on whether
37726 we're embedding or not.
37727 Clarify error message when image is too big for embedding.
37728 Remove duplicate *install_dos_part stanza.
37729
b23e5644 377302008-06-17 Robert Millan <rmh@aybabtu.com>
37731
37732 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37733 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37734 variables.
37735 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37736 values in grub_ofconsole_normal_color and
37737 grub_ofconsole_highlight_color (they're not directly related to
37738 background and foreground).
37739 (grub_ofconsole_setcolorstate): Extract background and foreground
37740 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37741
0aac2f79 377422008-06-17 Robert Millan <rmh@aybabtu.com>
37743
37744 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37745 /boot/grub for the check in last commit, not /boot (they could be
37746 different partitions).
37747
3cca7ef3 377482008-06-16 Robert Millan <rmh@aybabtu.com>
37749
37750 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37751 asked to setup access for the same partition that provides /boot,
37752 don't bother using UUIDs since our root already has the value we
37753 want.
37754
347396d8 377552008-06-16 Robert Millan <rmh@aybabtu.com>
37756
37757 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37758 I2O devices.
37759 Patch from Sven Mueller <sven@debian.org>.
37760
991477f8 377612008-06-16 Robert Millan <rmh@aybabtu.com>
37762
37763 * util/update-grub.in: Check for $EUID instead of $UID.
37764 Reported by Vincent Zweije.
37765
d31a32a1 377662008-06-16 Bean <bean123ch@gmail.com>
37767
fe987087 37768 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 37769 (grub_ext2_read_block): Likewise.
37770 (grub_ext2_read_inode): Likewise.
37771 (grub_ext2_mount): Likewise.
37772 (grub_ext2_close): Likewise.
37773 (grub_ext3_get_journal): Removed.
37774
fe987087 37775 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 37776 (grub_reiserfs_read_symlink): Likewise.
37777 (grub_reiserfs_mount): Likewise.
37778 (grub_reiserfs_open): Likewise.
37779 (grub_reiserfs_read): Likewise.
37780 (grub_reiserfs_close): Likewise.
37781 (grub_reiserfs_get_journal): Removed.
37782
37783 * fs/fshelp.c (grub_fshelp_read): Removed.
37784 (grub_fshelp_map_block): Likewise.
37785
37786 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37787 (grub_fshelp_journal): Likewise.
37788 (grub_fshelp_read): Likewise.
37789 (grub_fshelp_map_block): Likewise.
37790
3540a760 377912008-06-16 Pavel Roskin <proski@gnu.org>
37792
37793 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37794 floating point anymore.
37795 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37796
95614c84 377972008-06-15 Pavel Roskin <proski@gnu.org>
37798
37799 * commands/ls.c (grub_ls_list_files): Use integer calculations
37800 for human readable format, avoid floating point use.
37801 * kern/misc.c (grub_ftoa): Remove.
37802 (grub_vsprintf): Remove floating point support.
37803
50465dd6 378042008-06-15 Robert Millan <rmh@aybabtu.com>
37805
fe6b695a 37806 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 37807 devices.
37808 Reported by Max Vozeler.
37809
a9207284 378102008-06-15 Robert Millan <rmh@aybabtu.com>
37811
37812 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37813 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37814 skipped later.
37815 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37816 the beginning of the prefix.
37817
37818 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37819 It is assumed that if we have a memdisk, grub-mkimage has set
37820 grub_prefix to include the "(memdisk)" drive in it.
37821
a7cbd45a 378222008-06-15 Robert Millan <rmh@aybabtu.com>
37823
37824 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37825 Initialize keyboard controller after registering the terminal, so that
37826 grub_printf() can be called from grub_keyboard_controller_init().
37827
21cf716a 378282008-06-15 Robert Millan <rmh@aybabtu.com>
37829
37830 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37831 extent-btree which is written as big endian on disk.
37832 Reported by Alain Greppin <al@chilibi.org>.
37833
23a64d8e 378342008-06-14 Robert Millan <rmh@aybabtu.com>
37835
37836 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37837 * util/i386/pc/grub-install.in (modules): Likewise.
37838
d687651c 378392008-06-13 Pavel Roskin <proski@gnu.org>
37840
37841 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37842
dfe9ddd4 378432008-06-13 Bean <bean123ch@gmail.com>
37844
37845 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37846
37847 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37848
37849 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37850 to indicate sparse block.
37851
16ae7781 378522008-06-12 Pavel Roskin <proski@gnu.org>
37853
e6d1a308 37854 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37855 number, grub_fshelp_read() does it for us.
37856
16ae7781 37857 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37858 linear disk read with journal translation.
37859 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37860 * include/grub/fshelp.h: Declare grub_fshelp_read().
37861
40fd3a2b 378622008-06-09 Pavel Roskin <proski@gnu.org>
37863
37864 * fs/minix.c (grub_minix_mount): Handle error reading
37865 superblock.
37866
f5679726 378672008-06-08 Robert Millan <rmh@aybabtu.com>
37868
37869 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37870 don't append the RAID prefix afterwards.
37871 Reported by Clint Adams.
37872
ce525529 378732008-06-08 Robert Millan <rmh@aybabtu.com>
37874
37875 Based on description from Pavel:
37876 * kern/disk.c (grub_disk_check_range): Rename to ...
37877 (grub_disk_adjust_range): ... this. Add a comment explaining the
37878 tasks performed by this function.
37879
ad4936a0 378802008-06-08 Robert Millan <rmh@aybabtu.com>
37881
37882 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37883 `num_serial' (for consistency with other variables).
37884 (struct grub_ntfs_data): Add `uuid' member.
37885 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37886 (grub_ntfs_uuid): New function.
37887 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37888
dc20b0f9 378892008-06-07 Pavel Roskin <proski@gnu.org>
37890
37891 * util/biosdisk.c (open_device): Revert last change to the
37892 function, it broke installation. The sector needs to be
37893 different dependent on which device is opened.
37894
c5e3cfba 378952008-06-06 Robert Millan <rmh@aybabtu.com>
37896
37897 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37898 rest of GRUB, and breakage doesn't happen if its value were modified.
37899
37900 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37901 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37902 a constant (same value).
37903 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37904 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37905
26a1f8c4 379062008-06-06 Robert Millan <rmh@aybabtu.com>
37907
37908 * util/biosdisk.c (open_device): Do not modify sector offset when
37909 accessing a partition. kern/disk.c already handles this for us.
37910
25d6b327 379112008-06-06 Robert Millan <rmh@aybabtu.com>
37912
37913 * util/grub-emu.c (grub_machine_init): Move code in this function from
37914 here ...
37915 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37916 segfault in case grub_printf() is called).
37917
37918 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37919 grub_probe. Update all users not to explicitly add it again.
37920 (grub_device): New variable; contains corresponding device for grubdir.
37921 (fs_module, partmap_module, devabstraction_module): Pass
37922 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37923 every time.
37924
9ece62fb 379252008-06-05 Robert Millan <rmh@aybabtu.com>
37926
37927 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37928 is found, print it (same layout as with labels).
37929
1ad36d37 379302008-06-04 Robert Millan <rmh@aybabtu.com>
37931
37932 * util/biosdisk.c (get_drive): Rename to ...
37933 (find_grub_drive): ... this. Update all users.
37934
37935 (get_os_disk): Rename to ...
37936 (convert_system_partition_to_system_disk): ... this. Update all users.
37937
37938 (find_drive): Rename to ...
37939 (find_system_device): ... this. Update all users.
37940
e6a30859 379412008-06-04 Robert Millan <rmh@aybabtu.com>
37942
37943 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37944 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37945 (make_device_map): Likewise.
37946
00c108a4 379472008-06-01 Robert Millan <rmh@aybabtu.com>
37948
37949 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37950 before dereferencing it.
37951
37952 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37953 union with fat12/fat16-specific ones. Add some new fields, including
37954 `num_serial' for both versions.
37955 (struct grub_fat_data): Add `uuid' member.
37956 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37957 names. Initialize `data->uuid' using `num_serial'.
37958 (grub_fat_uuid): New function.
37959 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37960
37961 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37962 (grub_reiserfs_uuid): New function.
37963 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37964 member.
37965
37966 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37967 (grub_xfs_uuid): New function.
37968 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37969
1385c5bb 379702008-06-01 Robert Millan <rmh@aybabtu.com>
37971
37972 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37973 code that is backward compatible with pre-uuid search command.
37974
c682dfd7 379752008-05-31 Robert Millan <rmh@aybabtu.com>
37976
37977 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37978 floppies after everything else, to ensure floppy drive isn't accessed
37979 unnecessarily (patch from Bean).
37980
b7db5d47 379812008-05-31 Robert Millan <rmh@aybabtu.com>
37982
37983 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37984 not print device names when we were asked to set a variable.
37985
6e037aa9 379862008-05-31 Robert Millan <rmh@aybabtu.com>
37987
37988 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37989 using "cursor-on" and "cursor-off" commands (understood at least by
37990 the Open Firmware flavour on OLPC).
37991
41305bc8 379922008-05-31 Michael Gorven <michael@gorven.za.net>
37993
37994 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37995 on and off sequences.
37996
69ba137e 379972008-05-31 Robert Millan <rmh@aybabtu.com>
37998
37999 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38000 * util/update-grub.in: Likewise.
38001
520ae21b 380022008-05-30 Pavel Roskin <proski@gnu.org>
38003
38004 * util/biosdisk.c (linux_find_partition): Simplify logic and
38005 make the code more universal. Keep special processing for
38006 devfs, but use a simple rule for all other devices. If the
38007 device ends with a number, append 'p' and the partition number.
38008 Otherwise, append only the partition number.
38009
5786569b 380102008-05-30 Robert Millan <rmh@aybabtu.com>
38011
38012 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38013 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38014 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38015 the `root' parameter to Linux.
38016
51500452 380172008-05-30 Robert Millan <rmh@aybabtu.com>
38018
38019 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38020 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38021 --fs_uuid with --fs-uuid.
38022 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38023 all filesystems support them).
38024
811d3878 380252008-05-30 Robert Millan <rmh@aybabtu.com>
38026
38027 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38028 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38029
cab63c95 380302008-05-30 Robert Millan <rmh@aybabtu.com>
38031
38032 * util/grub.d/00_header.in: Remove obsolete comment referencing
38033 convert_system_path_to_grub_path().
38034 * util/update-grub.in: Likewise.
38035 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38036 (convert_system_path_to_grub_path): Add a warning message explaining
38037 that this function is deprecated. Rely on is_path_readable_by_grub()
38038 for the readability checks.
38039 (font_path): Use is_path_readable_by_grub() for the readability
38040 check rather than convert_system_path_to_grub_path().
38041
972e2f7a 380422008-05-30 Robert Millan <rmh@aybabtu.com>
38043
38044 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38045 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38046 converting it first.
38047 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38048 grub.cfg for access to font file, and afterwards call it again to set
38049 the root device.
38050
62191274 380512008-05-30 Robert Millan <rmh@aybabtu.com>
38052
38053 * commands/search.c (options): Add --fs_uuid option.
38054 (search_fs_uuid): New function.
38055 (grub_cmd_search): Fix --set argument passing.
38056 Use search_fs_uuid() when requested via --fs_uuid.
38057 (grub_search_init): Update help message.
38058 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38059 and redeclare it as an array of 16-bit words.
38060 (grub_ext2_uuid): New function.
38061 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38062 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38063 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38064 (GRUB_DEVICE_BOOT_UUID): New variables.
38065 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38066 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38067 whenever possible.
38068 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38069 just assume `root' variable has the right value.
38070 * util/grub.d/10_linux.in: Likewise.
38071 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38072 via PRINT_FS_UUID.
38073 (main): Recognise `-t fs_uuid' argument.
38074
01b73ec8 380752008-05-30 Robert Millan <rmh@aybabtu.com>
38076
38077 * util/biosdisk.c (map): Redefine structure to hold information
38078 about GRUB drive name.
fe6b695a 38079 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38080 drive names.
38081 (call_hook): Remove.
38082 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38083 member. Assume drive has partitions.
38084 (grub_util_biosdisk_open): Access device names via `.device' struct
38085 member.
38086 (open_device): Likewise.
38087 (find_drive): Likewise.
38088 (read_device_map): Adjust map[] usage to match the new struct
38089 definition. Don't check for duplicates (still possible, but not cheap
38090 anymore).
38091 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38092 (make_device_name): Remove assumption of BIOS-like drive names.
38093
22f16596 380942008-05-30 Pavel Roskin <proski@gnu.org>
38095
38096 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38097 compiling execute.c doesn't need grub_script.tab.h anymore.
38098 (normal/command.c_DEPENDENCIES): Likewise.
38099 (normal/function.c_DEPENDENCIES): Likewise.
38100 * conf/i386-ieee1275.rmk: Likewise.
38101 * conf/i386-linuxbios.rmk: Likewise.
38102 * conf/i386-pc.rmk: Likewise.
38103 * conf/powerpc-ieee1275.rmk: Likewise.
38104 * conf/sparc64-ieee1275.rmk: Likewise.
38105
528ad8f2 381062008-05-29 Pavel Roskin <proski@gnu.org>
38107
d1dff95d 38108 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38109 when scanning metadata for volume group name.
38110
528ad8f2 38111 * include/grub/script.h: Don't include grub_script.tab.h. It's
38112 a generated file, which may only be included from the files with
38113 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38114 use union YYSTYPE, as the later allows forward declaration.
38115 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38116
47248e08 381172008-05-29 Robert Millan <rmh@aybabtu.com>
38118
38119 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38120 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38121 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38122 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38123 scan codes.
38124
ee632529 381252008-05-29 Robert Millan <rmh@aybabtu.com>
38126
38127 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38128 control key combinations.
38129
eee96e08 381302008-05-29 Robert Millan <rmh@aybabtu.com>
38131
38132 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38133 * util/ieee1275/grub-install.in: ... to here.
38134 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38135 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38136 (grub_install_SOURCES): Likewise.
38137
da9a6a94 381382008-05-29 Robert Millan <rmh@aybabtu.com>
38139
38140 * fs/affs.c: Update copyright year.
38141 * fs/ext2.c: Likewise.
38142 * fs/fshelp.c: Likewise.
38143 * fs/hfsplus.c: Likewise.
38144 * fs/ntfs.c: Likewise.
38145 * fs/xfs.c: Likewise.
38146 * include/grub/fshelp.h: Likewise.
38147 * util/grub-mkdevicemap.c: Likewise.
38148
12e65f3a 381492008-05-28 Robert Millan <rmh@aybabtu.com>
38150
38151 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38152 might need to be fatfs to support some firmware implementations
38153 (e.g. OFW or EFI).
38154
23023641 381552008-05-28 Robert Millan <rmh@aybabtu.com>
38156
38157 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38158 devices.
38159 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38160 (make_device_map): Likewise.
38161
887d2619 381622008-05-20 Bean <bean123ch@gmail.com>
38163
38164 * fs/fshelp.c (grub_fshelp_map_block): New function.
38165 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38166 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38167
38168 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38169 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38170 (grub_fshelp_journal): New structure.
38171 (grub_fshelp_map_block): New function prototype.
38172 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38173 (grub_fshelp_map_block): Likewise.
38174
38175 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38176 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38177 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38178 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38179 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38180 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38181 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38182 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38183 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38184 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38185 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38186 (grub_ext2_sblock): New members for journal support.
38187 (grub_ext3_journal_header): New structure.
38188 (grub_ext3_journal_revoke_header): Likewise.
38189 (grub_ext3_journal_block_tag): Likewise.
38190 (grub_ext3_journal_sblock): Likewise.
38191 (grub_fshelp_node): New members logfile and journal.
38192 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38193 grub_fshelp_map_block to get real block number.
38194 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38195 number.
38196 (grub_ext2_read_inode): Likewise.
38197 (grub_ext3_get_journal): New function.
38198 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38199 (grub_ext2_close): Release memory used by journal.
38200
38201 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38202 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38203 (grub_reiserfs_transaction_header): Renamed to
38204 grub_reiserfs_description_block, replace field data with real_blocks.
38205 (grub_reiserfs_commit_block): New structure.
38206 (grub_reiserfs_data): New member journal.
38207 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38208 number.
38209 (grub_reiserfs_read_symlink): Likewise.
38210 (grub_reiserfs_iterate_dir): Likewise.
38211 (grub_reiserfs_open): Likewise.
38212 (grub_reiserfs_read): Likewise.
38213 (grub_reiserfs_get_journal): New function.
38214 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38215 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38216 using grub_reiserfs_get_journal.
38217 (grub_reiserfs_close): Release memory used by journal.
38218
38219 * fs/affs.c (grub_affs_read_block): Change block type to
38220 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38221
38222 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38223
38224 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38225
38226 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38227
38228 * fs/udf.c (grub_udf_read_block): Change block type to
38229 grub_disk_addr_t. Use type cast to avoid warning.
38230
38231 * fs/xfs.c (grub_xfs_read_block): Likewise.
38232
b7c6bed5 382332008-05-16 Christian Franke <franke@computer.org>
38234
38235 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38236 to ensure that break with ESC will always work.
38237 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38238 Remove ESC from keyboard queue.
38239
eedf167f 382402008-05-16 Christian Franke <franke@computer.org>
38241
38242 * util/biosdisk.c: [__CYGWIN__] Add includes.
38243 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38244 (get_os_disk): Move variable declarations to OS specific
38245 parts to avoid warning.
38246 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38247 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38248 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38249 Cygwin.
38250 * util/getroot.c: [__CYGWIN__] Add includes.
38251 (strip_extra_slashes): Fix "/" case.
38252 [__CYGWIN__] (get_win32_path): New function.
38253 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38254 [__CYGWIN__] (find_root_device): Disable.
38255 [__CYGWIN__] (get_bootsec_serial): New function.
38256 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38257 [__linux__] (grub_guess_root_device): Add early returns to simplify
38258 structure.
38259 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38260 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38261 check for Linux only.
38262
a079699e 382632008-05-15 Bean <bean123ch@gmail.com>
38264
38265 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38266 keyboard hang problem in apple's intel mac.
38267
1cf4059a 382682008-05-09 Robert Millan <rmh@aybabtu.com>
38269
38270 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38271 devices.
38272 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38273 (make_device_map): Likewise.
38274 Reported by Aurelien Jarno <aurel32@debian.org>
38275
ed759390 382762008-05-07 Ian Campbell <ijc@hellion.org.uk>
38277
38278 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38279 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38280 (make_device_map): Output entries for xvd type disks.
38281
b56c4eaa 382822008-05-07 Robert Millan <rmh@aybabtu.com>
38283
38284 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38285 devices.
38286 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38287 (make_device_map): Likewise.
38288 Reported by Roland Dreier <rdreier@cisco.com>
38289
7f8866ed 382902008-05-07 Robert Millan <rmh@aybabtu.com>
38291
38292 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38293 grub_strstr() call. Correct a few mistakes in failure path handling.
38294
b0346e0f 382952008-05-06 Robert Millan <rmh@aybabtu.com>
38296
38297 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38298 Do not print a trailing slash (therefore, the root directory is an
38299 empty string).
38300 (convert_system_path_to_grub_path): Do not remove trailing slash
38301 from make_system_path_relative_to_its_root() output.
38302
38303 * util/i386/pc/grub-install.in: Add trailing slash to output from
38304 make_system_path_relative_to_its_root().
38305
6cf12cbd 383062008-05-06 Robert Millan <rmh@aybabtu.com>
38307
38308 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
38309 ensures that output lines aren't intermangled with those sent to
38310 stderr (via grub_util_info()).
38311 * util/grub-probe.c (grub_refresh): Likewise.
38312 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
38313
0fbb3117 383142008-05-05 Christian Franke <franke@computer.org>
38315
38316 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
38317 Add Cygwin device names.
38318 (get_ide_disk_name) [__CYGWIN__]: Likewise.
38319 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
38320 (check_device): Return error instead of success on empty name.
38321 (make_device_map): Move label inside linux specific code to
38322 prevent compiler warning.
38323
8124cdb7 383242008-04-30 Robert Millan <rmh@aybabtu.com>
38325
38326 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
38327 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
38328 first boot option.
38329 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
38330
094c01d0 383312008-04-29 Robert Millan <rmh@aybabtu.com>
38332
38333 * docs/grub.cfg: New file (example GRUB configuration).
38334
f4b1fc02 383352008-04-26 Robert Millan <rmh@aybabtu.com>
38336
329ce2a5 38337 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
38338 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
38339 and `disk/ieee1275/nand.c'.
f4b1fc02 38340
25f16ec1 383412008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 38342
25f16ec1 38343 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
38344 i386-linuxbios.
38345
38346 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
38347 change the buffer size to 4096 for cdrom device.
38348
38349 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
38350 and nand.mod.
38351 (_linux_mod_SOURCES): New variable.
38352 (_linux_mod_CFLAGS): Likewise.
38353 (_linux_mod_LDFLAGS): Likewise.
38354 (linux_mod_SOURCES): Likewise.
38355 (linux_mod_CFLAGS): Likewise.
38356 (linux_mod_LDFLAGS): Likewise.
38357 (nand_mod_SOURCES): Likewise.
38358 (nand_mod_CFLAGS): Likewise.
38359 (nand_mod_LDFLAGS): Likewise.
38360
38361 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
38362 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
38363 type property. (nand device in olpc don't have this property)
38364
38365 * include/grub/disk.h (grub_disk_dev_id): New macro
38366 GRUB_DISK_DEVICE_NAND_ID.
38367
38368 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
38369 function prototype.
38370 (grub_rescue_cmd_initrd): Likewise.
38371
38372 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
38373 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
38374 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 38375
25f16ec1 38376 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
38377 GRUB_MACHINE_IEEE1275 is defined.
38378
38379 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
38380 Use NESTED_FUNC_ATTR attribute on the hook parameter.
38381
38382 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
38383 on nested function heap_init.
38384 (grub_upper_mem): New variable for i386-ieee1275.
38385 (grub_get_extended_memory): New function for i386-ieee1275.
38386 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
38387
38388 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
38389 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
38390 property.
f19dbdb7 38391
25f16ec1 38392 * loader/i386/ieee1275/linux.c: New file.
38393
38394 * loader/i386/ieee1275/linux_normal.c: New file.
38395
38396 * disk/ieee1275/nand.c: New file.
38397
e89d61e9 383982008-04-18 Thomas Schwinge <tschwinge@gnu.org>
38399
38400 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
38401 value.
38402 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
38403
602566f6 384042008-04-18 Robert Millan <rmh@aybabtu.com>
38405
38406 Restructures early code path on ieee1275 to unify grub_main() as
38407 the first C function that is executed in every platform.
38408
38409 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
38410 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
38411 cmain().
38412 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
38413 * kern/ieee1275/cmain.c (cmain): Rename to ...
38414 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
38415 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
38416 at the beginning.
38417
57490c2b 384182008-04-18 Robert Millan <rmh@aybabtu.com>
38419
38420 * util/update-grub.in: Fix syntax error when setting
38421 `GRUB_PRELOAD_MODULES'.
38422 Reported by Stephane Chazelas <stephane@artesyncp.com>
38423
1977517d 384242008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
38425
38426 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
38427 section into account, newer toolchains generate unique build ids
38428 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 38429 we want build ids to be preserved
1977517d 38430 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
38431 far from other sections don't cause the raw binary images grow
38432 size
38433
bfb1f1a2 384342008-04-15 Robert Millan <rmh@aybabtu.com>
38435
38436 * disk/lvm.c: Update copyright year.
38437 * kern/misc.c: Likewise.
38438
01979850 384392008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38440
38441 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 38442 there is no memory left for physical volume name.
01979850 38443
0a1150e2 384442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38445
38446 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
38447 volume name mapping to support bigger than 9 character names properly.
38448
82ead3fe 384492008-04-13 Robert Millan <rmh@aybabtu.com>
38450
38451 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
38452 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
38453
e54a72f5 384542008-04-13 Christian Franke <franke@computer.org>
38455
38456 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
38457 to create a floppy emulation boot CD when non emulation mode
38458 does not work.
38459 Enable Joliet CD filesystem extension.
38460
9fe86034 384612008-04-13 Robert Millan <rmh@aybabtu.com>
38462
38463 * kern/misc.c (grub_strncat): Fix off-by-one error.
38464 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38465
38466 * kern/env.c (grub_env_context_close): Clear current context, not
38467 previous one.
38468 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38469
38470 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38471
7ceeee39 384722008-04-13 Robert Millan <rmh@aybabtu.com>
38473
38474 Improve robustness when handling LVM.
38475
38476 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 38477 (and leave `*p' unmodified).
7ceeee39 38478 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38479 through it.
38480 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38481 iterating through it.
38482 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38483 through it.
fe6b695a 38484 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 38485 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38486 Don't assume `vg->pvs != NULL' when iterating through it.
38487
58cd3d85 384882008-04-13 Robert Millan <rmh@aybabtu.com>
38489
38490 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38491 * genmk.rb (partmap): New variable.
38492 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38493 (#{partmap}): New target rule.
38494 * genpartmaplist.sh: New file.
38495 * Makefile.in (pkglib_DATA): Add partmap.lst.
38496 (partmap.lst): New target rule.
38497 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38498 modules (including all partition maps), instead of preloading them.
38499
78b51059 385002007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38501
38502 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38503 `linux-boot-prober' (if installed) to detect other operating
38504 systems which are installed on the computer and add them to
38505 the boot menu.
38506 * conf/common.rmk: Build and install 30_os-prober.
38507
a91627b4 385082008-04-12 Robert Millan <rmh@aybabtu.com>
38509
38510 * kern/powerpc/ieee1275/init.c: Move from here ...
38511 * kern/ieee1275/init.c: ... to here. Update all users.
38512
38513 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38514 * kern/ieee1275/cmain.c: ... to here. Update all users.
38515
38516 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38517 * kern/ieee1275/openfw.c: ... to here. Update all users.
38518
38519 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38520 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38521
322562ea 385222008-04-10 Pavel Roskin <proski@gnu.org>
38523
38524 * configure.ac: Always use "_cv_" in cache variables for
38525 compatibility with Autoconf 2.62.
38526
a02a73c5 385272008-04-07 Robert Millan <rmh@aybabtu.com>
38528
38529 Revert grub/machine/init.h addition by Pavel (since it breaks on
38530 i386-ieee1275 and others):
38531 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38532 * util/powerpc/ieee1275/misc.c: Likewise.
38533
25c024b1 385342008-04-07 Robert Millan <rmh@aybabtu.com>
38535
38536 * util/grub-probe.c (probe): Improve error message.
38537
3cbd2f98 385382008-04-07 Robert Millan <rmh@aybabtu.com>
38539
38540 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38541 (this prevents the presence of a bogus entry from ruining the whole
38542 thing).
38543
87a297bf 385442008-04-06 Pavel Roskin <proski@gnu.org>
38545
36747a62 38546 * util/biosdisk.c: Include grub/util/biosdisk.h.
38547 * util/grub-fstest.c (execute_command): Make static.
38548 * util/grub-mkdevicemap.c (check_device): Likewise.
38549 * util/i386/pc/misc.c: Include grub/machine/init.h.
38550 * util/powerpc/ieee1275/misc.c: Likewise.
38551 * util/lvm.c: Include grub/util/lvm.h.
38552 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38553 grub/cache.h.
38554 * util/raid.c: Include grub/util/raid.h.
38555 (grub_util_getdiskname): Make static.
38556
87a297bf 38557 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38558 grub_hostfs_fini(), as they are called from grub_init_all() and
38559 grub_fini_all() respectively. This fixes an infinite loop in
38560 grub-fstest due to double registration of hostfs.
38561 Reported by Christian Franke <Christian.Franke@t-online.de>
38562
f6ce7629 385632008-04-05 Pavel Roskin <proski@gnu.org>
38564
38565 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38566 all 8 functions. Otherwise, probe function 0 only.
38567
070e49e4 385682008-04-04 Pavel Roskin <proski@gnu.org>
38569
8b088a4c 38570 * commands/lspci.c (grub_lspci_iter): Print the bus number
38571 correctly.
38572
4f657021 38573 * commands/lspci.c (grub_pci_classes): Fix typos.
38574 (grub_lspci_iter): Don't print func twice. Print vendor ID
38575 before device ID, as it's normally done.
38576
070e49e4 38577 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38578 Fix signedness warnings.
38579 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38580 Likewise.
38581 * util/ieee1275/get_disk_name.c: Include config.h so that
38582 _GNU_SOURCE is defined and getline() is declared. Mark an
38583 unused argument as such. Fix a signedness warning.
38584
ba7328dc 385852008-04-02 Pavel Roskin <proski@gnu.org>
38586
26887f22 38587 * genkernsyms.sh.in: Use more robust assignments for CC and
38588 srcdir. Quote srcdir.
38589 * gensymlist.sh.in: Likewise. Assert at the compile time that
38590 the symbol table is not empty.
38591
ba7328dc 38592 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38593 * fs/cpio.c (grub_cpio_read): Likewise.
38594
0f582c6b 385952008-04-01 Pavel Roskin <proski@gnu.org>
38596
4b6e1995 38597 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38598 * disk/host.c (grub_host_open): Likewise.
38599 * disk/loopback.c (grub_loopback_open): Likewise.
38600 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38601 disk->id as in disk/host.c, not a multi-character constant.
38602
828a2768 38603 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38604 later is obsolete, potentially dangerous and sets a bad example.
38605 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38606 * util/misc.c (grub_util_get_image_size): Likewise.
38607
2bb4fb47 38608 * disk/loopback.c (options): Improve help for "--partitions".
38609
0f582c6b 38610 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38611 options to align them with the short options, e.g. "echo -e".
38612
a33224e0 386132008-03-31 Bean <bean123ch@gmail.com>
38614
38615 * video/reader/png.c (grub_png_data): New member is_16bit and
38616 image_data.
38617 (grub_png_decode_image_header): Detect 16 bit png image.
38618 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38619 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38620 (grub_video_reader_png): Release memory occupied by image_data.
38621
38622 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38623 4096 bytes.
38624 (grub_nfs_mount): Skip the test for sector per cluster.
38625
38626 * include/grub/ntfs.h (MAX_SPC): Removed.
38627
86cb4f54 386282008-03-31 Bean <bean123ch@gmail.com>
38629
38630 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38631 (grub_probe_SOURCES): Add fs/afs.c.
38632 (grub_fstest_SOURCES): Likewise.
38633 (afs_mod_SOURCES): New variable.
38634 (afs_mod_CFLAGS): Likewise.
38635 (afs_mod_LDFLAGS): Likewise.
38636
38637 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38638 (grub_emu_SOURCES): Likewise.
38639
38640 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38641
38642 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38643
38644 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38645
38646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38647
38648 * fs/afs.c: New file.
38649
17c74c21 386502008-03-30 Pavel Roskin <proski@gnu.org>
38651
4cb68e89 38652 * disk/host.c: Include grub/misc.h to fix a warning.
38653 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38654 warnings about implicit declarations.
38655
8790bb04 38656 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38657 variable.
38658 * include/grub/i386/loader.h: Change declaration of
38659 grub_linux_boot() to match what grub_loader_set() expects.
38660 * util/getroot.c (grub_guess_root_device): Return const char* to
38661 fix a warning.
38662 * util/grub-probe.c (probe): Fix a warning about uninitialized
38663 abstraction_name variable.
38664 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38665 second argument as unused to fix a warning.
38666
9a3f3296 38667 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38668 missing grub_error() call.
38669
0ecef90d 38670 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38671 2.60 and newer uses it to define datadir.
38672
0bf6d401 38673 * commands/sleep.c: Fix warning about implicit declaration.
38674 * disk/memdisk.c: Likewise.
38675 * loader/aout.c: Likewise.
38676 * loader/i386/bsd_normal.c: Likewise.
38677 * util/grub-probe.c: Likewise.
38678
7cdacf97 38679 * commands/i386/cpuid.c (has_longmode): Make static.
38680 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38681 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38682
17c74c21 38683 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38684 GDT. This is more robust, as %ds can change.
38685 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38686 calling real_to_prot().
38687 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38688
80a3e68b 386892008-03-28 Pavel Roskin <proski@gnu.org>
38690
38691 * kern/i386/pc/startup.S: Assert that uncompressed functions
38692 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38693 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38694 code, as they push parts of the code (error handlers) beyond
38695 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38696 code as correctness and size.
38697
77bcd272 386982008-03-28 Pavel Roskin <proski@gnu.org>
38699
38700 * kern/i386/pc/startup.S
38701 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38702 data block address to the real mode, keep offset minimal. This
38703 works around a bug in AWARD BIOS on old Athlon systems, which
38704 makes CD detection hang.
38705
c5dfd43b 387062008-03-26 Pavel Roskin <proski@gnu.org>
38707
38708 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38709 const.
38710 * include/grub/normal.h: Add grub_parse_color_name_pair()
38711 declaration.
38712
bf962df2 387132008-03-24 Bean <bean123ch@gmail.com>
38714
38715 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38716 (cd_count): Removed.
38717 (cd_drive): New variable.
38718 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38719 (grub_biosdisk_call_hook): Likewise.
38720 (grub_biosdisk_iterate): Change cdrom detection method.
38721 (grub_biosdisk_open): Replace cd_start with cd_drive.
38722 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38723 detect cdrom device.
38724
38725 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38726 Removed.
38727 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38728 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38729 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38730 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38731 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38732 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38733 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38734 (grub_biosdisk_cdrp): New structure.
38735 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38736
38737 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38738
38739 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38740 device.
38741
38742 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38743 New function.
38744
68e7fc7a 387452008-03-20 Robert Millan <rmh@aybabtu.com>
38746
38747 Remove 2 TiB limit in ata.mod.
38748 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38749 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38750 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38751 grub_uint64_t instead of grub_uint32_t.
38752
38ad2cf5 387532008-03-05 Bean <bean123ch@gmail.com>
38754
38755 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38756 (grub_multiboot): Set boot device.
38757
38758 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38759
2b89344e 387602008-03-02 Bean <bean123ch@gmail.com>
38761
38762 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38763 symlink_buffer.
38764
87a95d1f 387652008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38766
38767 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38768 texinfo.tex.
38769
38770 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38771 modified.
38772
38773 * docs/fdl.texi: New file.
f19dbdb7 38774
87a95d1f 38775 * docs/mdate-sh: New file. Copied from gnulib.
38776 * docs/texinfo.tex: Likewise.
38777
38778 * config.guess: Updated from gnulib.
38779 * install-sh: Likewise.
38780
7dc15d8e 387812008-02-28 Robert Millan <rmh@aybabtu.com>
38782
38783 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38784 (aout_mod_SOURCES): New variable.
38785 (aout_mod_CFLAGS): Likewise.
38786 (aout_mod_LDFLAGS): Likewise.
38787
38788 * conf/i386-ieee1275.rmk: Likewise.
38789
b00ab696 387902008-02-28 Robert Millan <rmh@aybabtu.com>
38791
38792 * util/update-grub.in: Reorganise terminal validity check. Accept
38793 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38794 Based on suggestion by Franklin PIAT.
38795
79ca2d78 387962008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38797
38798 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38799 function.
38800 * util/getroot.c (grub_util_check_block_device): New function that
38801 returns the given argument if it is a block device and returns NULL else.
38802 * util/grub-probe.c (argument_is_device): New variable.
38803 (probe): Promote device_name from a variable to an argument. Receive
38804 device_name from grub_util_check_block_device() if path is NULL and from
38805 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 38806 (options): Introduce new parameter '-d, --device'.
79ca2d78 38807 (main): Add description of the new parameter to the help screen.
38808 Rename path variable to argument. Set argument_is_device if the '-d'
38809 option is given. Pass argument to probe() depending on
38810 argument_is_device.
38811
0d16e571 388122008-02-24 Bean <bean123ch@gmail.com>
38813
38814 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38815 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38816 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38817 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38818 (GRUB_ISO9660_VOLDESC_END): Likewise.
38819 (grub_iso9660_primary_voldesc): New member escape.
38820 (grub_iso9660_data): New member joliet.
38821 (grub_iso9660_convert_string): New function.
38822 (grub_iso9660_mount): Detect joliet extension.
38823 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38824 (grub_iso9660_iso9660_label): Likewise.
38825
38826 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38827 (grub_setup_SOURCES): Add fs/udf.c.
38828 (grub_fstest_SOURCES): Likewise.
38829 (udf_mod_SOURCES): New variable.
38830 (udf_mod_CFLAGS): Likewise.
38831 (udf_mod_LDFLAGS): Likewise.
38832
38833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38834 (grub_emu_SOURCES): Likewise.
38835
38836 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38837
38838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38839
38840 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38841
38842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38843
38844 * fs/udf.c: New file.
38845
8a594a17 388462008-02-24 Robert Millan <rmh@aybabtu.com>
38847
38848 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38849 (normal/lexer.c_DEPENDENCIES): New variables.
38850 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38851 (normal/lexer.c_DEPENDENCIES): Likewise.
38852 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38853 (normal/lexer.c_DEPENDENCIES): Likewise.
38854 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38855 (normal/lexer.c_DEPENDENCIES): Likewise.
38856 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38857 (normal/lexer.c_DEPENDENCIES): Likewise.
38858 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38859 (normal/lexer.c_DEPENDENCIES): Likewise.
38860
2dc33c03 388612008-02-23 Robert Millan <rmh@aybabtu.com>
38862
38863 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38864 since they were intended to be in hex. This didn't break previously
38865 because of a bug in gpt_partition_map_iterate() (see below).
38866
38867 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38868 when checking the validity of GPT header.
38869 Remove `partno', since it always provides the same information as `i'.
38870
f6f4cfb0 388712008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38872
38873 * include/grub/efi/time.h: Fix a wrong comment.
38874
79ff665f 388752008-02-19 Pavel Roskin <proski@gnu.org>
38876
38877 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38878 message.
38879
d38e24c2 388802008-02-19 Bean <bean123ch@gmail.com>
38881
38882 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38883 (aout_mod_SOURCES): New variable.
38884 (aout_mod_CFLAGS): Likewise.
38885 (aout_mod_LDFLAGS): Likewise.
38886 (_bsd_mod_SOURCES): New variable.
38887 (_bsd_mod_CFLAGS): Likewise.
38888 (_bsd_mod_LDFLAGS): Likewise.
38889 (bsd_mod_SOURCES): New variable.
38890 (bsd_mod_CFLAGS): Likewise.
38891 (bsd_mod_LDFLAGS): Likewise.
38892
38893 * include/grub/aout.h: New file.
38894
38895 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38896
38897 * include/grub/i386/bsd.h: New file.
38898
38899 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38900 to make it public.
38901
38902 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38903 function is called, so that it's possible to change it inside the hook.
38904 (grub_elf64_load): Likewise.
38905 (grub_elf_file): Don't close the file if elf header is not found.
38906 (grub_elf_close): Close the file if grub_elf_file fails (The new
38907 grub_elf_file won't close it).
38908 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38909 (grub_elf64_size): Likewise.
38910
38911 * kern/i386/loader.S (grub_unix_real_boot): New function.
38912
38913 * loader/aout.c: New file.
38914
38915 * loader/i386/bsd.c: New file.
38916
38917 * loader/i386/bsd_normal.c: New file.
38918
38919 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38920
38921 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 38922 can test other formats.
d38e24c2 38923
b93bdb0f 389242008-02-19 Robert Millan <rmh@aybabtu.com>
38925
38926 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38927 (grub_gpt_partition_type_empty): Redefine with macro from
38928 `<grub/gpt_partition.h>'.
38929 (gpt_partition_map_iterate): Adjust partition type comparison.
38930
38931 Export `entry' as partmap-specific `part.data' struct.
38932 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38933
38934 * include/grub/gpt_partition.h (grub_gpt_header)
38935 (grub_gpt_partentry): ... to here (new file).
38936
38937 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38938
38939 (grub_gpt_partition_type_bios_boot): New const variable, defined
38940 with macro from `<grub/gpt_partition.h>'.
38941
38942 (setup): Replace `first_start' with `embed_region', which keeps
38943 track of the embed region (and is partmap-agnostic).
38944
38945 Replace find_first_partition_start() with find_usable_region(),
38946 which finds a usable region for embedding using partmap-specific
38947 knowledge (supports PC/MSDOS and GPT).
38948
38949 Fix all assumptions that the embed region start at sector 1, using
38950 `embed_region.start' from now on. Similarly, use `embed_region.end'
38951 rather than `first_start' to calculate available size.
38952
38953 In grub_util_info() message, replace "into after the MBR" with an
38954 indication of the specific sector our embed region starts at.
38955
66cb40f6 389562008-02-19 Robert Millan <rmh@aybabtu.com>
38957
38958 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38959 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38960 `commands/reboot.c'.
38961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38962 (halt_mod_SOURCES): Likewise.
38963 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38964 (halt_mod_SOURCES): Likewise.
38965
b7202015 389662008-02-17 Christian Franke <franke@computer.org>
38967
38968 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38969
32b0fc49 389702008-02-17 Robert Millan <rmh@aybabtu.com>
38971
38972 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38973 set `first_start' to 0 for non-PC/MSDOS partition maps.
38974
aca63502 389752008-02-16 Robert Millan <rmh@aybabtu.com>
38976
38977 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38978 do not assume partition map is PC/MSDOS before performing checks that
38979 are specific to that layout.
38980
0de8be86 389812008-02-13 Robert Millan <rmh@aybabtu.com>
38982
38983 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38984 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38985 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38986
c3db8364 389872008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38988
38989 * configure.ac: Only a cosmetic change on the handling of
38990 -fno-stack-protector.
38991
f714229e 389922008-02-12 Alexandre Boeglin <alex@boeglin.org>
38993
c3db8364 38994 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38995 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38996 reboot.c.
f714229e 38997 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38998 (halt_mod_SOURCES): New variable.
38999 (halt_mod_CFLAGS): Likewise.
39000 (halt_mod_LDFLAGS): Likewise.
39001 (reboot_mod_SOURCES): Likewise.
39002 (reboot_mod_CFLAGS): Likewise.
39003 (reboot_mod_LDFLAGS): Likewise.
39004
c3db8364 39005 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39006 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39007 reboot.c.
f714229e 39008 (halt_mod_SOURCES): Likewise.
39009 (reboot_mod_SOURCES): Likewise.
39010
c3db8364 39011 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39012 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 39013 (reboot_mod_SOURCES): Likewise.
39014
39015 * commands/i386/pc/reboot.c: merge this file ...
39016
39017 * commands/ieee1275/reboot.c: ... and this file ...
39018
39019 * commands/reboot.c: ... to this file.
c3db8364 39020 Add some precompiler directive to include the correct header for
39021 each machine.
f714229e 39022
39023 * commands/ieee1275/halt.c: move this file ...
39024
39025 * commands/halt.c: ... to here.
c3db8364 39026 Add some precompiler directive to include the correct header for
39027 each machine.
f714229e 39028
39029 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39030 (grub_halt): Likewise.
39031
39032 * kern/efi/efi.c (grub_reboot): New function.
39033 (grub_halt): Likewise.
39034
c74493e0 390352008-02-12 Robert Millan <rmh@aybabtu.com>
39036
39037 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39038 /dev (like it is done for /dev/mapper). This doesn't provide support
39039 for EVMS, but at least it is now easy to identify the problem when it
39040 arises.
39041
d0db4b04 390422008-02-11 Robert Millan <rmh@aybabtu.com>
39043
39044 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39045 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39046 comparing it with -1, not 0.
39047
bf748642 390482008-02-10 Robert Millan <rmh@aybabtu.com>
39049
39050 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39051 `disk/lvm.c'.
39052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39053 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39054
39055 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39056 `disk/lvm.c' to the end of the list.
39057 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39058 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39059
b5db202a 390602008-02-10 Robert Millan <rmh@aybabtu.com>
39061
39062 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39063 grub_print_error() instead. This will let user know why we're entering
39064 rescue mode.
39065 Based on suggestions from Sam Morris.
39066
83abee31 390672008-02-10 Alexandre Boeglin <alex@boeglin.org>
39068
39069 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39070 on remaining N args, instead of "--" arg N times.
39071
78d5a08b 390722008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39073
39074 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39075 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39076 pattern for unknown glyphs.
39077
68807e5f 390782008-02-09 Robert Millan <rmh@aybabtu.com>
39079
39080 * configure.ac: Probe for `help2man'.
39081 * Makefile.in (builddir): New variable.
39082 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39083 or otherwise add a few flags/options to it.
39084 (install-local): For every executable utility or script that is
39085 installed, invoke $(HELP2MAN) to install a manpage based on --help
39086 output.
39087
39088 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39089 that it doesn't prevent --help from working in build tree.
39090
39091 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39092 with `bug-grub@gnu.org'.
39093 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39094 * util/update-grub.in (usage): New function.
39095 Implement proper argument check, with support for --help and --version
39096 (as well as existing -y).
39097
390982008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39099
39100 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39101 avoid overwriting previous output.
39102 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39103
c1962162 391042008-02-09 Robert Millan <rmh@aybabtu.com>
39105
39106 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39107 drawing the menu.
39108
3dac2e3f 391092008-02-09 Robert Millan <rmh@aybabtu.com>
39110
39111 * commands/sleep.c: New file.
39112 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39113 (sleep_mod_SOURCES): New variable.
39114 (sleep_mod_CFLAGS): Likewise.
39115 (sleep_mod_LDFLAGS): Likewise.
39116
7a634e08 391172008-02-09 Robert Millan <rmh@aybabtu.com>
39118
39119 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39120 situations in which we can deduce the RAID size and the superblock
39121 doesn't match it.
39122
b92f0c18 391232008-02-09 Robert Millan <rmh@aybabtu.com>
39124
39125 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39126 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39127 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39128
39129 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39130 and return a grub_diskmemberlist_t composed of physical array members.
39131 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39132
39133 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39134 prototype.
39135 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39136 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39137 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39138
39139 * util/grub-probe.c (probe): Move partmap probing code from here ...
39140 (probe_partmap): ... to here.
39141 (probe): Use probe_partmap() once for the disk we're probing, and
39142 additionally, when such disk contains a memberlist() struct member,
39143 once for each disk that is contained in the structure returned by
39144 memberlist().
39145
91a4bf68 391462008-02-09 Robert Millan <rmh@aybabtu.com>
39147
39148 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39149 environment variable to 'all' in order to obtain debug output from
39150 non-util/ code.
39151 * util/i386/pc/grub-setup.c (main): Likewise.
39152
a96f9caa 391532008-02-08 Robert Millan <rmh@aybabtu.com>
39154
39155 * disk/raid.c (grub_raid_scan_device): Check for
39156 `array->device[sb.this_disk.number]' rather than for
39157 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39158 guaranteed to be accessible.
a96f9caa 39159
b37a9222 391602008-02-08 Robert Millan <rmh@aybabtu.com>
39161
39162 * disk/raid.c: Update copyright.
39163 * fs/cpio.c: Likewise.
39164 * include/grub/raid.h: Likewise.
39165 * loader/i386/pc/multiboot.c: Likewise.
39166 * util/hostfs.c: Likewise.
39167
5626aee1 391682008-02-08 Robert Millan <rmh@aybabtu.com>
39169
39170 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39171 to a grub_disk_t array.
39172 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39173 `device[x]'.
39174 (grub_raid_scan_device): Replace `device[x].name' accesses with
39175 `device[x]->name'. Simplify initialization of `array->device[x]'.
39176
554f0187 391772008-02-08 Robert Millan <rmh@aybabtu.com>
39178
39179 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39180 grub_dprintf() calls.
39181 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39182 error message.
39183
1ec8425d 391842008-02-07 Christian Franke <franke@computer.org>
39185
39186 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39187 instead of fseek and ftell to support large files.
39188 (grub_hostfs_read): Likewise.
39189
f2156fda 391902008-02-07 Robert Millan <rmh@aybabtu.com>
39191
39192 Patch from Jeroen Dekkers.
39193 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39194 failure, since successfully reading all array members might not be
f2156fda 39195 required.
39196
9216e0e7 391972008-02-06 Robert Millan <rmh@aybabtu.com>
39198
39199 * util/grub-probe.c (probe): Simplify partmap probing (with the
39200 assumption that the first word up to the underscore equals to
39201 the module name).
39202
b0dfd29a 392032008-02-06 Christian Franke <franke@computer.org>
39204
39205 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39206 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39207 last block of a cpio or tar stream.
39208 Check for "TRAILER!!!" instead of any empty data
39209 block to detect last block of a cpio stream.
39210 (grub_cpio_dir): Fix constness of variable np.
39211 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39212 cpio or tar trailer is detected. This fixes a crash
39213 on open of a non existing file.
39214
c32865bf 392152008-02-05 Bean <bean123ch@gmail.com>
39216
39217 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39218 address of entry.
39219 (grub_multiboot_load_elf64): Likewise.
39220 (grub_multiboot): Initialize mbi structure.
39221
39222 * util/grub-fstest.c: Don't include unused header file script.h.
39223
fe6b695a 39224 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39225 of file.
39226 (grub_fstest_SOURCES): Likewise.
39227
409480b7 392282008-02-05 Robert Millan <rmh@aybabtu.com>
39229
39230 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39231 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39232 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39233 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39234
39235 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39236 (translation_table): Replace hardcoded values with macros
39237 provided by `<grub/term.h>'.
39238
39239 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39240 (keyboard_map): Correct/add a few values, with macros provided
39241 by `<grub/term.h>'.
39242 (keyboard_map_shift): Zero values that don't differ from their
39243 `keyboard_map' equivalents.
39244 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39245 Discard the second scan code that is always sent by Caps lock.
39246 Only use `keyboard_map_shift' when it provides a non-zero value,
39247 otherwise fallback to `keyboard_map'.
39248
99fadbaa 392492008-02-04 Bean <bean123ch@gmail.com>
39250
39251 * Makefile.in (enable_grub_fstest): New variable.
39252
39253 * conf/common.rmk (grub_fstest_init.lst): New rule.
39254 (grub_fstest_init.h): Likewise.
39255 (grub_fstest_init.c): Likewise.
39256 (util/grub-fstest.c_DEPENDENCIES): New variable.
39257 (grub_fstest_SOURCES): Likewise.
39258
39259 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39260
39261 * util/grub-fstest.c: New file.
39262
bf567c50 392632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39264
39265 Make grub-setup handle a separate root device.
f19dbdb7 39266
bf567c50 39267 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39268 so that the root device can be compared with the destination
39269 device.
39270 When embedding the core image, if the root and destination devices
39271 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39272 0xFF.
39273 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 39274
9be6b98b 392752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39276
39277 Add support for having a grub directory in a different drive. This
39278 is still only the data handling part.
f19dbdb7 39279
9be6b98b 39280 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39281 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39282 (grub_root_drive): New variable.
39283
39284 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39285 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39286 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39287 as it was.
39288
39289 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39290
39291 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39292 macro.
39293 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39294
39295 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
39296 is bogus, because PXE booting does not specify any drive
39297 correctly.
39298
39299 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
39300 am not sure if this is really correct.
39301
39302 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
39303 is always identical to the boot drive when booting from a CD.
39304
39305 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
39306 longer.
39307 (root_drive): New variable.
39308 (real_start): Unconditionally set %dh to ROOT_DRIVE.
39309 (setup_sectors): Push %dx right after popping it, because %dh will
39310 be modified later.
39311 (copy_buffer): Restore %dx.
39312
e0ca0677 393132008-02-03 Robert Millan <rmh@aybabtu.com>
39314
39315 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
39316 use `cdboot.img' for cdrom images.
39317
3b3f6629 393182008-02-03 Robert Millan <rmh@aybabtu.com>
39319
39320 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
39321 only setup gfxterm when `font' command has succeeded.
39322
d42b3672 393232008-02-03 Robert Millan <rmh@aybabtu.com>
39324
39325 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
39326 (grub_rescue_cmd_multiboot_loader)
39327 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
39328
fa370ea6 393292008-02-03 Pavel Roskin <proski@gnu.org>
39330
e0c5dacb 39331 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 39332 %edx and %esi from stack only after grub_gate_a20() is called.
39333 grub_gate_a20() clobbers %edx.
39334
f2a76e1d 393352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39336
39337 * configure.ac (AC_INIT): Bumped to 1.96.
39338
39339 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
39340 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
39341 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
39342 video/readers/png.c.
39343
90fd32d1 393442008-02-03 Bean <bean123ch@gmail.com>
9be665dd 39345
39346 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
39347 (cdboot_img_SOURCES): New variable.
39348 (cdboot_img_ASFLAGS): New variable.
39349 (cdboot_img_LDFLAGS): New variable.
39350
39351 * boot/i386/pc/cdboot.S: New file.
39352
39353 * disk/i386/pc/biosdisk.c (cd_start): New variable.
39354 (cd_count): Likewise.
39355 (grub_biosdisk_get_drive): Add support for cd device.
39356 (grub_biosdisk_call_hook): Likewise.
39357 (grub_biosdisk_iterate): Likewise.
39358 (grub_biosdisk_open): Likewise.
39359 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
39360 (grub_biosdisk_rw): Support reading from cd device.
39361 (GRUB_MOD_INIT): Iterate cd devices.
39362
39363 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
39364 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
39365 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
39366
39367 * kern/i386/pc/init.c (make_install_device): Check for cd device.
39368
4020aa53 393692008-02-02 Robert Millan <rmh@aybabtu.com>
39370
39371 * commands/read.c: New file.
39372 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
39373 (read_mod_SOURCES): New variable.
39374 (read_mod_CFLAGS): Likewise.
39375 (read_mod_LDFLAGS): Likewise.
39376
e03a1132 393772008-02-02 Robert Millan <rmh@aybabtu.com>
39378
39379 * normal/main.c (grub_normal_execute): Check for `menu->size' when
39380 determining whether menu has to be displayed.
39381
58c69220 393822008-02-02 Marco Gerards <marco@gnu.org>
39383
39384 * bus/pci.c: New file.
39385
39386 * include/grub/pci.h: Likewise.
39387
39388 * include/grub/i386/pc/pci.h: Likewise.
39389
39390 * commands/lspci.c: Likewise.
39391
39392 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
39393 `lspci.mod'.
39394 (pci_mod_SOURCES): New variable.
39395 (pci_mod_CFLAGS): Likewise.
39396 (pci_mod_LDFLAGS): Likewise.
39397 (lspci_mod_SOURCES): Likewise.
39398 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 39399 (lspci_mod_LDFLAGS): Likewise.
58c69220 39400
c004e1b4 394012008-02-02 Bean <bean123ch@gmail.com>
39402
39403 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
39404 (grub_ufs_get_file_block): Fix indirect block calculation problem.
39405
39406 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
39407 (grub_xfs_btree_node): New structure.
39408 (grub_xfs_btree_root): New structure.
39409 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
39410 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
39411 (GRUB_XFS_EXTENT_BLOCK): Likewise.
39412 (GRUB_XFS_EXTENT_SIZE): Likewise.
39413 (grub_xfs_read_block): Support btree format type.
39414 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
39415 Use directory block as basic unit.
39416
39417 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
39418
39419 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
39420 __attribute__ ((__regparm__ (1))).
39421
f95562bf 394222008-02-01 Robert Millan <rmh@aybabtu.com>
39423
39424 Correct a mistake in previous commit.
39425
39426 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
39427 top.
39428 (normal/command.c_DEPENDENCIES): New variable.
39429
7d31f41f 394302008-02-01 Robert Millan <rmh@aybabtu.com>
39431
39432 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
39433 top.
39434 (normal/command.c_DEPENDENCIES): New variable.
39435 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
39436 * conf/i386-ieee1275.rmk: Likewise.
39437 * conf/i386-linuxbios.rmk: Likewise.
39438 * conf/i386-pc.rmk: Likewise.
39439 * conf/sparc64-ieee1275.rmk: Likewise.
39440 * conf/powerpc-ieee1275.rmk: Likewise.
39441 (grub_emu_SOURCES): Add `fs/fshelp.c'.
39442
39443 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
39444
60b6be74 394452008-02-01 Robert Millan <rmh@aybabtu.com>
39446
39447 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
39448 call at beginning of function.
39449
078522ab 394502008-01-31 Pavel Roskin <proski@gnu.org>
39451
39452 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 39453 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39454 (grub_mkrescue_SOURCES): Likewise.
078522ab 39455 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39456
ccaa8a5f 394572008-01-30 Robert Millan <rmh@aybabtu.com>
39458
39459 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39460 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39461 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39462 (grub_probe_SOURCES): ... to here.
39463
39464 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39465 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39466 * conf/i386-ieee1275.rmk: Likewise.
39467 * conf/i386-linuxbios.rmk: Likewise.
39468 * conf/powerpc-ieee1275.rmk: Likewise.
39469
ae5a9cd7 394702008-01-30 Tristan Gingold <gingold@free.fr>
39471
39472 * kern/rescue.c: Silently accept empty lines.
39473
70bc2ef2 394742008-01-29 Bean <bean123ch@gmail.com>
39475
39476 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39477 (real_code_2): Code cleanup and change comment style.
39478 (move_memory): Avoid using 32-bit address mode.
39479
6a4d50ea 394802008-01-29 Bean <bean123ch@gmail.com>
39481
39482 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39483 (png_mod_SOURCES): New variable.
39484 (png_mod_CFLAGS): Likewise.
39485 (png_mod_LDFLAGS): Likewise.
39486
39487 * video/readers/png.c: New file.
39488
11cc30ac 394892008-01-28 Robert Millan <rmh@aybabtu.com>
39490
39491 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39492 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39493 `ifndef GRUB_MOD_GAP' hack.
39494 * util/elf/grub-mkimage.c (add_segments): Likewise.
39495
3abc589f 394962008-01-27 Robert Millan <rmh@aybabtu.com>
39497
39498 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39499 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 39500 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 39501
e1907778 395022008-01-27 Robert Millan <rmh@aybabtu.com>
39503
39504 Get grub-emu to build again (including parallel builds).
39505
39506 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39507 Split into ...
39508 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39509 (normal/execute.c_DEPENDENCIES): ... this, ...
39510 (grub-emu_DEPENDENCIES): ... and this.
39511
39512 * conf/i386-efi.rmk: Likewise.
39513 * conf/i386-linuxbios.rmk: Likewise.
39514 * conf/i386-ieee1275.rmk: Likewise.
39515 * conf/powerpc-ieee1275.rmk: Likewise.
39516 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39517
2216b101 395182008-01-27 Robert Millan <rmh@aybabtu.com>
39519
39520 * NEWS: Add a few items.
39521
f75172d9 395222008-01-27 Robert Millan <rmh@aybabtu.com>
39523
39524 Fix parallel builds with grub-emu. Based on earlier commit for
39525 grub-probe and grub-setup.
39526
39527 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39528 (util/grub-emu.c_DEPENDENCIES): ... this.
39529 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39530 (util/grub-emu.c_DEPENDENCIES): ... this.
39531 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39532 (util/grub-emu.c_DEPENDENCIES): ... this.
39533 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39534 (util/grub-emu.c_DEPENDENCIES): ... this.
39535 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39536 (util/grub-emu.c_DEPENDENCIES): ... this.
39537
3f51de77 395382008-01-27 Pavel Roskin <proski@gnu.org>
39539
39540 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39541 to create a gap between _end and the modules added to the image
39542 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39543 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39544 * util/elf/grub-mkimage.c (add_segments): Likewise.
39545
2033f53e 395462008-01-26 Pavel Roskin <proski@gnu.org>
39547
39548 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39549 just return an error.
39550
22da1f6f 395512008-01-26 Bean <bean123ch@gmail.com>
39552
39553 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39554 (grub_reiserfs_get_item): Save offset of the next item.
39555 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39556
2a9525e6 395572008-01-25 Robert Millan <rmh@aybabtu.com>
39558
39559 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39560 make all filesystem sources appear together (possibly fixing omissions
39561 while at it).
39562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39563 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39564 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39566
39567 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39568 add `kern/file.c'.
39569 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39570 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39571 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39572 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39573
39574 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39575 (probe): Add a sanity check to make sure of our ability to read
39576 requested files when probing for filesystem type.
39577
39578 * genmk.rb: Update copyright year (2007).
39579
39580 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39581 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39582 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39583 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39584 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39585 : Remove function prototypes.
39586
b95f71b5 395872008-01-25 Robert Millan <rmh@aybabtu.com>
39588
39589 Revert my previous commits (based on wrong assumption of how grub_errno
39590 works).
39591
fe6b695a 39592 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 39593 * kern/file.c (grub_file_open): Likewise.
39594
d08bbb49 395952008-01-24 Pavel Roskin <proski@gnu.org>
39596
39597 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39598 that hang if GRUB tries to setup colors.
39599 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39600 colors for firmwares that don't support it.
39601 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39602 Recognize Open Hack'Ware, set flags to work around its
39603 limitations.
39604
605e36ed 396052008-01-24 Robert Millan <rmh@aybabtu.com>
39606
39607 * kern/file.c (grub_file_open): Do not account previous failures of
39608 unrelated functions when grub_errno is checked for.
39609 Reported by Oleg Strikov.
39610
bac332a1 396112008-01-24 Bean <bean123ch@gmail.com>
39612
39613 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39614 (grub_ufs_sblock): New member volume name.
39615 (grub_ufs_find_file): Fix string copy bug.
39616 (grub_ufs_label): Implement this function properly.
39617
39618 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39619 (grub_hfs_iterate_records): Use the correct file number for extents
39620 and catalog file. Fix problem in next index calculation.
39621 (grub_hfs_find_node): Replace recursive function call with loop.
39622 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39623
15c80c09 396242008-01-23 Robert Millan <rmh@aybabtu.com>
39625
39626 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39627 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39628 (grub_multiboot2_real_boot): New function prototype.
39629
39630 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39631 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39632
39633 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39634 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39635
305338fd 396362008-01-23 Robert Millan <rmh@aybabtu.com>
39637
39638 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39639 #ifdef'ed out grub_printf().
39640
3ea52685 396412008-01-23 Robert Millan <rmh@aybabtu.com>
39642
39643 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39644 grub_dprintf calls, since they make "debug=all" mode unusable.
39645 (grub_console_checkkey): Likewise.
39646
5882ae4b 396472008-01-23 Robert Millan <rmh@aybabtu.com>
39648
39649 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39650 `term/i386/pc/at_keyboard.c'.
39651 (pkglib_MODULES): Add `serial.mod'.
39652 (serial_mod_SOURCES): New variable.
39653 (serial_mod_CFLAGS): Likewise.
39654 (serial_mod_LDFLAGS): Likewise.
39655
39656 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39657 `<grub/powerpc/ieee1275/console.h>'.
39658 (grub_keyboard_controller_init): New function prototype.
39659 (grub_console_checkkey): Likewise.
39660 (grub_console_getkey): Likewise.
39661
39662 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39663 keyboard on i386.
39664
39665 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39666 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39667
06ab5303 396682008-01-23 Robert Millan <rmh@aybabtu.com>
39669
39670 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39671 present, "(memdisk)/boot/grub" becomes the default prefix.
39672
39673 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39674 a memdisk tarball with all the modules. Add --overlay=DIR option that
39675 allows users to overlay additional files into the image.
39676
dbb475a4 396772008-01-23 Robert Millan <rmh@aybabtu.com>
39678
39679 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39680 and `machine/memory.h'.
39681 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39682 (_multiboot_mod_SOURCES): New variable.
39683 (_multiboot_mod_CFLAGS): Likewise.
39684 (_multiboot_mod_LDFLAGS): Likewise.
39685 (multiboot_mod_SOURCES): Likewise.
39686 (multiboot_mod_CFLAGS): Likewise.
39687 (multiboot_mod_LDFLAGS): Likewise.
39688
39689 * include/grub/i386/ieee1275/loader.h: New file.
39690
39691 * include/grub/i386/ieee1275/machine.h: Likewise.
39692
39693 * include/grub/i386/ieee1275/memory.h: Likewise.
39694
39695 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39696 variable declaration.
39697 (grub_os_area_size): Likewise.
39698
39699 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39700 (grub_lower_mem, grub_upper_mem): New variables.
39701 (grub_stop_floppy): New function (just to make
39702 grub_multiboot2_real_boot() happy).
39703
39704 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39705 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39706 (grub_stop): New function.
39707 Include `"../realmode.S"' and `"../loader.S"'.
39708
39709 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39710 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39711
39712 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39713 rely on grub_multiboot2_real_boot() for final boot.
39714
25638629 397152008-01-22 Robert Millan <rmh@aybabtu.com>
39716
39717 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39718 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39719 device that doesn't look like an SD card.
39720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39721 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39722 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39723 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39724 found.
39725
9dad816d 397262008-01-22 Robert Millan <rmh@aybabtu.com>
39727
39728 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39729 avoid claiming over our own code.
39730
34842f2d 397312008-01-22 Bean <bean123ch@gmail.com>
39732
39733 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39734 (jpeg_mod_SOURCES): New variable.
39735 (jpeg_mod_CFLAGS): Likewise.
39736 (jpeg_mod_LDFLAGS): Likewise.
39737
39738 * video/readers/jpeg.c : New file.
39739
44023a28 397402008-01-22 Bean <bean123ch@gmail.com>
39741
39742 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39743 there are no more items.
39744
bc2d8ac6 397452008-01-21 Robert Millan <rmh@aybabtu.com>
39746
39747 * kern/mm.c (grub_mm_init_region): Improve debug message.
39748
261bd4bc 397492008-01-21 Robert Millan <rmh@aybabtu.com>
39750
39751 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39752 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39753 address.
39754 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39755 a C macro.
39756 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39757 Indicates start of upper memory.
39758 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39759 (generate_image): Abort when image size is big enough to corrupt
39760 upper memory.
39761
39762 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39763 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39764 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39765 instead of hardcoding 0xA0000.
39766 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39767 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39768 instead of hardcoding 0xA0000.
39769
f970b55e 397702008-01-21 Robert Millan <rmh@aybabtu.com>
39771
39772 * disk/memdisk.c (memdisk_size): New variable.
39773 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39774 `memdisk_size'.
39775 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39776 image to dynamic memory.
39777 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39778 `memdisk_size'. Free memdisk block.
39779
1a8b0526 397802008-01-21 Robert Millan <rmh@aybabtu.com>
39781
39782 Fix detection of very small filesystems (like tar).
39783
39784 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39785 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39786 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39787 a problem with this disk).
39788
6e9b4aab 397892008-01-21 Robert Millan <rmh@aybabtu.com>
39790
39791 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39792 on grub_biosdisk_rw_standard() error.
39793
0d8837b2 397942008-01-21 Robert Millan <rmh@aybabtu.com>
39795
39796 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39797 recent changes.
39798 * kern/elf.c: Likewise.
39799 * kern/ieee1275/ieee1275.c: Likewise.
39800 * kern/powerpc/ieee1275/openfw.c: Likewise.
39801 * term/ieee1275/ofconsole.c: Likewise.
39802
ffd36e34 398032008-01-21 Robert Millan <rmh@aybabtu.com>
39804
39805 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39806
3f0093d0 39807 * include/grub/kernel.h (grub_arch_memdisk_addr)
39808 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 39809
3f0093d0 39810 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39811 (grub_arch_memdisk_size): ... to here.
ffd36e34 39812
6c391b21 398132008-01-21 Robert Millan <rmh@aybabtu.com>
39814
39815 Mostly based on bugfix from Bean.
39816
39817 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39818 attribute with hook() parameter.
39819 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39820 declaration.
39821 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39822 attribute with hook() parameter.
39823 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39824 declaration.
39825
55a581dc 398262008-01-21 Robert Millan <rmh@aybabtu.com>
39827
39828 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39829 (pkglib_MODULES): Add `memdisk.mod'.
39830 (memdisk_mod_SOURCES): New variable.
39831 (memdisk_mod_CFLAGS): Likewise.
39832 (memdisk_mod_LDFLAGS): Likewise.
39833
39834 * disk/memdisk.c: New file.
39835
39836 * include/grub/disk.h (grub_disk_dev_id): Add
39837 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39838
39839 * include/grub/i386/pc/kernel.h
39840 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39841 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39842 (grub_kernel_image_size): New variable declaration.
39843 (grub_total_module_size): Likewise.
39844 (grub_memdisk_image_size): Likewise.
39845
39846 * include/grub/i386/pc/memory.h
39847 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39848
39849 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39850 (grub_arch_memdisk_addr): New variable declaration.
39851 (grub_arch_memdisk_size): Likewise.
39852
39853 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39854 (grub_arch_memdisk_size): Likewise.
39855
39856 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39857 (codestart): Replace hardcoded `0x100000' with
39858 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39859
39860 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39861 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39862 not NULL, append the contents of the file it refers to, at the end of
39863 the compressed kernel image. Initialize `grub_memdisk_image_size'
39864 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39865 (options): Add "memdisk"|'m' option.
39866 (main): Parse --memdisk|-m option, and pass user-provided path as
39867 parameter to generate_image().
39868
3d7f54c9 398692008-01-20 Robert Millan <rmh@aybabtu.com>
39870
39871 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39872 grub_dprintf() calls from here ...
39873 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39874
0bf74728 398752008-01-20 Robert Millan <rmh@aybabtu.com>
39876
39877 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39878
39879 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39880 declaration.
39881 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39882 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39883 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 39884 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 39885 property).
39886 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39887 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39888
33bf70a7 398892008-01-19 Robert Millan <rmh@aybabtu.com>
39890
fe6b695a 39891 Get rid of confusing function (superseded by
33bf70a7 39892 `grub_ieee1275_get_integer_property')
39893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39894 prototype.
39895 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39896 function.
39897 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39898 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 39899 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 39900
e2da7d26 399012008-01-19 Robert Millan <rmh@aybabtu.com>
39902
39903 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39904 command after "shut-down", since implementations differ on which
39905 the command for halt is.
39906
59f1fd8d 399072008-01-19 Robert Millan <rmh@aybabtu.com>
39908
39909 * include/grub/i386/linuxbios/console.h: Add header protection.
39910 (grub_keyboard_controller_init): New function prototype.
39911 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39912 (KEYBOARD_COMMAND_READ): Likewise.
39913 (KEYBOARD_COMMAND_WRITE): Likewise.
39914 (KEYBOARD_SCANCODE_SET1): Likewise.
39915 (grub_keyboard_controller_write): New function.
39916 (grub_keyboard_controller_read): Likewise.
39917 (grub_keyboard_controller_init): Likewise.
39918
39919 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39920 (grub_console_init): On coreboot/LinuxBIOS, call
39921 grub_keyboard_controller_init().
39922
5f5a7c15 399232008-01-19 Robert Millan <rmh@aybabtu.com>
39924
39925 PowerPC changes provided by Pavel Roskin.
39926
39927 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39928 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39929 don't rely on cmain() doing it.
39930 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39931 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39932
1210e168 399332008-01-16 Robert Millan <rmh@aybabtu.com>
39934
39935 * include/grub/i386/linuxbios/memory.h
39936 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39937 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39938 receive `table_header' as argument. Instead, probe for it in the
39939 known memory ranges where it can be present.
39940 (grub_available_iterate): Do not pass a fixed `table_header' address
39941 to grub_linuxbios_table_iterate().
39942
3d04eab8 399432008-01-15 Robert Millan <rmh@aybabtu.com>
39944
39945 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39946 * conf/i386-ieee1275.rmk: New file.
39947 * include/grub/i386/ieee1275/console.h: Likewise.
39948 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39949 * include/grub/i386/ieee1275/kernel.h: Likewise.
39950 * include/grub/i386/ieee1275/time.h: Likewise.
39951 * kern/i386/ieee1275/init.c: Likewise.
39952 * kern/i386/ieee1275/startup.S: Likewise.
39953
d1bc1b73 399542008-01-15 Robert Millan <rmh@aybabtu.com>
39955
39956 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39957 when pointers are 32-bit (but still do set it to one when they are
39958 64-bit).
39959
66a65807 399602008-01-15 Robert Millan <rmh@aybabtu.com>
39961
39962 * include/grub/ieee1275/ieee1275.h
39963 (grub_ieee1275_get_integer_property): New function prototype.
39964
39965 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39966 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 39967 grub_ieee1275_get_property() to handle endianness.
66a65807 39968
39969 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39970 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 39971 where appropriate.
66a65807 39972 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39973 (grub_map): Likewise.
39974 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39975
a83ccafd 399762008-01-15 Bean <bean123ch@gmail.com>
39977
39978 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39979 (grub_script_execute_cmdline): Reset grub_errno.
39980
39981 * normal/main.c (read_config_file): Reset grub_errno.
39982
39983 * normal/parse.y (script_init): New.
39984 (script): Move function and menuentry here.
39985 (delimiter): New.
39986 (command): Add delimiter at the end of command.
39987 (commands): Adjust to match the new command.
39988 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 39989 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 39990 (if): Use the new commands.
39991
39992 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39993
df6ecfc6 399942008-01-15 Robert Millan <rmh@aybabtu.com>
39995
39996 * normal/menu.c (run_menu): Move timeout message from here ...
39997 (print_timeout): ... to here.
39998 (run_menu): Use print_timeout() once during initial draw to print
39999 the whole message, and again in every clock tick to update only
40000 the number of seconds.
40001
87ae25eb 400022008-01-15 Robert Millan <rmh@aybabtu.com>
40003
40004 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40005 actual size of `available' from grub_ieee1275_get_property(), and
40006 restrict parsing to that bound.
40007
47bf09a4 400082008-01-15 Christian Franke <franke@computer.org>
40009
40010 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40011 (argp_program_version): Remove variable.
40012 (argp_program_bug_address): Likewise.
40013 (options): Convert from struct argp_option to struct option.
40014 (struct arguments): Remove.
40015 (parse_opt): Remove.
40016 (usage): New function.
40017 (main): Replace struct args members by simple variables.
40018 Replace argp_parse() by getopt_long().
40019 Add switch to evaluate options.
40020 Add missing "(...)" around root_dev in prefix string.
40021
c86f1469 400222008-01-14 Robert Millan <rmh@aybabtu.com>
40023
40024 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40025 for grub_ieee1275_exit(), in order to improve portability.
40026
e622c559 400272008-01-14 Robert Millan <rmh@aybabtu.com>
40028
40029 * util/grub.d/10_linux.in (prefix): Define.
40030 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40031
44cb1ec8 400322008-01-13 Pavel Roskin <proski@gnu.org>
40033
40034 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40035 grub_errno if no errors have been detected.
40036
1eb8c802 400372008-01-12 Robert Millan <rmh@aybabtu.com>
40038
40039 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40040 (grub_util_get_dev_abstraction): New function prototype.
40041
40042 * util/getroot.c: Include `<grub/util/getroot.h>'
40043 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40044 (grub_util_get_dev_abstraction): ... here (new function).
40045
40046 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40047 `PRINT_ABSTRACTION'.
40048 (probe): Probe for abstraction type when requested.
40049 (main): Understand `--target=abstraction'.
40050
40051 * util/i386/efi/grub-install.in: Add abstraction module to core
40052 image when it is found to be necessary.
40053 * util/i386/pc/grub-install.in: Likewise.
40054 * util/powerpc/ieee1275/grub-install.in: Likewise.
40055
40056 * util/update-grub_lib.in (font_path): Return system path without
40057 converting to GRUB path.
40058 * util/update-grub.in: Convert system path returned by font_path()
40059 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40060 abstraction module is needed for loading fonts (if any). Export
40061 that as `GRUB_PRELOAD_MODULES'.
40062 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40063 insmod commands).
40064
52bd3de9 400652008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40066
40067 Remove some unused code from reiserfs.
f19dbdb7 40068
52bd3de9 40069 * fs/reiserfs.c (struct grub_reiserfs_key)
40070 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40071 (struct grub_reiserfs_node_body): Removed.
40072 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40073 Likewise.
40074 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40075 Likewise.
40076 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40077 Likewise.
40078 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40079 Likewise.
40080 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40081 Likewise.
40082 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40083 Likewise.
40084 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40085 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40086 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40087
2f80039d 400882008-01-10 Robert Millan <rmh@aybabtu.com>
40089
40090 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40091 Determines if a file is garbage left by packaging systems, etc.
40092 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40093 for processing /etc/grub.d scripts.
40094 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40095 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40096 as a condition for processing Linux images.
40097
87888032 400982008-01-10 Pavel Roskin <proski@gnu.org>
40099
40100 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40101 to compile reiserfs.c on PowerPC.
40102
7e54fced 401032008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40104
40105 * kern/device.c (grub_device_iterate): Do not abort device iteration
40106 when one of the devices cannot be opened.
40107 * kern/disk.c (grub_disk_open): Do not account previous failures of
40108 unrelated functions when grub_errno is checked for.
40109
5aa541e6 401102008-01-08 Robert Millan <rmh@aybabtu.com>
40111
40112 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40113 `! grub_linux_is_bzimage', change order of address comparison to make
40114 it more intuitive, and improve "too big zImage" error message.
40115
7076340d 401162008-01-08 Robert Millan <rmh@aybabtu.com>
40117
40118 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40119 `$(update-grub_DATA)'.
40120 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40121 targets.
40122
9ca70333 401232008-01-07 Robert Millan <rmh@aybabtu.com>
40124
40125 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40126 which instruction is modified by grub-setup during installation
40127 (since it wasn't obvious by only looking at this file).
40128
38ccf575 401292008-01-07 Robert Millan <rmh@aybabtu.com>
40130
40131 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40132 listing actual TODO items.
40133
f5db4291 401342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40135
868967cf 40136 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40137 correctly.
40138 (grub_reiserfs_get_key_offset): Likewise.
40139 (grub_reiserfs_set_key_offset): Likewise.
40140 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40141 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40142
40143 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40144 better to remove the bitfield version completely.
f19dbdb7 40145
868967cf 401462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40147
f5db4291 40148 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40149 allocated from the heap, due to the fshelp implementation.
40150 (grub_reiserfs_dir): Free NODE, due to the same reason.
40151
492e6d9d 401522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40153
40154 Mostly from Vincent Pelletier:
f19dbdb7 40155
492e6d9d 40156 * fs/reiserfs.c: New file.
f19dbdb7 40157
492e6d9d 40158 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40159 (reiserfs_mod_SOURCES): New variable.
40160 (reiserfs_mod_CFLAGS): Likewise.
40161 (reiserfs_mod_LDFLAGS): Likewise.
40162
40163 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40164 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40165 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40166 normal/color.c.
40167
9ce3e7c1 401682008-01-06 Robert Millan <rmh@aybabtu.com>
40169
40170 * normal/color.c: Remove `<grub/env.h>'.
40171
f3b58148 401722008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40173
40174 * include/grub/normal.h: Include <grub/env.h>.
40175
7ac3bcfa 401762008-01-05 Robert Millan <rmh@aybabtu.com>
40177
40178 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40179 usage example with `(hd0,1)'.
fb358190 40180 Reported by Samuel Thibault.
7ac3bcfa 40181
c8ee99d7 401822008-01-05 Robert Millan <rmh@aybabtu.com>
40183
40184 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40185 (grub_linux_boot_zimage): Rename to ...
40186 (grub_linux_boot): ... this.
40187 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40188 (grub_linux_boot_zimage): Conditionalize zImage copy.
40189
40190 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40191 (grub_linux_boot_bzimage): Remove prototype.
40192 (grub_linux_boot_zimage): Rename to ...
40193 (grub_linux_boot): ... this.
40194
40195 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40196 (grub_linux_boot): Remove function.
40197
0ece25b1 401982008-01-05 Robert Millan <rmh@aybabtu.com>
40199
40200 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40201 (grub_env_write_color_highlight): Likewise.
40202 (grub_wait_after_message): Likewise.
40203
40204 * normal/color.c: New file.
40205
40206 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40207 (normal_mod_DEPENDENCIES): Likewise.
40208
40209 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40210 (normal_mod_DEPENDENCIES): Likewise.
40211
40212 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40213 (normal_mod_DEPENDENCIES): Likewise.
40214
40215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40216 (normal_mod_DEPENDENCIES): Likewise.
40217
40218 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40219 for waiting after a message is printed.
40220 * normal/main.c (read_config_file): Likewise.
40221 (grub_normal_init): Register grub_env_write_color_normal() and
40222 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40223 `color_highlight' variables as global.
40224
40225 * normal/menu.c (grub_wait_after_message): New function.
40226 (grub_color_menu_normal): New variable. Replaces ...
40227 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40228 (grub_color_menu_highlight): New variable. Replaces ...
40229 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40230 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40231 `GRUB_TERM_COLOR_STANDARD'.
40232 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40233 `normal_code' and `highlight_code' to `old_color_normal' and
40234 `old_color_highlight', respectively.
40235 (grub_menu_init_page): Update colors when drawing the menu, based on
40236 `menu_color_normal' and `menu_color_highlight' variables.
40237 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40238 a message is printed.
40239
182dd4e5 402402008-01-05 Robert Millan <rmh@aybabtu.com>
40241
40242 * kern/env.c (grub_env_context_open): Propagate hooks for global
40243 variables to new context.
40244
40245 * kern/main.c (grub_set_root_dev): Export `root' variable.
40246
ddf8f6ad 402472008-01-05 Robert Millan <rmh@aybabtu.com>
40248
40249 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40250 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40251 them.
40252
d8b43d9b 402532008-01-05 Robert Millan <rmh@aybabtu.com>
40254
40255 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40256
2bff2de3 402572008-01-04 Christian Franke <franke@computer.org>
40258
40259 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40260 of eisa_mmap.
40261
97eab917 402622008-01-03 Pavel Roskin <proski@gnu.org>
40263
40264 * kern/i386/linuxbios/init.c: Put "void" to all function
40265 declarations with no arguments.
40266 * kern/powerpc/ieee1275/init.c: Likewise.
40267 * term/i386/pc/at_keyboard.c: Likewise.
40268 * term/i386/pc/vga_text.c: Likewise.
40269 * util/grub-mkdevicemap.c: Likewise.
40270
b9416d00 402712008-01-02 Robert Millan <rmh@aybabtu.com>
40272
40273 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40274 message when loaded image is out of bounds.
40275 (grub_multiboot_load_elf64): Likewise.
40276
92695df9 402772008-01-02 Pavel Roskin <proski@gnu.org>
40278
40279 * util/grub.d/10_linux.in: Try version without ".old" when
40280 looking for initrd. It's better to use initrd from the newer
40281 kernel of the same version than no initrd at all.
40282
d98d9cad 402832008-01-01 Robert Millan <rmh@aybabtu.com>
40284
40285 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40286
dbfdce36 402872008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40288
f19dbdb7 40289 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40290 grub_video_get_active_render_target.
40291 (grub_video_adapter): Added unmap_color and get_active_render_target.
40292
f19dbdb7 40293 * video/video.c: Added grub_video_unmap_color and
dbfdce36 40294 grub_video_get_active_render_target.
40295 (grub_video_get_info): Changed method to accept NULL pointer as an
40296 argument to allow detection of active video adapter.
40297
40298 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
40299 grub_video_vbe_unmap_color_int.
40300 Added grub_video_vbe_unmap_color and
40301 grub_video_vbe_get_active_render_target.
40302 (grub_video_vbe_adapter): Added unmap_color and
40303 get_active_render_target.
40304
f19dbdb7 40305 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 40306 with grub_video_vbe_unmap_color_int.
40307
40308 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
40309 (DEFAULT_NORMAL_COLOR): Likewise.
40310 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
40311 (DEFAULT_FG_COLOR): Removed.
40312 (DEFAULT_BG_COLOR): Likewise.
40313 (DEFAULT_CURSOR_COLOR): Changed value.
40314 (grub_virtual_screen): Added standard_color_setting,
40315 normal_color_setting, highlight_color_setting and term_color.
40316 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
40317 (bitmap_width): Added.
40318 (bitmap_height): Likewise.
40319 (bitmap): Likewise.
40320 (set_term_color): Likewise.
40321 (grub_virtual_screen_setup): Changed to use new terminal coloring
40322 settings.
40323 (grub_gfxterm_init): Added init for bitmap.
40324 (grub_gfxterm_fini): Added destroy for bitmap.
40325 (redraw_screen_rect): Updated to use background bitmap and new
40326 terminal coloring.
40327 (scroll_up): Added optimization for case when there is no bitmap.
40328 (grub_gfxterm_cls): Fixed to use correct background color.
40329 (grub_virtual_screen_setcolorstate): Changed to use new terminal
40330 coloring.
40331 (grub_virtual_screen_setcolor): Likewise.
40332 (grub_virtual_screen_getcolor): Added.
40333 (grub_gfxterm_background_image_cmd): Likewise.
40334 (grub_video_term): Added setcolor and getcolor.
40335 (MOD_INIT): Added registration of background_image command.
40336 (MOD_TERM): Added unregistration for background_image command.
40337
c3c20931 403382007-12-30 Pavel Roskin <proski@gnu.org>
40339
40340 * loader/multiboot_loader.c: Fix multiboot command
40341 unregistration. Fix all typos in the word "multiboot".
40342
df266716 403432007-12-29 Pavel Roskin <proski@gnu.org>
94239199 40344
40345 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40346 support for initrd names used in Fedora.
40347
fc6e896c 403482007-12-26 Bean <bean123ch@gmail.com>
40349
40350 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
40351 (cpio_mod_SOURCES): New variable.
40352 (cpio_mod_CFLAGS): Likewise.
40353 (cpio_mod_LDFLAGS): Likewise.
40354
40355 * fs/cpio.c: New file.
40356
40357 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
40358
40359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40360
40361 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40362
40363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40364
533110ad 403652007-12-25 Robert Millan <rmh@aybabtu.com>
40366
40367 * include/grub/term.h (struct grub_term): Add `getcolor' function.
40368 (grub_getcolor): New function.
40369
40370 * kern/term.c (grub_getcolor): New function.
40371 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
40372 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
40373 (print_entry): Set normal and highlight colors to
40374 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
40375 respectively, before printing and restore them to old
40376 values afterwards.
40377 (grub_menu_init_page): Likewise. Fill an additional colored space
40378 that would otherwise be left blank.
40379
40380 * term/efi/console.c (grub_console_getcolor): New function.
40381 (struct grub_console_term.getcolor): New variable.
40382 * term/i386/pc/console.c (grub_console_getcolor): New function.
40383 (struct grub_console_term.getcolor): New variable.
40384 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
40385 (struct grub_console_term.getcolor): New variable.
40386
40387 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
40388 (struct grub_console_term.setcolor): Remove variable.
40389 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
40390 (struct grub_console_term.setcolor): Remove variable.
40391 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
40392 (struct grub_console_term.setcolor): Remove variable.
40393 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
40394 (struct grub_console_term.setcolor): Remove variable.
40395
4931827f 403962007-12-25 Robert Millan <rmh@aybabtu.com>
40397
40398 * configure.ac: Search for possible unifont.hex locations, and
40399 define UNIFONT_HEX if found.
40400
40401 * Makefile.in (UNIFONT_HEX): Define variable.
40402 (DATA): Rename to ...
40403 (PKGLIB): ... this. Update all users.
40404 (PKGDATA): New variable.
40405 (pkgdata_IMAGES): Rename to ...
40406 (pkglib_IMAGES): ... this. Update all users.
40407 (pkgdata_MODULES): Rename to ...
40408 (pkglib_MODULES): ... this. Update all users.
40409 (pkgdata_PROGRAMS): Rename to ...
40410 (pkglib_PROGRAMS): ... this. Update all users.
40411 (pkgdata_DATA): Rename to ...
40412 (pkglib_DATA): ... this. Update all users.
40413 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
40414 (unicode.pff, ascii.pff): New rules.
40415 (all-local): Add `$(PKGDATA)' dependency.
40416 (install-local): Process `$(PKGDATA)'.
40417
40418 * util/update-grub_lib.in (font_path): Search for *.pff files in
40419 a few more locations, including `${pkgdata}'.
40420
57e57e31 404212007-12-23 Robert Millan <rmh@aybabtu.com>
40422
40423 Patch from Bean <bean123ch@gmail.com>:
40424 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
40425 `size'.
40426
4bc72aa9 404272007-12-21 Bean <bean123ch@gmail.com>
40428
40429 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
40430 (ntfscomp_mod_SOURCES): New variable.
40431 (ntfscomp_mod_CFLAGS): Likewise.
40432 (ntfscomp_mod_LDFLAGS): Likewise.
40433
40434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
40435 (grub_probe_SOURCES): Likewise.
40436 (grub_emu_SOURCES): Likewise.
40437
40438 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40439 (grub_emu_SOURCES): Likewise.
40440
40441 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40442 (grub_emu_SOURCES): Likewise.
40443
40444 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40445 (grub_emu_SOURCES): Likewise.
40446
40447 * fs/ntfs.c (grub_ntfscomp_func): New variable.
40448 (read_run_list): Renamed to grub_ntfs_read_run_list.
40449 (decomp_nextvcn): Moved to ntfscomp.c.
40450 (decomp_getch): Likewise.
40451 (decomp_get16): Likewise.
40452 (decomp_block): Likewise.
40453 (read_block): Likewise.
40454 (read_data): Partially moved to ntfscomp.c.
40455 (fixup): Change unsigned to grub_uint16_t.
40456 (read_mft): Change unsigned long to grub_uint32_t.
40457 (read_attr): Likewise.
40458 (read_data): Likewise.
40459 (read_run_data): Likewise.
40460 (read_run_list): Likewise.
40461 (read_mft): Likewise.
40462
40463 * fs/ntfscomp.c: New file.
40464
40465 * include/grub/ntfs.h: New file.
40466
af680a87 404672007-12-16 Robert Millan <rmh@aybabtu.com>
40468
40469 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40470 IDE disk check, since Linux is known to support 20 IDE disks.
40471 Reported by Colin Watson.
40472
84be7599 404732007-12-15 Bean <bean123ch@gmail.com>
40474
40475 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40476 (lnxboot_img_SOURCES): New variable.
40477 (lnxboot_img_ASFLAGS): Likewise.
40478 (lnxboot_img_LDFLAGS): Likewise.
40479
40480 * boot/i386/pc/lnxboot.S: New file.
40481
6af9db01 404822007-11-24 Pavel Roskin <proski@gnu.org>
40483
40484 * configure.ac: Test if '--build-id=none' is supported by the
40485 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40486 objcopy to generate incorrect binary files (binutils
40487 2.17.50.0.18-1 as shipped by Fedora 8).
40488 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40489 linking, so that build ID doesn't break the test.
40490
7361cfe6 404912007-11-24 Pavel Roskin <proski@gnu.org>
40492
40493 * include/grub/i386/time.h: use "void" in the argument list
40494 of grub_cpu_idle().
40495 * include/grub/powerpc/time.h: Likewise.
40496 * include/grub/sparc64/time.h: Likewise.
40497
1593e10c 404982007-11-18 Christian Franke <franke@computer.org>
40499
40500 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40501 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40502 This fixes the problem that function keys did not work in grub-emu.
40503
3b8db1a8 405042007-11-18 Christian Franke <franke@computer.org>
40505
40506 * disk/host.c (grub_host_open): Remove attribute unused from
40507 name parameter. Add check for "host". This fixes the problem
40508 that grub-emu does not find partitions.
40509
2e29408d 405102007-11-18 Christian Franke <franke@computer.org>
40511
40512 * util/hostfs.c (is_dir): New function.
40513 (grub_hostfs_dir): Handle missing dirent.d_type case.
40514 (grub_hostfs_read): Add missing fseek().
40515 (grub_hostfs_label): Clear label pointer. This fixes a crash
40516 of grub-emu on "ls (host)".
40517
398cd047 405182007-11-18 Christian Franke <franke@computer.org>
40519
40520 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40521 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40522 to 64 bit boundary by default.
40523
c405c391 405242007-11-18 Bean <bean123ch@gmail.com>
40525
40526 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40527 (hexdump_mod_SOURCES): New variable.
40528 (hexdump_mod_CFLAGS): Likewise.
40529 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 40530
c405c391 40531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40532
40533 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40534
40535 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40536
40537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40538
40539 * include/grub/hexdump.h: New file.
40540
40541 * commands/hexdump.c: New file.
40542
5cced7fd 405432007-11-10 Robert Millan <rmh@aybabtu.com>
40544
40545 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40546 in grub_outb() calls.
40547 (beep_on): Likewise.
40548
8b714eb0 405492007-11-10 Christian Franke <franke@computer.org>
40550
40551 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40552 (grub_menu_run): Likewise.
40553
ce0f1839 405542007-11-10 Robert Millan <rmh@aybabtu.com>
40555
40556 * include/grub/i386/efi/machine.h: New file.
40557 * include/grub/i386/linuxbios/machine.h: Likewise.
40558 * include/grub/i386/pc/machine.h: Likewise.
40559 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40560 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40561
40562 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40563 (serial_hw_io_addr): New variable.
40564 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40565 instead of `(unsigned short *) 0x400'.
40566
270c237d 405672007-11-10 Bean <bean123ch@gmail.com>
40568
40569 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40570
a87783bf 405712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40572
40573 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40574 (vga_mod_SOURCES): Added.
40575 (vga_mod_CFLAGS): Likewise.
40576 (vga_mod_LDFLAGS): Likewise.
40577
40578 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40579 grub_outb() calls.
40580 (set_map_mask): Likewise.
40581 (set_read_map): Likewise.
40582 (set_read_address): Likewise.
40583 (vga_font): Removed variable.
40584 (get_vga_glyph): Removed function.
40585 (invalidate_char): Likewise.
40586 (write_char): Changed to use grub_font_get_glyph() for font
40587 information.
40588 (grub_vga_putchar): Likewise.
40589 (grub_vga_getcharwidth): Likewise.
40590
6433b448 405912007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40592
40593 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40594 flags.
40595 (pxeboot_img_LDFLAGS): Likewise.
40596 (diskboot_img_LDFLAGS): Likewise.
40597 (kernel_img_LDFLAGS): Likewise.
40598
49178511 405992007-11-06 Robert Millan <rmh@aybabtu.com>
40600
40601 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40602 in grub_outb() calls.
40603 (serial_hw_init): Likewise.
40604
53b052de 406052007-11-05 Robert Millan <rmh@aybabtu.com>
40606
40607 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40608 spaces. Skip non-regular files.
40609
5ab33bba 406102007-11-05 Robert Millan <rmh@aybabtu.com>
40611
40612 * kern/disk.c (grub_disk_firmware_fini)
40613 (grub_disk_firmware_is_tainted): New variables.
40614
40615 * include/grub/disk.h (grub_disk_firmware_fini)
40616 (grub_disk_firmware_is_tainted): Likewise.
40617
40618 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40619 (grub_disk_biosdisk_fini): ... to here.
40620 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40621 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40622 is set. Register grub_disk_biosdisk_fini() in
40623 `grub_disk_firmware_fini'.
40624
40625 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40626 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40627 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40628 to finish existing firmware disk interface.
40629
40630 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40631 (ata_mod_SOURCES): New variable.
40632 (ata_mod_CFLAGS): Likewise.
40633 (ata_mod_LDFLAGS): Likewise.
40634
0149ab7c 406352007-11-05 Robert Millan <rmh@aybabtu.com>
40636
40637 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40638 (grub_ata_wait): Reimplement using grub_millisleep().
40639
40640 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40641 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40642
be7ac41e 406432007-11-03 Marco Gerards <marco@gnu.org>
40644
40645 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40646 (CRTC_ADDR_PORT): New macro.
40647 (CRTC_DATA_PORT): Likewise.
40648 (CRTC_CURSOR): Likewise.
40649 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40650 (CRTC_CURSOR_ADDR_LOW): Likewise.
40651 (update_cursor): New function.
40652 (grub_console_real_putchar): Call `update_cursor'.
40653 (grub_console_gotoxy): Likewise.
40654 (grub_console_cls): Set the default color when clearing the
40655 screen.
40656 (grub_console_setcursor): Implemented.
40657
bb06ab2e 406582007-11-03 Marco Gerards <marco@gnu.org>
40659
40660 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40661 become activate.
40662 (grub_ata_pio_write): Likewise.
40663
40664 (grub_atapi_identify): Wait after issuing an ATA command.
40665 (grub_atapi_packet): Likewise.
40666 (grub_ata_identify): Likewise.
40667 (grub_ata_readwrite): Likewise.
40668
cf8f780b 406692007-11-03 Marco Gerards <marco@gnu.org>
40670
40671 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40672 (grub_ata_pio_write): Likewise.
40673 (grub_ata_readwrite): Use `grub_error', instead of
40674 returning `grub_errno'.
40675
ed649e54 406762007-11-03 Marco Gerards <marco@gnu.org>
40677
40678 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40679 grub_ata_pio_write once for every single sector, instead of for
40680 multiple sectors.
40681
ca25d8f0 406822007-10-31 Robert Millan <rmh@aybabtu.com>
40683
40684 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40685
40686 * conf/i386-linuxbios.rmk: New file.
40687
40688 * kern/i386/pc/hardware.c: Likewise.
40689 * term/i386/pc/at_keyboard.c: Likewise.
40690 * term/i386/pc/vga_text.c: Likewise.
40691
40692 * include/grub/i386/linuxbios/boot.h: Likewise.
40693 * include/grub/i386/linuxbios/console.h: Likewise.
40694 * include/grub/i386/linuxbios/init.h: Likewise.
40695 * include/grub/i386/linuxbios/kernel.h: Likewise.
40696 * include/grub/i386/linuxbios/loader.h: Likewise.
40697 * include/grub/i386/linuxbios/memory.h: Likewise.
40698 * include/grub/i386/linuxbios/serial.h: Likewise.
40699 * include/grub/i386/linuxbios/time.h: Likewise.
40700
40701 * kern/i386/linuxbios/init.c: Likewise.
40702 * kern/i386/linuxbios/startup.S: Likewise.
40703 * kern/i386/linuxbios/table.c: Likewise.
40704
e911ecc1 407052007-10-31 Marco Gerards <marco@gnu.org>
40706
40707 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40708 (ata_mod_SOURCES): New variable.
40709 (ata_mod_CFLAGS): Likewise.
40710 (ata_mod_LDFLAGS): Likewise.
40711
40712 * disk/ata.c: New file.
40713
40714 * include/grub/disk.h (grub_disk_dev_id): Add
40715 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 40716
7f66d0e0 407172007-10-31 Robert Millan <rmh@aybabtu.com>
40718
40719 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40720 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40721
40722 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40723 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40724
40725 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40726 `<grub/types.h>'.
40727
40728 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40729
5cd7dd46 407302007-10-27 Robert Millan <rmh@aybabtu.com>
40731
3236ca65 40732 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 40733
2ebfc90f 407342007-10-22 Robert Millan <rmh@aybabtu.com>
40735
40736 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40737 `"../realmode.S"'.
40738 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40739
73fcb0f3 407402007-10-22 Robert Millan <rmh@aybabtu.com>
40741
40742 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40743 (pkgdata_MODULES): Add `biosdisk.mod'.
40744 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40745 variables.
40746
40747 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40748 (grub_biosdisk_init): Replace with ...
40749 (GRUB_MOD_INIT(biosdisk)): ... this.
40750 (grub_biosdisk_fini): Replace with ...
40751 (GRUB_MOD_FINI(biosdisk)): ... this.
40752
40753 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40754 (grub_machine_init): Remove call to grub_biosdisk_init().
40755 (grub_machine_fini): Remove call to grub_machine_fini().
40756
40757 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40758
3381d274 407592007-10-22 Robert Millan <rmh@aybabtu.com>
40760
40761 * include/grub/time.h: New file.
40762 * include/grub/i386/time.h: Likewise.
40763 * include/grub/powerpc/time.h: Likewise.
40764 * include/grub/sparc64/time.h: Likewise.
40765
40766 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40767 instances to ...
40768 (KERNEL_MACHINE_TIME_HEADER): ... this.
40769 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40770 instances to ...
40771 (KERNEL_MACHINE_TIME_HEADER): ... this.
40772 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40773 instances to ...
40774 (KERNEL_MACHINE_TIME_HEADER): ... this.
40775
40776 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40777 (grub_millisleep): New function.
40778 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40779 (grub_millisleep): New function.
40780 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40781 Remove `grub/machine/time.h' include.
40782 (grub_millisleep): New function.
40783 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40784 Remove `grub/machine/time.h' include.
40785 (grub_millisleep): New function.
40786
40787 * include/grub/misc.h (grub_div_roundup): New function.
40788
40789 * kern/misc.c: Include `<grub/time.h>'.
40790 (grub_millisleep_generic): New function.
40791
40792 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40793 Add `time.h'.
40794 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40795 Add `time.h'.
40796 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40797 `machine/time.h'. Add `time.h'.
40798 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40799
a39a0312 408002007-10-21 Robert Millan <rmh@aybabtu.com>
40801
40802 * include/grub/misc.h (grub_max): New function.
40803
2aad70e2 408042007-10-21 Robert Millan <rmh@aybabtu.com>
40805
40806 * util/misc.c (grub_util_info): Call fflush() before returning.
40807
54b71c4b 408082007-10-20 Robert Millan <rmh@aybabtu.com>
40809
40810 * genmk.rb (Image): Copy `extra_flags' from here ...
40811 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40812
40813 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40814 to `argc' and `args' arguments.
40815
a979f513 408162007-10-17 Robert Millan <rmh@aybabtu.com>
40817
40818 * kern/i386/loader.S: New file.
40819
40820 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40821 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40822 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40823 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40824 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40825 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40826 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40827 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40828 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40829 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40830 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40831 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40832 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40833 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40834
40835 * kern/i386/realmode.S: New file.
40836
40837 * kern/i386/pc/startup.S (protstack): Moved from here ...
40838 * kern/i386/realmode.S (protstack)... to here.
40839 * kern/i386/pc/startup.S (gdt): Moved from here ...
40840 * kern/i386/realmode.S (gdt)... to here.
40841 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40842 * kern/i386/realmode.S (prot_to_real)... to here.
40843
40844 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40845 `kern/i386/realmode.S'.
40846
825fc8fd 408472007-10-17 Robert Millan <rmh@aybabtu.com>
40848
40849 * include/grub/i386/loader.h: New file.
40850
40851 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40852 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40853 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40854 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40855 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40856 * include/grub/i386/loader.h (grub_linux_prot_size)
40857 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40858 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40859 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40860 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40861
40862 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40863
e179b2f4 408642007-10-15 Robert Millan <rmh@aybabtu.com>
40865
40866 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40867 filesystem when dev->disk is unset.
40868 Do probe for filesystem even when dev->disk->has_partitions is set.
40869 In case a filesystem is found, always report it.
40870 In case it isn't, if dev->disk->has_partitions is set, report that
40871 a partition table was found instead of reporting that no filesystem
40872 could be identified.
40873
5db82af6 408742007-10-12 Robert Millan <rmh@aybabtu.com>
40875
40876 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40877 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40878
68f6ac74 40879 * include/grub/types.h (grub_host_to_target16): New macro.
40880 (grub_host_to_target32): Likewise.
40881 (grub_host_to_target64): Likewise.
40882 (grub_target_to_host16): Likewise.
40883 (grub_target_to_host32): Likewise.
40884 (grub_target_to_host64): Likewise.
5db82af6 40885
40886 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40887 Renamed from to ...
40888 (GRUB_MOD_ALIGN): ...this. Update all users.
40889
68f6ac74 40890 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40891 grub_host_to_target32.
40892 Replace grub_be_to_cpu32 with grub_target_to_host32.
40893 (load_modules): Likewise.
40894 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40895 Replace grub_be_to_cpu32 with grub_target_to_host32.
40896 Replace grub_cpu_to_be16 with grub_host_to_target16.
40897 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 40898
3cf497cc 408992007-10-12 Robert Millan <rmh@aybabtu.com>
40900
40901 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40902 * util/elf/grub-mkimage.c: ... here.
40903
40904 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40905 `util/powerpc/ieee1275/grub-mkimage.c'.
40906
c8cc3692 409072007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 40908
c8cc3692 40909 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40910 and make it easier to figure out.
40911 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40912 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40913 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40914 leave us with less than HEAP_MIN_SIZE total heap.
40915 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 40916
5c58b791 409172007-10-03 Robert Millan <rmh@aybabtu.com>
40918
40919 * include/grub/i386/io.h: New file.
40920 * commands/i386/pc/play.c (inb): Removed.
40921 (outb): Removed.
40922 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40923 with grub_outb().
afcd2ef8 40924 * term/i386/pc/serial.c (inb): Removed.
40925 (outb): Removed.
40926 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40927 with grub_outb().
40928 * term/i386/pc/vga.c (inb): Removed.
40929 (outb): Removed.
40930 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40931 with grub_outb().
5c58b791 40932
1a477ed6 409332007-10-02 Robert Millan <rmh@aybabtu.com>
40934
40935 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40937 Reported by Marcin Kurek.
40938
6b5d80fa 409392007-09-07 Robert Millan <rmh@aybabtu.com>
40940
40941 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40942 SmartFirmware version updates (as released by Sven Luther), and avoid
40943 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40944 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40945 known broken.
40946
5618afbf 409472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40948
40949 From Hitoshi Ozeki:
40950 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40951 when merging two regions.
40952
6139dcd9 409532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40954
508e39ee 40955 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40956 * normal/completion.c (grub_normal_do_completion): Likewise.
40957 Reported by Hitoshi Ozeki.
40958
409592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40960
6139dcd9 40961 Do not use devices at boot in chainloading.
f19dbdb7 40962
6139dcd9 40963 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40964 (boot_part_addr): Likewise.
40965 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40966 with BOOT_DRIVE and BOOT_PART_ADDR.
40967 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40968 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40969
38da6516 409702007-08-29 Robert Millan <rmh@aybabtu.com>
40971
40972 Patch from Simon Peter <dn.tlp@gmx.net>:
40973 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40974 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40975 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40976 util/i386/pc/grub-setup.c_DEPENDENCIES.
40977 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40978 util/grub-probe.c_DEPENDENCIES.
40979 * conf/powerpc-ieee1275.rmk: Likewise.
40980
29d0928c 409812007-08-28 Robert Millan <rmh@aybabtu.com>
40982
40983 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40984 to tell grub-mkdevicemap how to name devices.
40985 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40986 feature).
40987
40988 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40989 util/i386/get_disk_name.c.
40990 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40991 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40992 util/ieee1275/get_disk_name.c.
40993
40994 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40995
40996 * DISTLIST: Add util/i386/get_disk_name.c and
40997 util/ieee1275/get_disk_name.c.
40998
40999 * util/grub-mkdevicemap.c: Replace device naming logic with
41000 grub_util_get_disk_name() calls.
41001
5a0d3cca 410022007-08-20 Robert Millan <rmh@aybabtu.com>
41003
41004 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41005 (so that it works for both plural and singular quantities).
41006
8b72db2f 410072007-08-05 Robert Millan <rmh@aybabtu.com>
41008
41009 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41010 so that [xz] isn't taken into account when determining order.
41011
352466bf 410122007-08-02 Marco Gerards <marco@gnu.org>
41013
41014 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41015 `include/multiboot2.h', `include/grub/elfload.h',
41016 `include/multiboot.h', `include/grub/multiboot.h',
41017 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41018 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41019 `kern/elf.c', `loader/multiboot_loader.c',
41020 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41021 `loader/i386/pc/multiboot2.c',
41022 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41023 `util/i386/pc/grub-mkrescue.in'. Remove
41024 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41025 `include/grub/i386/pc/util/biosdisk.h' and
41026 `include/grub/powerpc/ieee1275/multiboot.h'.
41027
8f096014 410282007-08-02 Bean <bean123ch@gmail.com>
41029
41030 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41031 (ntfs_mod_SOURCES): New variable.
41032 (ntfs_mod_CFLAGS): Likewise.
41033 (ntfs_mod_LDFLAGS): Likewise.
41034
41035 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41036 (grub_probe_SOURCES): Likewise.
41037 (grub_emu_SOURCES): Likewise.
41038
41039 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41040 (grub_emu_SOURCES): Likewise.
41041
41042 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41043 (grub_emu_SOURCES): Likewise.
f19dbdb7 41044
8f096014 41045 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41046
41047 * fs/ntfs.c: New file.
41048
9959f7db 410492007-08-02 Bean <bean123ch@gmail.com>
41050
41051 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41052
41053 * file.h (grub_file): Likewise.
41054
41055 * fshelp.h (grub_fshelp_read_file): Likewise.
41056
41057 * util/i386/pc/grub-setup.c (setup): Likewise.
41058 (save_first_sector): Likewise.
41059 (save_blocklists): Likewise.
f19dbdb7 41060
9959f7db 41061 * fs/affs.c (grub_affs_read_file): Likewise.
41062
41063 * fs/ext2.c (grub_ext2_read_file): Likewise.
41064
41065 * fs/fat.c (grub_fat_read_data): Likewise.
41066
41067 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41068
41069 * fs/hfs.c (grub_hfs_read_file): Likewise.
41070
41071 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41072
41073 * fs/jfs.c (grub_jfs_read_file): Likewise.
41074
41075 * fs/minix.c (grub_minix_read_file): Likewise.
41076
41077 * fs/sfs.c (grub_sfs_read_file): Likewise.
41078
41079 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41080
9959f7db 41081 * fs/xfs.c (grub_xfs_read_file): Likewise.
41082
41083 * command/blocklist.c (read_blocklist): Likewise.
41084 (print_blocklist): Likewise.
41085
0a203f83 410862007-08-02 Marco Gerards <marco@gnu.org>
41087
41088 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41089 `util/hostfs.c'.
41090
41091 * disk/host.c: New file.
41092
41093 * util/hostfs.c: Likewise.
41094
41095 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41096 return `GRUB_ERR_BAD_FS'.
41097 * fs/sfs.c (grub_sfs_mount): Likewise.
41098 * fs/xfs.c (grub_xfs_mount): Likewise.
41099
41100 * include/grub/disk.h (enum grub_disk_dev_id): Add
41101 `GRUB_DISK_DEVICE_HOST_ID'.
41102
41103 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41104
e5dfe777 411052007-07-24 Jerone Young <jerone@gmail.com>
41106
f19dbdb7 41107 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41108 modules for compilation.
41109 * conf/powerpc-ieee1275.rmk: Likewise.
41110
41111 * include/multiboot.h: Move multiboot definitions to one file. Rename
41112 many definitions to not get grub specific.
41113 * include/multiboot2.h: Create header with multiboot 2 definitions.
41114 * include/grub/multiboot.h: Header for grub specific function
41115 prototypes and definitions.
41116 * include/grub/multiboot2.h: Likewise.
41117 * include/grub/multiboot_loader.h: Likewise.
41118 * include/grub/i386/pc/multiboot.h: Removed.
41119 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41120
41121 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41122 and 2 to allow for one multiboot and module commands.
41123 * loader/multiboot2.c: Add multiboot2 functionality.
41124 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41125 and definition names.
41126 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41127 2 functions.
41128 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41129 ieee1275 specific multiboot2 code.
41130
41131 * kern/i386/pc/startup.S: Change headers and definition names for
41132 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41133
daf0f0ba 411342007-07-22 Robert Millan <rmh@aybabtu.com>
41135
41136 * geninitheader.sh: Process file specified in first parameter rather
41137 than hardcoding grub_modules_init.lst.
fe6b695a 41138 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41139 than hardcoding grub_modules_init.h.
41140
41141 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41142 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41143 grub_probe_init.[ch] and grub_setup_init.[ch].
41144
41145 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41146 grub_modules_init.h with grub_emu_init.h.
41147 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41148 grub_probe_init.[ch] files.
41149 * conf/i386-efi.rmk: Likewise.
41150 * conf/i386-pc.rmk: Likewise.
41151 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41152 grub_setup_init.[ch] files.
41153
41154 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41155 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41156 to initialize modules rather than a list of hardcoded functions.
41157 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41158 grub_init_all() to initialize modules rather than a list of hardcoded
41159 functions.
41160
54cdc1cc 411612007-07-22 Robert Millan <rmh@aybabtu.com>
41162
41163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41164 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41165
ad0686cc 411662007-07-22 Robert Millan <rmh@aybabtu.com>
41167
41168 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41169 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41170 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41171 flag when running on SmartFirmware.
41172 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41173 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41174 was set.
41175
41176 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41177 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41178 rather than decreasing it.
41179
41180 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41181 there's not enough space to do it, fail in the same way as when it
41182 can't be done because there are no partitions.
41183
41184 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41185 when nvsetenv failed.
41186
969c02ec 411872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41188
41189 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41190 because this rule is automatically generated.
41191 (grub-mkrescue): Removed for the same reason as above.
41192
5a79f472 411932007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41194
41195 Migrate to GNU General Public License Version 3.
f19dbdb7 41196
5a79f472 41197 * COPYING: Replaced with the plain text version of GPLv3.
41198
41199 * config.guess: Updated from gnulib.
41200 * config.sub: Likewise.
41201
41202 * geninit.sh: Output a GPLv3 copyright notice.
41203 * geninitheader.sh: Likewise.
41204 * genmodsrc.sh: Likewise.
41205 * gensymlist.sh.in: Likewise.
41206
41207 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41208 * boot/i386/pc/diskboot.S: Likewise.
41209 * boot/i386/pc/pxeboot.S: Likewise.
41210 * commands/blocklist.c: Likewise.
41211 * commands/boot.c: Likewise.
41212 * commands/cat.c: Likewise.
41213 * commands/cmp.c: Likewise.
41214 * commands/configfile.c: Likewise.
41215 * commands/echo.c: Likewise.
41216 * commands/help.c: Likewise.
41217 * commands/ls.c: Likewise.
41218 * commands/search.c: Likewise.
41219 * commands/terminal.c: Likewise.
41220 * commands/test.c: Likewise.
41221 * commands/videotest.c: Likewise.
41222 * commands/i386/cpuid.c: Likewise.
41223 * commands/i386/pc/halt.c: Likewise.
41224 * commands/i386/pc/play.c: Likewise.
41225 * commands/i386/pc/reboot.c: Likewise.
41226 * commands/i386/pc/vbeinfo.c: Likewise.
41227 * commands/i386/pc/vbetest.c: Likewise.
41228 * commands/ieee1275/halt.c: Likewise.
41229 * commands/ieee1275/reboot.c: Likewise.
41230 * commands/ieee1275/suspend.c: Likewise.
41231 * disk/loopback.c: Likewise.
41232 * disk/lvm.c: Likewise.
41233 * disk/raid.c: Likewise.
41234 * disk/efi/efidisk.c: Likewise.
41235 * disk/i386/pc/biosdisk.c: Likewise.
41236 * disk/ieee1275/ofdisk.c: Likewise.
41237 * font/manager.c: Likewise.
41238 * fs/affs.c: Likewise.
41239 * fs/ext2.c: Likewise.
41240 * fs/fat.c: Likewise.
41241 * fs/fshelp.c: Likewise.
41242 * fs/hfs.c: Likewise.
41243 * fs/hfsplus.c: Likewise.
41244 * fs/iso9660.c: Likewise.
41245 * fs/jfs.c: Likewise.
41246 * fs/minix.c: Likewise.
41247 * fs/sfs.c: Likewise.
41248 * fs/ufs.c: Likewise.
41249 * fs/xfs.c: Likewise.
41250 * hello/hello.c: Likewise.
41251 * include/grub/acorn_filecore.h: Likewise.
41252 * include/grub/arg.h: Likewise.
41253 * include/grub/bitmap.h: Likewise.
41254 * include/grub/boot.h: Likewise.
41255 * include/grub/cache.h: Likewise.
41256 * include/grub/device.h: Likewise.
41257 * include/grub/disk.h: Likewise.
41258 * include/grub/dl.h: Likewise.
41259 * include/grub/elfload.h: Likewise.
41260 * include/grub/env.h: Likewise.
41261 * include/grub/err.h: Likewise.
41262 * include/grub/file.h: Likewise.
41263 * include/grub/font.h: Likewise.
41264 * include/grub/fs.h: Likewise.
41265 * include/grub/fshelp.h: Likewise.
41266 * include/grub/gzio.h: Likewise.
41267 * include/grub/hfs.h: Likewise.
41268 * include/grub/kernel.h: Likewise.
41269 * include/grub/loader.h: Likewise.
41270 * include/grub/lvm.h: Likewise.
41271 * include/grub/misc.h: Likewise.
41272 * include/grub/mm.h: Likewise.
41273 * include/grub/net.h: Likewise.
41274 * include/grub/normal.h: Likewise.
41275 * include/grub/parser.h: Likewise.
41276 * include/grub/partition.h: Likewise.
41277 * include/grub/pc_partition.h: Likewise.
41278 * include/grub/raid.h: Likewise.
41279 * include/grub/rescue.h: Likewise.
41280 * include/grub/script.h: Likewise.
41281 * include/grub/setjmp.h: Likewise.
41282 * include/grub/symbol.h: Likewise.
41283 * include/grub/term.h: Likewise.
41284 * include/grub/terminfo.h: Likewise.
41285 * include/grub/tparm.h: Likewise.
41286 * include/grub/types.h: Likewise.
41287 * include/grub/video.h: Likewise.
41288 * include/grub/efi/api.h: Likewise.
41289 * include/grub/efi/chainloader.h: Likewise.
41290 * include/grub/efi/console.h: Likewise.
41291 * include/grub/efi/console_control.h: Likewise.
41292 * include/grub/efi/disk.h: Likewise.
41293 * include/grub/efi/efi.h: Likewise.
41294 * include/grub/efi/pe32.h: Likewise.
41295 * include/grub/efi/time.h: Likewise.
41296 * include/grub/i386/linux.h: Likewise.
41297 * include/grub/i386/setjmp.h: Likewise.
41298 * include/grub/i386/types.h: Likewise.
41299 * include/grub/i386/efi/kernel.h: Likewise.
41300 * include/grub/i386/efi/loader.h: Likewise.
41301 * include/grub/i386/efi/time.h: Likewise.
41302 * include/grub/i386/pc/biosdisk.h: Likewise.
41303 * include/grub/i386/pc/boot.h: Likewise.
41304 * include/grub/i386/pc/chainloader.h: Likewise.
41305 * include/grub/i386/pc/console.h: Likewise.
41306 * include/grub/i386/pc/init.h: Likewise.
41307 * include/grub/i386/pc/kernel.h: Likewise.
41308 * include/grub/i386/pc/loader.h: Likewise.
41309 * include/grub/i386/pc/memory.h: Likewise.
41310 * include/grub/i386/pc/multiboot.h: Likewise.
41311 * include/grub/i386/pc/serial.h: Likewise.
41312 * include/grub/i386/pc/time.h: Likewise.
41313 * include/grub/i386/pc/vbe.h: Likewise.
41314 * include/grub/i386/pc/vbeblit.h: Likewise.
41315 * include/grub/i386/pc/vbefill.h: Likewise.
41316 * include/grub/i386/pc/vbeutil.h: Likewise.
41317 * include/grub/i386/pc/vga.h: Likewise.
41318 * include/grub/ieee1275/ieee1275.h: Likewise.
41319 * include/grub/ieee1275/ofdisk.h: Likewise.
41320 * include/grub/powerpc/libgcc.h: Likewise.
41321 * include/grub/powerpc/setjmp.h: Likewise.
41322 * include/grub/powerpc/types.h: Likewise.
41323 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41324 * include/grub/powerpc/ieee1275/console.h: Likewise.
41325 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
41326 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
41327 * include/grub/powerpc/ieee1275/loader.h: Likewise.
41328 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
41329 * include/grub/powerpc/ieee1275/time.h: Likewise.
41330 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
41331 * include/grub/sparc64/libgcc.h: Likewise.
41332 * include/grub/sparc64/setjmp.h: Likewise.
41333 * include/grub/sparc64/types.h: Likewise.
41334 * include/grub/sparc64/ieee1275/console.h: Likewise.
41335 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41336 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41337 * include/grub/sparc64/ieee1275/time.h: Likewise.
41338 * include/grub/util/biosdisk.h: Likewise.
41339 * include/grub/util/getroot.h: Likewise.
41340 * include/grub/util/lvm.h: Likewise.
41341 * include/grub/util/misc.h: Likewise.
41342 * include/grub/util/raid.h: Likewise.
41343 * include/grub/util/resolve.h: Likewise.
41344 * io/gzio.c: Likewise.
41345 * kern/device.c: Likewise.
41346 * kern/disk.c: Likewise.
41347 * kern/dl.c: Likewise.
41348 * kern/elf.c: Likewise.
41349 * kern/env.c: Likewise.
41350 * kern/err.c: Likewise.
41351 * kern/file.c: Likewise.
41352 * kern/fs.c: Likewise.
41353 * kern/loader.c: Likewise.
41354 * kern/main.c: Likewise.
41355 * kern/misc.c: Likewise.
41356 * kern/mm.c: Likewise.
41357 * kern/parser.c: Likewise.
41358 * kern/partition.c: Likewise.
41359 * kern/rescue.c: Likewise.
41360 * kern/term.c: Likewise.
41361 * kern/efi/efi.c: Likewise.
41362 * kern/efi/init.c: Likewise.
41363 * kern/efi/mm.c: Likewise.
41364 * kern/i386/dl.c: Likewise.
41365 * kern/i386/efi/init.c: Likewise.
41366 * kern/i386/efi/startup.S: Likewise.
41367 * kern/i386/pc/init.c: Likewise.
41368 * kern/i386/pc/lzo1x.S: Likewise.
41369 * kern/i386/pc/startup.S: Likewise.
41370 * kern/ieee1275/ieee1275.c: Likewise.
41371 * kern/powerpc/cache.S: Likewise.
41372 * kern/powerpc/dl.c: Likewise.
41373 * kern/powerpc/ieee1275/cmain.c: Likewise.
41374 * kern/powerpc/ieee1275/crt0.S: Likewise.
41375 * kern/powerpc/ieee1275/init.c: Likewise.
41376 * kern/powerpc/ieee1275/openfw.c: Likewise.
41377 * kern/sparc64/cache.S: Likewise.
41378 * kern/sparc64/dl.c: Likewise.
41379 * kern/sparc64/ieee1275/init.c: Likewise.
41380 * kern/sparc64/ieee1275/openfw.c: Likewise.
41381 * loader/efi/chainloader.c: Likewise.
41382 * loader/efi/chainloader_normal.c: Likewise.
41383 * loader/i386/efi/linux.c: Likewise.
41384 * loader/i386/efi/linux_normal.c: Likewise.
41385 * loader/i386/pc/chainloader.c: Likewise.
41386 * loader/i386/pc/chainloader_normal.c: Likewise.
41387 * loader/i386/pc/linux.c: Likewise.
41388 * loader/i386/pc/linux_normal.c: Likewise.
41389 * loader/i386/pc/multiboot.c: Likewise.
41390 * loader/i386/pc/multiboot_normal.c: Likewise.
41391 * loader/powerpc/ieee1275/linux.c: Likewise.
41392 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41393 * normal/arg.c: Likewise.
41394 * normal/cmdline.c: Likewise.
41395 * normal/command.c: Likewise.
41396 * normal/completion.c: Likewise.
41397 * normal/execute.c: Likewise.
41398 * normal/function.c: Likewise.
41399 * normal/lexer.c: Likewise.
41400 * normal/main.c: Likewise.
41401 * normal/menu.c: Likewise.
41402 * normal/menu_entry.c: Likewise.
41403 * normal/misc.c: Likewise.
41404 * normal/parser.y: Likewise.
41405 * normal/script.c: Likewise.
41406 * normal/i386/setjmp.S: Likewise.
41407 * normal/powerpc/setjmp.S: Likewise.
41408 * normal/sparc64/setjmp.S: Likewise.
41409 * partmap/acorn.c: Likewise.
41410 * partmap/amiga.c: Likewise.
41411 * partmap/apple.c: Likewise.
41412 * partmap/gpt.c: Likewise.
41413 * partmap/pc.c: Likewise.
41414 * partmap/sun.c: Likewise.
41415 * term/gfxterm.c: Likewise.
41416 * term/terminfo.c: Likewise.
41417 * term/efi/console.c: Likewise.
41418 * term/i386/pc/console.c: Likewise.
41419 * term/i386/pc/serial.c: Likewise.
41420 * term/i386/pc/vesafb.c: Likewise.
41421 * term/i386/pc/vga.c: Likewise.
41422 * term/ieee1275/ofconsole.c: Likewise.
41423 * util/biosdisk.c: Likewise.
41424 * util/console.c: Likewise.
41425 * util/genmoddep.c: Likewise.
41426 * util/getroot.c: Likewise.
41427 * util/grub-emu.c: Likewise.
41428 * util/grub-mkdevicemap.c: Likewise.
41429 * util/grub-probe.c: Likewise.
41430 * util/lvm.c: Likewise.
41431 * util/misc.c: Likewise.
41432 * util/raid.c: Likewise.
41433 * util/resolve.c: Likewise.
41434 * util/update-grub.in: Likewise.
41435 * util/update-grub_lib.in: Likewise.
41436 * util/grub.d/00_header.in: Likewise.
41437 * util/grub.d/10_hurd.in: Likewise.
41438 * util/grub.d/10_linux.in: Likewise.
41439 * util/i386/efi/grub-install.in: Likewise.
41440 * util/i386/efi/grub-mkimage.c: Likewise.
41441 * util/i386/pc/grub-install.in: Likewise.
41442 * util/i386/pc/grub-mkimage.c: Likewise.
41443 * util/i386/pc/grub-mkrescue.in: Likewise.
41444 * util/i386/pc/grub-setup.c: Likewise.
41445 * util/i386/pc/misc.c: Likewise.
41446 * util/powerpc/ieee1275/grub-install.in: Likewise.
41447 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
41448 * util/powerpc/ieee1275/misc.c: Likewise.
41449 * video/bitmap.c: Likewise.
41450 * video/video.c: Likewise.
41451 * video/i386/pc/vbe.c: Likewise.
41452 * video/i386/pc/vbeblit.c: Likewise.
41453 * video/i386/pc/vbefill.c: Likewise.
41454 * video/i386/pc/vbeutil.c: Likewise.
41455 * video/readers/tga.c: Likewise.
41456
3572d015 414572007-07-02 Robert Millan <rmh@aybabtu.com>
41458
41459 * conf/i386-efi.rmk: Replace obsolete reference to
41460 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41461 with util/getroot.c.
41462 * conf/powerpc-ieee1275.rmk: Likewise.
41463 * conf/sparc64-ieee1275.rmk: Likewise.
41464
41465 * util/grub-emu.c (main): Fix unchecked pointer handling.
41466
2c2a681b 414672007-07-02 Robert Millan <rmh@aybabtu.com>
41468
41469 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41470 invocation to fail, in order to support partition-less media.
41471
41472 * util/i386/pc/grub-install.in: Likewise.
41473
41474 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41475 which fs or partmap modules are needed (akin to its sister scripts).
41476
41477 Also use grub-probe to get rid of unportable /proc/mounts check.
41478
41479 Print the same informational message that the other scripts do, before
fe6b695a 41480 exiting.
2c2a681b 41481
6193defe 414822007-06-23 Robert Millan <rmh@aybabtu.com>
41483
fe6b695a 41484 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 41485 a font file can be found and, if so, echo the GRUB path to it.
41486
41487 * util/update-grub.in: Handle multiple terminals depending on user
41488 input, platform availability and font file presence. Propagate
41489 variables of our findings to /etc/grub.d/ children.
41490
41491 * util/grub.d/00_header.in: Handle multiple terminals, based on
41492 environment setup by update-grub.
41493
eface1dc 414942007-06-23 Robert Millan <rmh@aybabtu.com>
41495
ba50d28f 41496 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 41497
bf697e28 414982007-06-21 Robert Millan <rmh@aybabtu.com>
41499
41500 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41501 indicate end of data section in kernel image.
41502 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41503 GRUB_KERNEL_MACHINE_DATA_END.
41504
41505 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41506 space for it.
41507 * kern/i386/efi/startup.S: Likewise.
41508
41509 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41510 during image generation. Implement --prefix option to override this
41511 patch.
41512 * util/i386/efi/grub-mkimage.c: Likewise.
41513
41514 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41515 code to make path relative to its root into a separate function.
41516
41517 * util/i386/pc/grub-install.in: Use newly provided
41518 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41519 pass the result to grub-install --prefix.
41520
baa574b4 415212007-06-13 Robert Millan <rmh@aybabtu.com>
41522
41523 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41524 DEFAULT_DEVICE_MAP.
41525 * util/grub-emu.c: Use above definitions from misc.h instead of
41526 defining them.
41527 * util/grub-mkdevicemap.c: Likewise.
41528 * util/i386/pc/grub-setup.c: Likewise.
41529 * util/grub-probe.c: Likewise.
41530 (probe): Abort with grub_util_error() when either
41531 grub_guess_root_device or grub_util_get_grub_dev fails.
41532
0215dcbf 415332007-06-12 Robert Millan <rmh@aybabtu.com>
41534
41535 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41536 "pager" assignment.
41537 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41538 "pcdata".
41539 * util/grub-probe.c (probe): Likewise for "drive_name".
41540
8af2ab7b 415412007-06-11 Robert Millan <rmh@aybabtu.com>
41542
41543 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41544 not just the cdrom one.
41545
59d31694 415462007-06-11 Robert Millan <rmh@aybabtu.com>
41547
41548 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41549 Add --pkglibdir=DIR option to override pkglibdir.
41550 Mention --image-type=TYPE in help output.
41551 Fix --grub-mkimage (it was a no-op).
fe6b695a 41552 Abort gracefully when no parameter is given.
59d31694 41553
7ee367e4 415542007-06-11 Robert Millan <rmh@aybabtu.com>
41555
41556 * util/i386/pc/grub-mkrescue.in: New file.
41557 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41558 * Makefile.in: Handle bin_SCRIPTS.
41559
29b0ed46 415602007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41561
41562 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41563 list of video modes.
41564
c0f90770 415652007-06-06 Robert Millan <rmh@aybabtu.com>
41566
41567 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41568 file doesn't exist, or if it is in a filesystem grub can't read.
41569
41570 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41571 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41572 header comment to fit in 80 columns when the variables are resolved.
41573
41574 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41575 could be identified by update-grub. Remove redundant check for
fe6b695a 41576 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 41577 handles that).
41578
fb36dc26 415792007-06-04 Robert Millan <rmh@aybabtu.com>
41580
41581 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41582
41583 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41584
41585 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41586
0c68c93e 415872007-06-04 Robert Millan <rmh@aybabtu.com>
41588
41589 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41590
41591 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41592 grub_apple_partition_map_fini.
41593
41594 * util/biosdisk.c
41595 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41596 to access >2 TiB disks).
41597
41598 Print disk->total_sectors with %llu instead of %lu, since this
41599 variable is always 64-bit (prevents wrong disk size from being displayed
41600 on either >2 TiB disk or big-endian CPU).
41601
41602 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41603 into a generic case that supports all (sane) partition maps.
41604
41605 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41606 breaks big-endian.
41607
41608 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41609 and grub_apple_partition_map_fini() after that.
41610
0f23eb74 416112007-06-01 Robert Millan <rmh@aybabtu.com>
41612
41613 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41614
41615 * util/grub.d/00_header.in: Only enable gfxterm when
41616 convert_system_path_to_grub_path() succeeds.
41617
42c71976 416182007-05-20 Robert Millan <rmh@aybabtu.com>
41619
41620 * util/update-grub_lib.in: New file.
41621 * DISTLIST: Add update-grub_lib.in.
41622 * conf/common.rmk: Generate update-grub_lib and install it in
41623 $(lib_DATA).
41624 * Makefile.in: Add install routine for $(lib_DATA).
41625
41626 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41627 function provided by update-grub_lib to support arbitrary paths of
41628 unifont.pff.
41629 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41630 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41631
5beb2291 416322007-05-19 Robert Millan <rmh@aybabtu.com>
41633
41634 * commands/i386/cpuid.c: New module.
41635 * DISTLIST: Add it.
41636 * conf/i386-efi.rmk: Enable cpuid.mod.
41637 * conf/i386-pc.rmk: Likewise.
41638
7262eca1 416392007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41640
41641 * kern/disk.c (grub_disk_read): Check return value of
41642 grub_realloc().
41643
260ba823 416442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41645
41646 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41647 arrays.
41648 * disk/raid.c (grub_raid_open): Likewise.
41649
1ecb6cf2 416502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41651
41652 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41653 stack instead of on the heap.
41654
41655 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41656 before doing a read on it.
41657
41658 * configure.ac: Only use -fno-stack-protector for the target
41659 environment.
f19dbdb7 41660
21c8cbb1 416612007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41662
41663 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41664 __attribute_ ((unused)) to mode_type argument.
41665
41666 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 41667
21c8cbb1 41668 * kern/misc.c (memcmp): Fix prototype.
41669
41670 * include/grub/partition.h [GRUB_UTIL]
41671 (grub_gpt_partition_map_init): Add prototype.
41672 (grub_gpt_partition_map_fini): Likewise.
41673
41674 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41675 at the right place.
41676
41677 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41678 (grub_fat_read_data): Likewise.
41679 (grub_fat_find_dir): Likewise.
41680
41681 * font/manager.c (find_glyph): Make table a const.
41682 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 41683
849d55d3 416842007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41685
41686 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41687 code, first search for device in /dev/mapper, then in /dev.
41688 (grub_util_get_grub_dev): New function.
41689 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41690 prototype.
41691 * util/grub-probe.c (probe): Remove check for RAID, call
41692 grub_util_get_grub_dev() instead of
41693 grub_util_biosdisk_get_grub_dev().
41694 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41695 grub_util_biosdisk_get_grub_dev().
41696 * util/i386/pc/grub-setup.c (main): Likewise.
41697
8fff7c2f 416982007-05-16 Robert Millan <rmh@aybabtu.com>
41699
41700 * DISTLIST: Update for the latest changes.
41701 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41702 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41703 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41704 grub/util/biosdisk.h.
41705 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41706 grub/util/biosdisk.h.
41707
48e12b52 417082007-05-16 Robert Millan <rmh@aybabtu.com>
41709
41710 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41711
46b9d128 417122007-05-16 Robert Millan <rmh@aybabtu.com>
41713
41714 * util/i386/efi/grub-install.in: New.
41715 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41716 newly added grub-install.
41717 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41718 include.
41719 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41720 grub/util/biosdisk.h.
41721 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41722 grub/util/biosdisk.h.
41723
2d1a40a9 417242007-05-16 Robert Millan <rmh@aybabtu.com>
41725
41726 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41727 * include/grub/util/biosdisk.h: ... here.
41728 * util/i386/pc/biosdisk.c: Moved to ...
41729 * util/biosdisk.c: ... here.
41730 * util/i386/pc/getroot.c: Moved to ...
41731 * util/getroot.c: ... here.
41732 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41733 * util/grub-mkdevicemap.c: ... here.
41734 * util/i386/pc/grub-probe.c: Moved to ...
41735 * util/grub-probe.c: ... here.
41736
9e26e3bc 417372007-05-15 Robert Millan <rmh@aybabtu.com>
41738
41739 * util/update-grub.in: Remove duplicated line in grub.cfg header
41740 message.
41741
57f96397 417422007-05-13 Robert Millan <rmh@aybabtu.com>
41743
41744 * util/update-grub.in: Fix a few assumptions about the devices holding
41745 /, /boot and /boot/grub being the same.
41746 * util/grub.d/00_header.in: Likewise.
41747 * util/grub.d/10_hurd.in: Likewise.
41748 * util/grub.d/10_linux.in: Likewise.
41749
41750 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41751 patterns. Use that to define the `.old' suffix as older than `'.
41752
41753 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41754
41755 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41756 the grub.cfg header message.
41757
2e610d62 417582007-05-11 Robert Millan <rmh@aybabtu.com>
41759
41760 * util/update-grub.in: Create device.map if it doesn't already exist,
41761 before attempting to run grub-probe.
41762 Check for grub-probe and grub-mkdevicemap with the same code
41763 grub-install is using.
41764 Remove test mode.
41765
3f6a10ef 417662007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41767
41768 * Makefile.in: Add the datarootdir autoconf variable.
41769
02e7b75e 417702007-05-09 Robert Millan <rmh@aybabtu.com>
41771
41772 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 41773 fail gracefully if dev->disk->partition == NULL.
02e7b75e 41774
75f396cc 417752007-05-07 Robert Millan <rmh@aybabtu.com>
41776
41777 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41778 determine partition map module.
41779 * util/i386/pc/grub-install.in: Use this feature to decide which
41780 partition module to load, instead of hardcoding pc and gpt.
41781
da65cb36 417822007-05-07 Robert Millan <rmh@aybabtu.com>
41783
41784 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41785 source directory differs from build directory.
41786
b57d6a91 417872007-05-05 Robert Millan <rmh@aybabtu.com>
41788
41789 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41790 initialisation.
41791
509d00f1 417922007-05-05 Robert Millan <rmh@aybabtu.com>
41793
41794 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41795
c48f23ef 417962007-05-05 Robert Millan <rmh@aybabtu.com>
41797
41798 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41799 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41800
20b97658 418012007-05-05 Robert Millan <rmh@aybabtu.com>
41802
41803 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41804 (grub_probe_SOURCES): Likewise.
41805 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41806 GPT and initialize dos_part and bsd_part accordingly.
41807 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41808 install_bsd_part.
41809 (main): Activate gpt module for use during partition identification,
41810 and deactivate it afterwards.
41811 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41812 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41813 partition identification, and deactivate it afterwards.
41814
99123174 418152007-05-05 Robert Millan <rmh@aybabtu.com>
41816
41817 * term/i386/pc/console.c (grub_console_fini): Call
41818 grub_term_set_current() before grub_term_unregister().
41819
ebd97f6e 418202007-05-04 Robert Millan <rmh@aybabtu.com>
41821
41822 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41823 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41824 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41825 and update-grub_DATA.
41826 * conf/common.rmk: Build and install update-grub components.
41827 * conf/common.mk: Regenerate.
41828 * util/update-grub.in: New. Core of update-grub.
41829 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41830 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41831 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41832 * util/grub.d/README: New. Document grub.d directory layout.
41833
b06a264d 418342007-05-01 Robert Millan <rmh@aybabtu.com>
41835
41836 * util/grub-emu.c: Move initialization functions
41837 grub_util_biosdisk_init() and grub_init_all() before
41838 grub_util_biosdisk_get_grub_dev(), which relies on them.
41839
41f0050e 418402007-04-19 Robert Millan <rmh@aybabtu.com>
41841
41842 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41843 it is used later.
41844
04582bb3 418452007-04-18 Jerone Young <jerone@gmail.com>
41846
f19dbdb7 41847 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 41848 stanza.
41849
08db4632 418502007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 41851
08db4632 41852 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41853 continue on and look for device node with real device name.
41854
801b76be 418552007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 41856
fe6b695a 41857 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 41858 ability.
41859 * Makefile.in: Add autoconf package transformation code.
41860 * util/i386/pc/grub-install.in: Likewise.
41861 * util/powerpc/ieee1275/grub-install.in: Likewise.
41862
6795c4e1 418632007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41864
41865 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41866 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41867 (EXT2_REVISION): Likewise.
41868 (EXT2_INODE_SIZE): Likewise.
41869 (struct grub_ext2_block_group): Added a missing member
41870 "used_dirs".
41871 (grub_ext2_read_inode): Divide by the inode size in a superblock
41872 instead of 128 to obtain INODES_PER_BLOCK.
41873 Use the macro EXT2_INODE_SIZE instead of directly using
41874 SBLOCK->INODE_SIZE.
41875
d70af616 418762007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41877
41878 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41879 superblock instead of the structure size to compute an
41880 offset. This fixes the problem that GRUB could not read a
41881 filesystem when inode size is different from 128-byte.
41882
3b801603 418832007-03-05 Marco Gerards <marco@gnu.org>
41884
41885 * normal/main.c (read_config_file): When "menu" is not set, create
41886 an initial context.
41887
4785bfe4 418882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41889
41890 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41891 (HEAP_LIMIT): New macro.
41892 (grub_claim_heap): Claim memory up to `heaplimit'.
41893
a0cbb023 418942007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41895
41896 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41897 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41898 (_start): Likewise.
41899 (grub_arch_modules_addr): Return address after `_end'.
41900 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41901 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41902 (add_segments): Calculate `_end' from phdr size and location.
41903 (ALIGN_UP): Moved to ...
41904 * include/grub/misc.h: here.
41905 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41906 New macro.
41907 (GRUB_IEEE1275_MODULE_BASE): Removed.
41908
fd7d8eba 419092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41910
41911 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41912 loop boundary.
41913
9b09e6fc 419142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41915
41916 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41917 All users updated.
41918 (grub_elf64_load_hook_t): Likewise.
41919 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41920 debug output.
41921
3ce27299 419222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41923
41924 * kern/mm.c: Update copyright.
41925 (grub_mm_debug): Correct syntax error.
41926 (grub_mm_dump_free): New function.
41927 (grub_debug_free): Call `grub_free'.
41928 * include/grub/mm.h: Update copyright.
41929 (grub_mm_dump_free): Add declaration.
41930
077d5fee 419312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41932
41933 * include/grub/ieee1275/ieee1275.h: Update copyright.
41934 * kern/powerpc/ieee1275/init.c: Likewise.
41935 * kern/powerpc/ieee1275/openfw.c: Likewise.
41936
41937 * loader/powerpc/ieee1275/linux.c: Likewise.
41938 * include/grub/elfload.h: Likewise.
41939 * kern/elf.c: Likewise.
41940 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41941 callers.
41942 (grub_elf64_load): Likewise.
41943 (grub_elf32_load_segment): Move to a nested function.
41944 (grub_elf64_load_segment): Likewise.
41945
dc946850 419462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41947
41948 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41949 prototype.
41950 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41951 (grub_heap_len): Likewise.
41952 (HEAP_SIZE): New macro.
41953 (grub_claim_heap): New function.
41954 (grub_machine_init): Don't claim heap directly. Call
41955 `grub_claim_heap'.
41956 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41957 (grub_available_iterate): New function.
41958
baa2a121 419592007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41960
41961 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41962 * configure.ac: Use it for testing the HOST and TARGET compilers.
41963
4fe9862e 419642006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41965
41966 * Makefile.in (enable_grub_emu): New variable.
41967 * configure.ac (--enable-grub-emu): New option.
41968 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41969 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41970 * conf/i386-pc.rmk: Likewise.
41971 * conf/powerpc-ieee1275.rmk: Likewise.
41972 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41973
a8aa5762 419742006-12-12 Marco Gerards <marco@gnu.org>
41975
41976 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41977
41978 * kern/env.c (grub_env_unset): Don't free the member `value' when
41979 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41980 pointer.
41981
41982 * normal/main.c (current_menu): Removed.
41983 (free_menu): Unset the `menu' environment variable.
41984 (grub_normal_menu_addentry): Make use of the environment variable
41985 `menu', instead of using the global `current_menu'. Allocate
41986 memory for the sourcecode of this entry.
41987 (read_config_file): New argument `nested', changed all callers.
41988 Only in the case of a new context, initialize a new menu. Set the
41989 `menu' environment variable.
41990 (grub_normal_execute): Don't set and unset the environment
41991 variable `menu' here anymore. Only free the menu when leaving the
41992 context.
41993
41994 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41995 leak.
41996
957b3a3e 419972006-12-11 Marco Gerards <marco@gnu.org>
41998
41999 * normal/menu_entry.c (run): Fix off by one bug so the last line
42000 is executed. Move the loader check to outside the loop.
42001
ef875714 420022006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42003
42004 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42005
4e739985 420062006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42007
42008 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42009 the number of sectors. Reported by Andrey Shuvikov
42010 <mr_hyro@yahoo.com>.
f19dbdb7 42011
790707f2 420122006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42013
42014 * kern/disk.c (grub_disk_read): When there is a read error, always
42015 try to read only the necessary data.
f19dbdb7 42016
790707f2 42017 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42018 disk/raid.c.
42019 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42020 prototype.
42021 [GRUB_UTIL] (grub_raid_fini): Likewise.
42022 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 42023 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 42024 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42025 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42026 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42027 and grub_raid_fini().
f19dbdb7 42028
03e58196 420292006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42030
42031 * include/grub/types.h (__unused): Rename to UNUSED.
42032 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42033 (grub_elf64_size): Likewise.
f19dbdb7 42034
ae4f23bf 420352006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42036
42037 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42038 grub_error_push and grub_error_pop in the error-handling path.
42039 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42040 length.
42041
2166cc83 420422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42043
42044 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42045 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42047 (kernel_elf_SOURCES): Likewise.
42048 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42049 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42050 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42051 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42052 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42053 (elf_mod_SOURCES): New variable.
42054 (elf_mod_CFLAGS): Likewise.
42055 (elf_mod_LDFLAGS): Likewise.
42056 * include/grub/types.h (__unused): New macro.
42057 * include/grub/elfload.h: New file.
42058 * kern/elf.c: Likewise.
42059 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42060 (ELF32_LOADMASK): New macro.
42061 (ELF64_LOADMASK): Likewise.
42062 (vmlinux): Removed.
42063 (grub_linux_load32): New function.
42064 (grub_linux_load64): Likewise.
42065 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42066 Use grub_elf_t instead of grub_file_t.
42067
a09d5aa5 420682006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42069
42070 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42071 `catch_result' to struct set_color_args.
42072
d976fc51 420732006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42074
42075 * normal/menu.c: Include grub/script.h.
42076 * normal/menu_entry.c: Likewise.
42077 * include/grub/normal.h: Do not include grub/script.h.
42078
67507549 420792006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42080
42081 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42082
69203a99 420832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42084
42085 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42086 disk.
42087 (grub_disk_close): Print debug messages when closing a disk.
42088 (grub_disk_read): Print debug messages when disk read fails.
42089 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42090 filesystem type.
42091 * kern/partition.c: Include misc.h.
42092 (grub_partition_iterate): Print debug messages when detecting
42093 partition type.
42094
e2b8278c 420952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42096
42097 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42098 is negative.
42099 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42100
97b2f2ff 421012006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42102
42103 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42104 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42105
6555d655 421062006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42107
42108 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42109 instead of sizeof(lv). Patch by Michael Guntsche.
42110
4d42b77f 421112006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42112
42113 * disk/lvm.c: Rename VGS to VG_LIST.
42114 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42115 (grub_lvm_open): Likewise.
42116 Thanks to Michael Guntsche for finding this bug.
42117
5d74d927 421182006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42119
42120 * configure.ac (AC_INIT): Bumped to 1.95.
42121
a1bb27e4 421222006-10-14 Robert Millan <rmh@aybabtu.com>
42123
42124 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42125 with "/dev/.static/dev/md".
42126
e0994b8b 421272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42128
42129 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42130 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42131 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42132 DRIVE_NAME are always freed.
42133
42134 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42135 DOS_PART, as a DOS partition is counted from one instead of zero
42136 now. Reported by Robert Millan.
42137
ddd5cee9 421382006-10-14 Robert Millan <rmh@aybabtu.com>
42139
42140 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42141 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42142 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42143 string returned by grub_guess_root_device.
42144 * util/i386/pc/grub-setup.c: Likewise.
42145 * util/i386/pc/grub-probefs.c: Likewise.
42146
42147 * util/i386/pc/grub-probefs.c: Rename to ...
42148 * util/i386/pc/grub-probe.c: ... this.
42149 * DISTLIST: Remove grub-probefs, add grub-probe.
42150 * conf/i386-efi.rmk: Likewise.
42151 * conf/i386-pc.rmk: Likewise.
42152 * util/i386/pc/grub-install.in: Likewise.
42153
42154 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42155 choose which information we want to print.
42156
2b002173 421572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42158
42159 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42160 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42161 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42162 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42163 video/readers/tga.c and video/i386/pc/vbeutil.c.
42164
421652006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42166
42167 Added support for RAID and LVM.
f19dbdb7 42168
2b002173 42169 * disk/lvm.c: New file.
42170 * disk/raid.c: Likewise.
42171 * include/grub/lvm.h: Likewise.
f19dbdb7 42172 * include/grub/raid.h: Likewise.
2b002173 42173 * include/grub/util/lvm.h: Likewise.
42174 * include/grub/util/raid.h: Likewise.
42175 * util/lvm.c: Likewise.
42176 * util/raid.c: Likewise.
42177
42178 * include/grub/disk.h (grub_disk_dev_id): Add
42179 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42180 (grub_disk_get_size): New prototype.
42181 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42182 returns a partition.
42183 (grub_disk_get_size): New function.
f19dbdb7 42184
2b002173 42185 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42186 verbatim if grub_install_dos_part is -2.
42187
42188 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42189 and LVM devices.
42190
42191 * util/i386/pc/grub-setup.c (setup): New argument
42192 MUST_EMBED. Force embedding of GRUB when the argument is
42193 true. Close FILE before returning.
42194 (main): Add support for RAID and LVM.
f19dbdb7 42195
2b002173 42196 * conf/common.rmk: Add RAID and LVM modules.
42197 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42198 util/lvm.c.
42199 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42200
42201 * kern/misc.c (grub_strstr): New function.
42202 * include/grub/misc.h (grub_strstr): New prototype.
42203
050548d0 422042006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42205
42206 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42207
da849d2d 422082006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42209
42210 * kern/misc.c (grub_strtoull): Guess the base only if not
42211 specified.
42212
97b2f2ff 422132006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42214
42215 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42216 PowerMac support.
42217
97b2f2ff 422182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 42219
42220 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42221
42222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42223 Remove `flags' argument. All callers changed.
42224 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42225 (IEEE1275_IHANDLE_INVALID): New variable.
42226 (IEEE1275_CELL_INVALID): New variable.
42227 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42228 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42229 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42230 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42231 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42232 codes from Open Firmware. All callers updated.
42233 (grub_ieee1275_next_property): Directly return Open Firmware return
42234 code.
42235 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42236 Standardize error checking from `grub_ieee1275_get_property'.
42237 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42238 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42239
97b2f2ff 422402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 42241
42242 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42243 `instance_to_package_args' to `instance_to_path_args'.
42244
42245 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42246 `grub_ieee1275_chosen'.
42247
42248 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42249 `grub_ieee1275_interpret'.
42250
97b2f2ff 422512006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42252
42253 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42254
97b2f2ff 422552006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 42256
42257 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42258 (__cmpdi): Likewise.
42259
42260 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42261 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42262 `grub_ssize_t'.
42263
02bb8acc 42264 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 42265
42266 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42267 to type `grub_ssize_t'.
42268 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42269
7f9a8531 422702006-09-22 Marco Gerards <marco@gnu.org>
42271
42272 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42273 newlines.
42274
b5ef1102 422752006-09-22 Marco Gerards <marco@gnu.org>
42276
42277 * commands/echo.c: New file.
42278
42279 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42280
42281 * conf/common.rmk (echo_mod_SOURCES): New variable.
42282 (echo_mod_CFLAGS): Likewise.
42283 (echo_mod_LDFLAGS): Likewise.
42284
2cff3677 422852006-09-22 Marco Gerards <marco@gnu.org>
42286
42287 * normal/main.c (get_line): Malloc memory instead of using
42288 preallocated memory. Removed the arguments `cmdline' and
42289 `max_len'. Updated all callers.
42290
6ba4688b 422912006-09-22 Marco Gerards <marco@gnu.org>
42292
42293 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42294 (normal_mod_DEPENDENCIES): Likewise.
42295
42296 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
42297 (normal_mod_DEPENDENCIES): Likewise.
42298
42299 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
42300
e02ac02c 423012006-09-22 Johan Rydberg <jrydberg@gnu.org>
42302
42303 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
42304 programs.
42305 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
42306 (normal_mod_DEPENDENCIES): Likewise.
42307 * conf/i386-pc.mk: Regenerate.
42308 * conf/i386-efi.mk: Likewise
42309 * conf/common.mk: Likewise.
42310 * conf/powerpc-ieee1275.mk: Likewise.
42311 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42312
8d252e44 423132006-09-22 Robert Millan <rmh@aybabtu.com>
42314
42315 Sync with i386 version.
42316 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
42317 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
42318
209bf7ac 423192006-09-21 Robert Millan <rmh@aybabtu.com>
42320
42321 Import from GRUB Legacy (lib/device.c):
42322 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
42323 (init_device_map) [__linux__]: Add support for I2O devices.
42324
6b146090 423252006-09-14 Marco Gerards <marco@gnu.org>
42326
42327 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42328 `-melf_i386'.
42329
e38600a8 423302006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 42331
42332 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42333 /boot/grub/*.lst.
78fa1790 42334
2952da5d 42335 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 42336
2952da5d 42337 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42338 before adding it to device.map.
42339
01b82a64 423402006-08-15 Johan Rydberg <jrydberg@gnu.org>
42341
fe6b695a 42342 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 42343 compiles a file; using the -MD option.
42344 * conf/common.mk: Regenerate.
42345 * conf/i386-pc.mk: Likewise.
42346 * conf/i386-efi.mk: Likewise.
42347 * conf/powerpc-ieee1275.mk: Likewise.
42348 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42349
1064790d 423502006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
42351
42352 Move the prototypes of grub_setjmp and grub_longjmp to
42353 cpu/setjmp.h, so that each architecture may specify different
42354 attributes.
f19dbdb7 42355
1064790d 42356 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
42357 (grub_longjmp): Likewise.
42358 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
42359 (grub_longjmp): Likewise.
42360 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
42361 (grub_longjmp): Likewise.
42362
42363 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
42364 [!GRUB_UTIL] (grub_longjmp): Removed.
42365
29dda3ed 423662006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
42367
42368 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
42369 "color!" method does not return any value.
42370
ad2a06ed 423712006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42372
42373 * include/grub/bitmap.h: New file.
42374
42375 * include/grub/i386/pc/vbeutil.h: Likewise.
42376
42377 * video/bitmap.c: Likewise.
42378
42379 * video/readers/tga.c: Likewise.
42380
42381 * video/i386/pc/vbeutil.c: Likewise.
42382
42383 * commands/videotest.c: Code cleanup and updated to reflect to new
42384 video API.
42385
42386 * term/gfxterm.c: Likewise.
42387
42388 * video/video.c: Likewise.
42389
42390 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
42391 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
42392 (bitmap_mod_SOURCES): New entry.
42393 (bitmap_mod_CFLAGS): Likewise.
42394 (bitmap_mod_LDFLAGS): Likewise.
42395 (tga_mod_SOURCES): Likewise.
42396 (tga_mod_CFLAGS): Likewise.
42397 (tga_mod_LDFLAGS): Likewise.
42398
42399 * include/grub/video.h (grub_video_blit_operators): New enum type.
42400 (grub_video_render_target): Changed as forward declaration and moved
42401 actual definition to be video driver specific.
42402 (grub_video_adapter.blit_bitmap): Added blitting operator.
42403 (grub_video_adapter.blit_render_target): Likewise.
42404 (grub_video_blit_bitmap): Likewise.
42405 (grub_video_blit_render_target): Likewise.
42406
42407 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
42408 driver specific render target definition.
42409 (grub_video_vbe_map_rgba): Added driver internal helper.
42410 (grub_video_vbe_unmap_color): Updated to use
42411 grub_video_i386_vbeblit_info.
42412 (grub_video_vbe_get_video_ptr): Likewise.
42413
42414 * include/grub/i386/pc/vbeblit.h
42415 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
42416 grub_video_i386_vbeblit_info.
42417 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42418 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42419 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42420 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42421 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42422 (grub_video_i386_vbeblit_index_index): Likewise.
42423 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
42424 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42425 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42426 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
42427 operator.
42428 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
42429 operator.
42430
42431 * video/i386/pc/vbeblit.c: Updated to reflect changes on
42432 include/grub/i386/pc/vbeblit.h.
42433
42434 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
42435 Updated to use grub_video_i386_vbeblit_info.
42436 (grub_video_i386_vbefill_R8G8B8): Likewise.
42437 (grub_video_i386_vbefill_index): Likewise.
42438 (grub_video_i386_vbefill): Added generic filler.
42439
42440 * video/i386/pc/vbefill.c: Updated to reflect changes on
42441 include/grub/i386/pc/vbefill.h.
42442
42443 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
42444 grub_video_i386_vbeblit_info.
42445 (grub_video_vbe_unmap_color): Likewise.
42446 (grub_video_vbe_blit_glyph): Likewise.
42447 (grub_video_vbe_scroll): Likewise.
42448 (grub_video_vbe_draw_pixel): Removed function.
42449 (grub_video_vbe_get_pixel): Likewise.
42450 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
42451 updated code to use it.
42452 (common_blitter): Added common blitter for render target and bitmap.
42453 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
42454 (grub_video_vbe_blit_render_target): Likewise.
42455
bc8c036d 424562006-07-30 Johan Rydberg <jrydberg@gnu.org>
42457
42458 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
42459 is in text mode if there is no console control protocol instance
42460 available.
42461
684a8eff 424622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42463
42464 * include/grub/video.h: Code cleanup.
42465
42466 * include/grub/i386/pc/vbe.h: Likewise.
42467
42468 * video/i386/pc/vbe.c: Likewise.
42469
42470 * video/i386/pc/vbeblit.c: Likewise.
42471
42472 * video/i386/pc/vbefill.c: Likewise.
42473
42474 * video/video.c: Likewise. Also added more comments.
42475
5915059b 424762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42477
42478 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42479 (struct grub_biosdisk_dap): Likewise.
42480
42481 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42482 linkage settings for all functions.
42483
90ce5d56 424842006-07-12 Marco Gerards <marco@gnu.org>
42485
42486 * configure.ac (--enable-mm-debug): Fix typo.
42487
42488 * genkernsyms.sh.in: Use proper quoting for `CC'.
42489
43e7f879 424902006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42491
42492 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42493 (normal_mod_ASFLAGS): Remove "-m32".
42494
4889bdec 424952006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42496
42497 * util/misc.c: Include config.h.
42498 [!HAVE_MEMALIGN]: Do not include malloc.h.
42499 (grub_memalign): Use posix_memalign, if present. Then, use
42500 memalign, if present. Otherwise, emit an error.
42501
42502 * util/grub-emu.c: Do not include malloc.h.
42503
42504 * include/grub/util/misc.h: Include unistd.h. This is required for
42505 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42506 D. Eades III <hde@foobar-qux.org>.
42507
42508 * configure.ac (AC_GNU_SOURCE): Added.
42509 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42510 type.
42511
fd39d4da 425122006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42513
42514 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42515 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42516
b786f3b5 425172006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42518
42519 * include/grub/types.h (grub_host_addr_t): Rename to
42520 grub_target_addr_t.
42521 (grub_host_off_t): Rename to grub_target_off_t.
42522 (grub_host_size_t): Rename to grub_target_size_t.
42523 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42524 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42525
42526 * include/grub/kernel.h (struct grub_module_header): Change type
42527 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42528 (grub_module_info): Likewise.
f19dbdb7 42529
051988bb 425302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42531
42532 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42533 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42534 Velazquez <jesus.velazquez@gmail.com>.
42535
deae281b 425362006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42537
42538 Count partitions from 1 instead of 0 in the string representation
42539 of partitions. Still use 0-based internally.
f19dbdb7 42540
deae281b 42541 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42542 (sun_partition_map_iterate): Use grub_partition_t instead of
42543 struct grub_partition *. Cast DESC->START_CYLINDER to
42544 grub_uint64_t after converting the endian.
42545 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42546 (sun_partition_map_get_name): Add 1 to P->INDEX.
42547
42548 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42549 PCDATA->DOS_PART.
42550 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42551
42552 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42553 zero instead of one.
42554 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42555 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42556
42557 * partmap/apple.c (apple_partition_map_iterate): Change the type
42558 of POS to unsigned.
42559 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42560 (apple_partition_map_get_name): Add 1 into P->INDEX.
42561
42562 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42563 of POS to unsigned.
42564 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42565 calculate the offset of a partition.
42566 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42567 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42568
42569 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42570 SECTOR to grub_disk_addr_t.
42571 (acorn_partition_map_iterate): Likewise.
42572 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42573 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42574 top.
42575 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42576
42577 * kern/i386/pc/init.c (make_install_device): Add 1 into
42578 GRUB_INSTALL_DOS_PART.
42579
42580 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42581 conditional.
42582
524a1e6a 425832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42584
42585 Clean up the code to support 64-bit addressing in disks and
42586 files. This change is not enough for filesystems yet.
f19dbdb7 42587
524a1e6a 42588 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42589 type of "start" to grub_uint64_t.
42590 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42591 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42592 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42593 convert addresses.
42594
42595 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42596 to grub_disk_addr_t.
42597
42598 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42599 string.
42600
42601 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42602
42603 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42604 to char *.
42605
42606 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42607
42608 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42609
42610 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42611
42612 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42613 to grub_off_t, to detect an error from grub_file_seek.
42614 (grub_multiboot_load_elf32): Likewise.
42615
42616 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42617 maximum unsigned long value when an overflow is detected.
42618 (grub_strtoull): New function.
42619 (grub_divmod64): Likewise.
42620 (grub_lltoa): use grub_divmod64.
42621
42622 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42623 grub_disk_addr_t.
42624 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42625 the pointer to next character. Use grub_strtoull instead of
42626 grub_strtoul.
42627 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42628 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42629 respectively.
42630
fe6b695a 42631 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 42632 return value is signed.
42633 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42634 test if OFFSET is less than zero, as OFFSET is unsigned now.
42635
42636 * kern/disk.c (struct grub_disk_cache): Change the type of
42637 "sector" to grub_disk_addr_t.
42638 (grub_disk_cache_get_index): Change the type of SECTOR to
42639 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42640 unsigned after shifting.
42641 (grub_disk_cache_invalidate): Change the type of SECTOR to
42642 grub_disk_addr_t.
42643 (grub_disk_cache_unlock): Likewise.
42644 (grub_disk_cache_store): Likewise.
42645 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42646 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42647 grub_disk_addr_t and grub_uint64_t, respectively.
42648 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42649 body, as the value of OFFSET is tweaked by
42650 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42651 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42652 respectively.
42653 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42654 body, as the value of OFFSET is tweaked by
42655 grub_disk_check_range. Change the types of LEN and N to
42656 grub_size_t.
42657
42658 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42659 and "saved_offset" to grub_off_t.
42660 (test_header): Cast BUF to char *.
42661 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42662 to char *.
42663 (grub_gzio_read): Change the types of OFFSET and SIZE to
42664 grub_off_t and grub_size_t, respectively.
42665
42666 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42667 Removed.
42668 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42669 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42670 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42671 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42672 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42673
42674 * include/grub/types.h (grub_off_t): Unconditionally set to
42675 grub_uint64_t.
42676 (grub_disk_addr_t): Changed to grub_uint64_t.
42677
42678 * include/grub/partition.h (struct grub_partition): Change the
42679 types of "start", "len" and "offset" to grub_disk_addr_t,
42680 grub_uint64_t and grub_disk_addr_t, respectively.
42681 (grub_partition_get_start): Return grub_disk_addr_t.
42682 (grub_partition_get_len): Return grub_uint64_t.
42683
42684 * include/grub/misc.h (grub_strtoull): New prototype.
42685 (grub_divmod64): Likewise.
42686
42687 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42688 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42689 grub_off_t, respectively.
42690 All callers and references changed.
42691
42692 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42693 grub_size_t in "read".
42694 All callers and references changed.
42695
42696 * include/grub/file.h (struct grub_file): Change the types of
42697 "offset" and "size" to grub_off_t and grub_off_t,
42698 respectively. Change the type of SECTOR to grub_disk_addr_t in
42699 "read_hook".
42700 (grub_file_read): Change the type of LEN to grub_size_t.
42701 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42702 grub_off_t.
42703 (grub_file_size): Return grub_off_t.
42704 (grub_file_tell): Likewise.
42705 All callers and references changed.
42706
42707 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42708 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42709 "write".
42710 (struct grub_disk): Change the type of "total_sectors" to
42711 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 42712 "read_hook".
524a1e6a 42713 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42714 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42715 (grub_disk_write): Likewise.
42716 All callers and references changed.
42717
42718 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42719 char * for grub_strncmp to silence gcc.
42720 (grub_iso9660_mount): Likewise.
42721 (grub_iso9660_mount): Likewise.
42722 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42723 return statement.
42724 (grub_iso9660_iterate_dir): Likewise.
42725 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42726
42727 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42728 LEN to grub_disk_addr_t and grub_size_t, respectively.
42729
42730 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42731
42732 * fs/jfs.c (grub_jfs_read_file): Likewise.
42733
42734 * fs/minix.c (grub_jfs_read_file): Likewise.
42735
42736 * fs/sfs.c (grub_jfs_read_file): Likewise.
42737
42738 * fs/ufs.c (grub_jfs_read_file): Likewise.
42739
42740 * fs/xfs.c (grub_jfs_read_file): Likewise.
42741
42742 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42743 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42744 respectively.
42745
42746 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42747 BLKNR to -1 instead of returning GRUB_ERRNO.
42748 (grub_ext2_read_file): Change the types of SECTOR and
42749 LEN to grub_disk_addr_t and grub_size_t, respectively.
42750
42751 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42752 LEN to grub_disk_addr_t and grub_size_t, respectively.
42753
42754 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42755 grub_file_read.
42756
42757 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42758 string. Do not cast SECTOR explicitly.
42759
42760 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42761 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42762 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42763 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42764 over 2TB and LBA mode is not supported, raise an error.
42765 (get_safe_sectors): New function.
42766 (grub_biosdisk_read): Use get_safe_sectors.
42767 (grub_biosdisk_write): Likewise.
42768
42769 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42770 (grub_efidisk_write): Likewise.
42771
42772 * disk/loopback.c (delete_loopback): Cosmetic changes.
42773 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42774 correctly.
42775 (grub_loopback_open): Likewise.
42776 (grub_loopback_read): Likewise. Also, change the type of POS to
42777 grub_off_t, and fix the usage of grub_memset.
42778
42779 * commands/i386/pc/play.c: Include grub/machine/time.h.
42780
42781 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42782 print FILE->SIZE.
42783
42784 * commands/configfile.c: Include grub/env.h.
42785
42786 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42787 GRUB_ERRNO directly instead. Change the type of POS to
42788 grub_off_t. Follow the coding standard.
42789
42790 * commands/blocklist.c: Include grub/partition.h.
42791 (grub_cmd_blocklist): Return an error if the underlying device is
42792 not a disk. Take the starting sector of a partition into account,
42793 if a partition is used.
42794
42795 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42796 a length field.
42797 (lba_mode): Support 64-bit addresses.
42798 (chs_mode): Likewise.
42799 (copy_buffer): Adapted to the new offsets of a length field and a
42800 segment field.
42801 (blocklist_default_start): Allocate 64-bit space.
42802
42803 * boot/i386/pc/boot.S (force_lba): Removed.
42804 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 42805 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 42806 space.
42807 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42808 is useless.
42809 (lba_mode): Refactored to support a 64-bit address. More size
42810 optimization.
42811 (setup_sectors): Likewise.
42812
53af98ad 428132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42814
42815 * DISTLIST: Added include/grub/i386/linux.h. Removed
42816 include/grub/i386/pc/linux.h
42817
42818 * configure.ac (AC_INIT): Bumped to 1.94.
42819
42820 * config.guess: Updated from gnulib.
42821 * config.sub: Likewise.
42822 * install-sh: Likewise.
42823 * mkinstalldirs: Likewise.
42824
b4c1940a 428252006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42826
42827 * conf/common.rmk (grub_modules_init.lst): Depended on
42828 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42829 MODSRCFILES.
42830
42831 * genmk.rb (PModule::rule): Reverted the previous change.
42832
cfca1cfd 428332006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42834
42835 * conf/common.rmk (grub_modules_init.lst): Depends on
42836 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42837 that the target does not exist before producing.
42838 (grub_modules_init.h): Remove the target before generating.
42839 (grub_emu_init.c): Likewise.
42840
42841 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42842
aa6d7826 428432006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42844
42845 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42846 for the target-specific tests. Make sure that we also have the
42847 up-to-date target variables for those tests.
42848
26c607b9 428492006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42850
42851 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42852 (PModule::rule): Likewise.
42853
0162321a 428542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42855
42856 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42857 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42858 target-specific flags should be prefixed.
42859 (PModule::rule): Likewise.
42860
6c826348 428612006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42862
42863 * configure.ac (CMP): Check if cmp is available explicitly.
42864
b977bf01 428652006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42866
42867 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42868 (target_cpu): New variable.
42869 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 42870
b977bf01 42871 * util/i386/pc/grub-install.in (host_cpu): Removed.
42872 (target_cpu): New variable.
42873 (pkglibdir): Use target_cpu instead of host_cpu.
42874
42875 * util/genmoddep.c: Removed.
f19dbdb7 42876
b977bf01 42877 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42878 instead of GRUB_HOST_SIZEOF_VOID_P.
42879 * kern/dl.c: Likewise.
42880
42881 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42882 ...
42883 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42884 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42885 (GRUB_TARGET_SIZEOF_LONG): ... this.
42886 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42887 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42888 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42889 to ...
42890 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42891 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42892 (GRUB_TARGET_SIZEOF_LONG): ... this.
42893 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42894 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42895 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42896 to ...
42897 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42898 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42899 (GRUB_TARGET_SIZEOF_LONG): ... this.
42900 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42901 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42902
42903 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42904 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42905 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42906 instead of GRUB_HOST_SIZEOF_LONG.
42907 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42908 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42909 GRUB_CPU_WORDS_BIGENDIAN.
42910 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42911 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42912 grub_host_ssize_t.
42913
42914 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42915 (genmoddep_SOURCES): Likewise.
42916 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42917 (genmoddep_SOURCES): Likewise.
42918 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42919 (genmoddep_SOURCES): Likewise.
42920 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42921 Likewise.
42922 (genmoddep_SOURCES): Likewise.
42923
42924 * genmoddep.awk: New file.
42925
42926 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42927 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42928 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42929 (PModule::rule): Likewise.
42930 (Program::rule): Likewise.
42931 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42932 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42933 respectively.
42934
42935 * configure.ac: Rewritten intensively to use host and target
42936 instead of build and host, respectively.
42937
42938 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42939 (host_cpu): Removed.
42940 (target_cpu): New variable.
42941 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42942 (BUILD_CC): Removed.
42943 (BUILD_CFLAGS): Likewise.
42944 (BUILD_CPPFLAGS): Likewise.
42945 (TARGET_CC): New variable.
42946 (TARGET_CFLAGS): Likewise.
42947 (TARGET_CPPFLAGS): Likewise.
42948 (TARGET_LDFLAGS): Likewise.
42949 (AWK): Likewise.
42950 (include): Use target_cpu instead of host_cpu.
42951 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 42952
b977bf01 42953 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42954
f09771a1 429552006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42956
42957 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42958 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42959 field 'false' to 'exec_on_false'.
42960 (grub_script_create_cmdif): Renamed argument names to reflect above
42961 changes.
42962
42963 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42964
42965 * normal/script.c (grub_script_create_cmdif): Likewise.
42966
118f4fb3 429672006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42968
42969 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42970 top.
42971 (grub_hfsplus_btree_recptr): Likewise.
42972 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42973 FILEBLOCK both to pass a block number and store next block
42974 number.
42975 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42976 overflow file correctly. Specify errors appropriately, because
42977 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42978 grub_hfsplus_btree_recptr to get the pointer to a found key.
42979 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42980 is found.
42981
42982 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42983 linux.mod.
42984 (_linux_mod_SOURCES): New variable.
42985 (_linux_mod_CFLAGS): Likewise.
42986 (_linux_mod_LDFLAGS): Likewise.
42987 (linux_mod_SOURCES): Likewise.
42988 (linux_mod_CFLAGS): Likewise.
42989 (linux_mod_LDFLAGS): Likewise.
42990
42991 * DISTLIST: Added loader/i386/efi/linux.c,
42992 loader/i386/efi/linux_normal.c and
42993 include/grub/i386/efi/loader.h.
42994
42995 * loader/i386/efi/linux.c: New file.
42996 * loader/i386/efi/linux_normal.c: Likewise.
42997 * include/grub/i386/efi/loader.h: Likewise.
42998
89a7d726 429992006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43000
43001 * commands/blocklist.c: New file.
43002
43003 * DISTLIST: Added commands/blocklist.c.
43004
43005 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 43006 color for the background, and a darker color for the foreground.
89a7d726 43007 (grub_console_checkkey): Return READ_KEY.
43008 (grub_console_cls): Set the background to
43009 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43010
43011 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43012
43013 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43014 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43015
43016 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43017 prototype.
43018
43019 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43020 BG. The spec is wrong again.
43021
43022 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43023 prototype.
43024 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43025
43026 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43027 commands/blocklist.c.
43028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43029
89a7d726 43030 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43031 (blocklist_mod_SOURCES): New variable.
43032 (blocklist_mod_CFLAGS): Likewise.
43033 (blocklist_mod_LDFLAGS): Likewise.
43034
75c8f258 430352006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43036
43037 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43038 duplication.
43039 (lba_mode): Use %eax more intensively to reduce the code size.
43040
da2eb181 430412006-05-20 Marco Gerards <marco@gnu.org>
43042
43043 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43044
43045 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43046 for `menuentry'.
43047 (script): Accept leading newlines.
43048 (newlines): New rule to describe 0 or more newlines.
43049 (commands): Accept `command' with trailing newline. Fixed the
43050 order in which arguments were passed to `grub_script_add_cmd'.
43051 Accept commands separated by newlines.
43052 (function): Changed to accept newlines.
43053 (menuentry) Rewritten.
43054
43055 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43056 front of the list, instead of to the end.
43057
577b4050 430582006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43059
43060 * util/i386/pc/grub-install.in (bindir): New variable.
43061 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43062 Shaver <lbgwjl@gmail.com>.
43063
0d6e1189 430642006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43065
43066 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43067 grub/machine/linux.h
43068 * loader/i386/pc/linux.c: Likewise.
43069
43070 * include/grub/i386/pc/linux.h: Moved to ...
43071 * include/grub/i386/linux.h: ... here.
43072
43073 * include/grub/i386/linux.h (struct linux_kernel_params): New
43074 struct.
f19dbdb7 43075
31b86e9f 430762006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43077
43078 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43079 checking.
43080 (grub_video_vbe_blit_glyph): Likewise.
43081 (grub_video_vbe_blit_bitmap): Likewise.
43082 (grub_video_vbe_blit_render_target): Likewise.
43083
83b984de 430842006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43085
43086 * configure.ac (--with-platform): Properly quote the square
43087 brackets.
43088
5f0413bd 430892006-05-08 Marco Gerards <marco@gnu.org>
43090
43091 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43092 this...
43093 (kernel_elf_HEADERS): ...to this. Updated all users.
43094 (grubof_symlist.c): Renamed from this...
43095 (kernel_elf_symlist.c): ...to this. Updated all users.
43096 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43097 (grubof_SOURCES): Renamed from this...
43098 (kernel_elf_SOURCES): ...to this.
43099 (grubof_HEADERS): Renamed from this...
43100 (kernel_elf_HEADERS): ...to this.
43101 (grubof_CFLAGS): Renamed from this...
43102 (kernel_elf_CFLAGS): ...to this.
43103 (grubof_ASFLAGS): Renamed from this...
43104 (kernel_elf_ASFLAGS): ...to this.
43105 (grubof_LDFLAGS): Renamed from this...
43106 (kernel_elf_LDFLAGS): ...to this.
43107
43108 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43109 this...
43110 (kernel_elf_HEADERS): ...to this. Updated all users.
43111 (grubof_symlist.c): Renamed from this...
43112 (kernel_elf_symlist.c): ...to this. Updated all users.
43113 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43114 (grubof_SOURCES): Renamed from this...
43115 (kernel_elf_SOURCES): ...to this.
43116 (grubof_HEADERS): Renamed from this...
43117 (kernel_elf_HEADERS): ...to this.
43118 (grubof_CFLAGS): Renamed from this...
43119 (kernel_elf_CFLAGS): ...to this.
43120 (grubof_ASFLAGS): Renamed from this...
43121 (kernel_elf_ASFLAGS): ...to this.
43122 (grubof_LDFLAGS): Renamed from this...
43123 (kernel_elf_LDFLAGS): ...to this.
43124
43125 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43126 `kernel.elf' instead of `grubof'.
43127
05568c2e 431282006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43129
43130 Add --with-platform to configure. Use pkglibdir instead of
43131 pkgdatadir. This is reported by Roger Leigh.
43132
43133 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43134 (host_vendor): Likewise.
43135 (host_os): Likewise.
43136 (pkgdatadir): Likewise.
43137 (platform): New variable.
43138 (pkglibdir): Likewise.
43139 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43140
05568c2e 43141 * util/i386/pc/grub-install.in (datadir): Removed.
43142 (host_vendor): Likewise.
43143 (host_os): Likewise.
43144 (pkgdatadir): Likewise.
43145 (platform): New variable.
43146 (pkglibdir): Likewise.
43147 Use PKGLIBDIR instead of PKGDATADIR.
43148
43149 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43150 instead of GRUB_DATADIR.
43151 (main): Likewise.
43152 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43153 (main): Likewise.
43154 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43155 (main): Likewise.
43156
43157 * configure.ac (--with-platform): New option.
43158 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43159
43160 * Makefile.in: Include a makefile based on PLATFORM instead of
43161 HOST_VENDOR.
43162 (pkgdatadir): Not appended by the machine type.
43163 (pkglibdir): Appended by the machine type.
43164 (host_vendor): Removed.
43165 (platform): New variable.
43166 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43167 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43168 (uninstall): Likewise.
43169
4e93851c 431702006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43171
43172 Use the environment context in the menu. Remove the commands
43173 "default" and "timeout", and use variables instead.
f19dbdb7 43174
4e93851c 43175 * normal/menu.c: Include grub/env.h.
43176 (print_entry): Cast TITLE to silence gcc.
43177 (get_timeout): New function.
43178 (set_timeout): Likewise.
43179 (get_entry_number): Likewise.
43180 (run_menu): Use a default entry, a fallback entry and a timeout
43181 in the environment variables "default", "fallback" and
43182 "timeout". Also, tweak the default entry if it is not within the
43183 current menu entries.
43184 (grub_menu_run): Use a fallback entry in the environment variable
43185 "fallback".
43186
43187 * normal/main.c (read_config_file): Do not initialize
43188 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43189 NEWMENU->TIMEOUT.
43190 (grub_normal_execute): Use a data slot to store the menu.
43191
43192 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43193 fallback_entry and timeout.
43194 (struct grub_menu_list): Removed.
43195 (grub_menu_list_t): Likewise.
43196 (struct grub_context): Likewise.
43197 (grub_context_t): Likewise.
43198 (grub_context_get): Likewise.
43199 (grub_context_get_current_menu): Likewise.
43200 (grub_context_push_menu): Likewise.
43201 (grub_context_pop_menu): Likewise.
43202 (grub_default_init): Likewise.
43203 (grub_default_fini): Likewise.
43204 (grub_timeout_init): Likewise.
43205 (grub_timeout_fini): Likewise.
43206
43207 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43208 and timeout.mod.
43209 (normal_mod_SOURCES): Removed normal/context.c.
43210
43211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43212 commands/default.c, commands/timeout.c and normal/context.c.
43213 (normal_mod_SOURCES): Removed normal/context.c.
43214
43215 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43216 commands/timeout.c and normal/context.c.
43217 (normal_mod_SOURCES): Removed normal/context.c.
43218
43219 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43220 commands/default.c, commands/timeout.c and normal/context.c.
43221 (normal_mod_SOURCES): Removed normal/context.c.
43222
43223 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43224 timeout.mod.
43225 (default_mod_SOURCES): Removed.
43226 (default_mod_CFLAGS): Likewise.
43227 (default_mod_LDFLAGS): Likewise.
43228 (timeout_mod_SOURCES): Removed.
43229 (timeout_mod_CFLAGS): Likewise.
43230 (timeout_mod_LDFLAGS): Likewise.
43231
43232 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43233 normal/context.c.
43234
43235 * commands/default.c: Removed.
43236 * commands/timeout.c: Likewise.
43237 * normal/context.c: Likewise.
43238
1eb9cc1d 432392006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43240
43241 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43242
385bd9c1 432432006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43244
43245 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43246 "next" to "prev" for readability.
43247 (struct grub_env_sorted_var): New struct.
43248 (grub_env_context): Renamed to ...
43249 (initial_context): ... this.
43250 (grub_env_var_context): Renamed to ...
43251 (current_context): ... this.
43252 (grub_env_find): Look only at CURRENT_CONTEXT.
43253 (grub_env_context_open): Rewritten to copy exported variables from
43254 previous context.
43255 (grub_env_context_close): Rewritten according to the new
43256 scheme. Also, add an assertion to prevent the initial context from
43257 removed.
43258 (grub_env_insert): Removed the code for the sorted list.
43259 (grub_env_remove): Likewise.
43260 (grub_env_export): Simply mark the variable with
43261 GRUB_ENV_VAR_GLOBAL.
43262 (grub_env_set): A cosmetic change for naming consistency.
43263 (grub_env_get): Likewise.
43264 (grub_env_unset): Likewise.
43265 (grub_env_iterate): Rewritten to sort variables within this
43266 function.
43267 (grub_register_variable_hook): Fixed for naming consistency. Call
43268 grub_env_find again, only if NAME is not found at the first time.
43269 (mangle_data_slot_name): New function.
43270 (grub_env_set_data_slot): Likewise.
43271 (grub_env_get_data_slot): Likewise.
43272 (grub_env_unset_data_slot): Likewise.
43273
43274 * include/grub/env.h (grub_env_var_type): New enum.
43275 (GRUB_ENV_VAR_LOCAL): New constant.
43276 (GRUB_ENV_VAR_GLOBAL): Likewise.
43277 (GRUB_ENV_VAR_DATA): Likewise.
43278 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43279 "type".
43280 (grub_env_set): Replace VAR with NAME for consistency.
43281 (grub_register_variable_hook): Likewise.
43282 (grub_env_export): Specify the name of the argument.
43283 (grub_env_set_data_slot): New prototype.
43284 (grub_env_get_data_slot): Likewise.
43285 (grub_env_unset_data_slot): Likewise.
43286
7f362539 432872006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43288
43289 Extend the loader so that GRUB can accept a loader which comes
43290 back to GRUB when a loaded image exits. Also, this change adds
43291 support for a chainloader on EFI.
f19dbdb7 43292
7f362539 43293 * term/efi/console.c: Include grub/misc.h.
43294 (grub_console_checkkey): Display a scan code on the top for
43295 debugging. This will be removed once the EFI port gets stable.
43296 Correct the scan code mapping.
43297
43298 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
43299 allocate memory from larger regions, in order to reduce the number
43300 of allocated regions. Otherwise, the MacOSX loader panics.
43301 (filter_memory_map): Avoid less than 1MB for compatibility with
43302 other loaders.
43303 (add_memory_regions): Allocate from the tail of a region, if
43304 possible, to avoid allocating a region near to 1MB, for the MacOSX
43305 loader.
43306
43307 * kern/efi/init.c (grub_efi_set_prefix): Specify
43308 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
43309
43310 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
43311 argument IMAGE_HANDLE and specify it to get a loaded image.
43312 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
43313 grub_efi_get_loaded_image.
fe6b695a 43314 (grub_efi_get_filename): Divide the length by the size of
7f362539 43315 grub_efi_char16_t.
43316 (grub_efi_get_device_path): New function.
43317 (grub_efi_print_device_path): Print End Device Path nodes. Divide
43318 the length by the size of grub_efi_char16_t for a file path device
43319 path node.
43320
43321 * kern/loader.c (grub_loader_noreturn): New variable.
43322 (grub_loader_set): Accept a new argument NORETURN. Set
43323 GRUB_LOADER_NORETURN to NORETURN.
43324 All callers changed.
43325 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
43326 grub_machine_fini.
43327
43328 * include/grub/efi/efi.h (grub_efi_get_device_path): New
43329 prototype.
43330 (grub_efi_get_loaded_image): Take an argument to specify an image
43331 handle.
43332
43333 * include/grub/loader.h (grub_loader_set): Added one more argument
43334 NORETURN.
43335
43336 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
43337 instead of grub_efi_open_protocol.
43338 (grub_efidisk_get_device_name): Likewise.
43339 (grub_efidisk_close): Print a newline.
43340 (grub_efidisk_get_device_handle): Fixed to use
43341 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
43342 GRUB_EFI_DEVICE_PATH_TYPE.
43343
43344 * disk/efi/efidisk.c (device_path_guid): Moved to ...
43345 * kern/efi/efi.c (device_path_guid): ... here.
43346
43347 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
43348 chain.mod.
43349 (kernel_mod_HEADERS): Added efi/disk.h.
43350 (_chain_mod_SOURCES): New variable.
43351 (_chain_mod_CFLAGS): Likewise.
43352 (_chain_mod_LDFLAGS): Likewise.
43353 (chain_mod_SOURCES): Likewise.
43354 (chain_mod_CFLAGS): Likewise.
43355 (chain_mod_LDFLAGS): Likewise.
43356
43357 * DISTLIST: Added include/grub/efi/chainloader.h,
43358 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
43359
43360 * include/grub/efi/chainloader.h: New file.
43361 * loader/efi/chainloader.c: Likewise.
43362 * loader/efi/chainloader_normal.c: Likewise.
43363
c0111d6e 433642006-04-30 Marco Gerards <marco@gnu.org>
43365
43366 * commands/configfile.c (grub_cmd_source): New function.
43367 (GRUB_MOD_INIT): Register the commands `source' and `.'.
43368 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
43369
df5341da 433702006-04-30 Marco Gerards <marco@gnu.org>
43371
43372 * normal/execute.c (grub_script_execute_cmd): Change the return
43373 type to `grub_err_t'. Correctly return the error.
43374 (grub_script_execute_cmdline): In case a command line is not a
43375 command or a function, try to interpret it as an assignment.
43376
f85934bd 433772006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43378
43379 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
43380 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
43381 skip a node whose name is obviously invalid as UTF-16,
43382 i.e. contains a NUL character. Stop the iteration when the last
43383 directory entry is found. Instead of using the return value of
43384 grub_hfsplus_btree_iterate_node, store the value in RET and use
43385 it, because the iterator can be stopped by the last directory
43386 entry.
43387
8f8a2cf8 433882006-04-30 Marco Gerards <marco@gnu.org>
43389
43390 * include/grub/env.h (grub_env_export): New prototype. Reported
43391 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
43392
a27e84ce 433932006-04-30 Marco Gerards <marco@gnu.org>
43394
43395 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
43396 size of the extents in a catalog file record.
43397
eaef0553 433982006-04-29 Marco Gerards <marco@gnu.org>
43399
43400 * commands/configfile.c (grub_cmd_configfile): Execute the
43401 configfile within its own context.
43402
43403 * include/grub/env.h (grub_env_context_open): New prototype.
43404 (grub_env_context_close): Likewise.
43405
43406 * kern/env.c (grub_env): Removed.
43407 (grub_env_sorted): Likewise.
43408 (grub_env_context): New variable.
43409 (grub_env_var_context): Likewise.
43410 (grub_env_find): Search both the active context and the global
43411 context.
43412 (grub_env_context_open): New function.
43413 (grub_env_context_close): Likewise.
43414 (grub_env_insert): Likewise.
43415 (grub_env_remove): Likewise.
43416 (grub_env_export): Likewise.
43417 (grub_env_set): Changed to use helper functions to avoid code
43418 duplication.
43419 (grub_env_iterate): Rewritten so both the current context and the
43420 global context are being used.
43421
43422 * normal/command.c (export_command): New function.
43423 (grub_command_init): Register the `export' function.
43424
7b455f4d 434252006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
43426
43427 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
43428 explicitly to suppress gcc's warnings.
43429 * fs/fat.c (grub_fat_find_dir): Likewise.
43430 (grub_fat_label): Likewise.
43431 * fs/xfs.c (grub_xfs_read_inode): Likewise.
43432 (grub_xfs_mount): Likewise.
43433 (grub_xfs_label): Likewise.
43434 * fs/affs.c (grub_affs_mount): Likewise.
43435 (grub_affs_label): Likewise.
43436 (grub_affs_iterate_dir): Likewise.
43437 * fs/sfs.c (grub_sfs_mount): Likewise.
43438 (grub_sfs_iterate_dir): Likewise.
43439 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
43440 * fs/hfs.c (grub_hfs_mount): Likewise.
43441 (grub_hfs_cmp_catkeys): Likewise.
43442 (grub_hfs_find_dir): Likewise.
43443 (grub_hfs_dir): Likewise.
43444 (grub_hfs_label): Likewise.
43445 * fs/jfs.c (grub_jfs_mount): Likewise.
43446 (grub_jfs_opendir): Likewise.
43447 (grub_jfs_getent): Likewise.
43448 (grub_jfs_lookup_symlink): Likewise.
43449 (grub_jfs_label): Likewise.
43450 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
43451 (grub_hfsplus_iterate_dir): Likewise.
43452 (grub_hfsplus_btree_iterate_node): Made static.
43453
43454 * util/grub-emu.c (prefix): New variable.
43455 (grub_machine_set_prefix): New function.
43456 (main): Do not set the environment variable "prefix" here. Only
43457 set PREFIX, which is used later by grub_machine_set_prefix.
43458
43459 * include/grub/video.h: Do not include grub/symbol.h.
43460 (grub_video_register): Not exported. This symbol is not defined in
43461 the kernel.
43462 (grub_video_unregister): Likewise.
43463 (grub_video_iterate): Likewise.
43464 (grub_video_setup): Likewise.
43465 (grub_video_restore): Likewise.
43466 (grub_video_get_info): Likewise.
43467 (grub_video_get_blit_format): Likewise.
43468 (grub_video_set_palette): Likewise.
43469 (grub_video_get_palette): Likewise.
43470 (grub_video_set_viewport): Likewise.
43471 (grub_video_get_viewport): Likewise.
43472 (grub_video_map_color): Likewise.
43473 (grub_video_map_rgb): Likewise.
43474 (grub_video_map_rgba): Likewise.
43475 (grub_video_fill_rect): Likewise.
43476 (grub_video_blit_glyph): Likewise.
43477 (grub_video_blit_bitmap): Likewise.
43478 (grub_video_blit_render_target): Likewise.
43479 (grub_video_scroll): Likewise.
43480 (grub_video_swap_buffers): Likewise.
43481 (grub_video_create_render_target): Likewise.
43482 (grub_video_delete_render_target): Likewise.
43483 (grub_video_set_active_render_target): Likewise.
43484
43485 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43486 Undefined.
43487 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43488
43489 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43490 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43491 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43492 instead of $(srcdir)/genkernsyms.sh.
43493
43494 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43495 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43496 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43497 instead of $(srcdir)/genkernsyms.sh.
43498
43499 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43500 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43501 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43502 instead of $(srcdir)/genkernsyms.sh.
43503
43504 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43505 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43506 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43507 instead of $(srcdir)/genkernsyms.sh.
43508
43509 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43510 genkernsyms.sh.
43511
43512 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43513 genkernsyms.sh.
43514 (gensymlist.sh): New target.
43515 (genkernsyms.sh): Likewise.
43516
43517 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43518 genkernsyms.sh.in and gensymlist.sh.in.
43519
43520 * genkernsyms.sh: Removed.
43521 * gensymlist.sh: Likewise.
f19dbdb7 43522
7b455f4d 43523 * genkernsyms.sh.in: New file.
43524 * gensymlist.sh.in: Likewise.
43525
1885bb27 435262006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43527
43528 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43529 clobber "prefix", since we may have already set it manually.
43530
71538dff 435312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43532
43533 * kern/misc.c (abort): New alias for grub_abort.
43534
2965c7cc 435352006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43536
43537 A new machine-specific function "grub_machine_set_prefix" is
43538 defined. This is called after loading modules, so that a prefix
43539 initialization can use modules. Also, this change adds an
43540 intensive debugging feature for the memory manager via the
43541 configure option "--enable-mm-debug".
f19dbdb7 43542
2965c7cc 43543 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43544 PART.LEN.
43545
43546 * kern/sparc64/ieee1275/init.c (abort): Removed.
43547 (grub_stop): Likewise.
43548 (grub_exit): New function.
43549 (grub_set_prefix): Renamed to ...
43550 (grub_machine_set_prefix): ... this.
43551 (grub_machine_init): Do not call grub_set_prefix.
43552
43553 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43554 (grub_machine_set_prefix): ... this.
43555 (grub_machine_init): Do not call grub_set_prefix.
43556
43557 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43558 (grub_machine_init): Do not set the prefix here.
43559
43560 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43561
43562 * kern/efi/init.c: Include grub/mm.h.
43563 (grub_efi_set_prefix): New function.
43564
43565 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43566 (grub_efi_get_filename): New function.
43567 (grub_print_device_path): Renamed to ...
43568 (grub_efi_print_device_path): ... this.
43569
43570 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43571 [MM_DEBUG] (grub_realloc): Likewise.
43572 [MM_DEBUG] (grub_free): Likewise.
43573 [MM_DEBUG] (grub_memalign): Likewise.
43574 [MM_DEBUG] (grub_mm_debug): New variable.
43575 [MM_DEBUG] (grub_debug_malloc): New function.
43576 [MM_DEBUG] (grub_debug_free): New function.
43577 [MM_DEBUG] (grub_debug_realloc): New function.
43578 [MM_DEBUG] (grub_debug_memalign): New function.
43579
43580 * kern/misc.c (grub_abort): Print a newline to distinguish
43581 the message.
43582
43583 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43584 grub_set_root_dev after loading modules. This is necessary when
43585 setting a prefix depends on modules.
43586
43587 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43588 (grub_efi_print_device_path): ... this.
43589 (grub_efi_get_filename): New prototype.
43590 (grub_efi_set_prefix): Likewise.
43591
43592 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43593 and grub/disk.h.
43594 (grub_efidisk_get_device_handle): New prototype.
43595 (grub_efidisk_get_device_name): Likewise.
43596
43597 * include/grub/mm.h: Include config.h.
43598 (MM_DEBUG): Removed.
43599 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43600 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43601 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43602 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43603 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43604 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43605 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43606 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43607 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43608
43609 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43610
43611 * disk/efi/efidisk.c: Include grub/partition.h.
43612 (iterate_child_devices): New function.
43613 (add_device): First, compare only last device path nodes, so that
43614 devices are sorted by the types.
43615 (grub_efidisk_get_device_handle): New function.
43616 (grub_efidisk_get_device_name): Likewise.
43617
43618 * configure.ac (--enable-mm-debug): New option to enable the
43619 memory manager debugging feature. This makes the binary much
43620 bigger, so is disabled by default.
43621
9cacaa17 436222006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43623
43624 Use grub_abort instead of grub_stop, and grub_exit must be
43625 define in each architecture now. Also, this change adds support
43626 for EFI disks.
f19dbdb7 43627
9cacaa17 43628 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43629 (grub_getkey): New function.
43630 (grub_term_get_current): Likewise.
43631
43632 * util/i386/pc/grub-setup.c: Include grub/term.h.
43633 (grub_getkey): New function.
43634 (grub_term_get_current): Likewise.
43635
43636 * util/misc.c (grub_stop): Renamed to ...
43637 (grub_exit): ... this.
43638
43639 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43640 (grub_exit): ... this.
43641 (grub_machine_init): Use grub_abort instead of abort.
43642 (grub_stop): Removed.
43643
43644 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43645 abort.
43646
43647 * kern/i386/pc/startup.S (grub_exit): New function.
43648 (cold_reboot): New label.
43649
43650 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43651 (grub_efi_init): Call grub_efidisk_init.
43652 (grub_efi_fini): Call grub_efidisk_fini.
43653
43654 * kern/efi/efi.c: Include grub/mm.h.
43655 (grub_efi_console_control_guid): Renamed to ...
43656 (console_control_guid): ... this.
43657 (grub_efi_loaded_image_guid): Renamed to ...
43658 (loaded_image_guid): ... this.
43659 (grub_efi_locate_handle): New function.
43660 (grub_efi_open_protocol): Likewise.
43661 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43662 GRUB_EFI_CONSOLE_CONTROL_GUID.
43663 (grub_efi_exit): Removed.
43664 (grub_stop): Likewise.
43665 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43666 (grub_exit): New function.
43667 (grub_print_device_path): Likewise.
43668
43669 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43670 (grub_enter_rescue_mode): Register "exit".
43671
43672 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43673 (grub_abort): New function.
43674
43675 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43676
43677 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43678
43679 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43680
43681 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43682 (grub_print_device_path): New prototype.
43683 (grub_efi_locate_handle): Likewise.
43684 (grub_efi_open_protocol): Likewise.
43685
43686 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43687 * disk/efi/efidisk.c: Likewise.
43688
43689 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43690
43691 * include/grub/efi/console_control.h
43692 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43693
43694 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43695 last 8 bytes as an array.
43696 (GRUB_EFI_DISK_IO_GUID): New macro.
43697 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43698 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43699 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43700 grub_uint8_t.
43701 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43702 (struct grub_efi_device_path): Rename the member "sub_type" to
43703 "subtype".
43704 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43705 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43706 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43707 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43708 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43709 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43710 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43711 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43712 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43713 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43714 (struct grub_efi_pci_device_path): New structure.
43715 (grub_efi_pci_device_path_t): New type.
43716 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43717 (struct grub_efi_pccard_device_path): New structure.
43718 (grub_efi_pccard_device_path_t): New type.
43719 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43720 (struct grub_efi_memory_mapped_device_path): New structure.
43721 (grub_efi_memory_mapped_device_path_t): New type.
43722 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43723 (struct grub_efi_vendor_device_path): New structure.
43724 (grub_efi_vendor_device_path_t): New type.
43725 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43726 (struct grub_efi_controller_device_path): New structure.
43727 (grub_efi_controller_device_path_t): New type.
43728 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43729 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43730 (struct grub_efi_acpi_device_path): New structure.
43731 (grub_efi_acpi_device_path_t): New type.
43732 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43733 (struct grub_efi_expanded_acpi_device_path): New structure.
43734 (grub_efi_expanded_acpi_device_path_t): New type.
43735 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43736 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43737 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43738 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43739 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43740 (struct grub_efi_atapi_device_path): New structure.
43741 (grub_efi_atapi_device_path_t): New type.
43742 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43743 (struct grub_efi_fibre_channel_device_path): New structure.
43744 (grub_efi_fibre_channel_device_path_t): New type.
43745 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43746 (struct grub_efi_1394_device_path): New structure.
43747 (grub_efi_1394_device_path_t): New type.
43748 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43749 (struct grub_efi_usb_device_path): New structure.
43750 (grub_efi_usb_device_path_t): New type.
43751 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43752 (struct grub_efi_usb_class_device_path): New structure.
43753 (grub_efi_usb_class_device_path_t): New type.
43754 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43755 (struct grub_efi_i2o_device_path): New structure.
43756 (grub_efi_i2o_device_path_t): New type.
43757 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43758 (struct grub_efi_mac_address_device_path): New structure.
43759 (grub_efi_mac_address_device_path_t): New type.
43760 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43761 (struct grub_efi_ipv4_device_path): New structure.
43762 (grub_efi_ipv4_device_path_t): New type.
43763 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43764 (struct grub_efi_ipv6_device_path): New structure.
43765 (grub_efi_ipv6_device_path_t): New type.
43766 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43767 (struct grub_efi_infiniband_device_path): New structure.
43768 (grub_efi_infiniband_device_path_t): New type.
43769 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43770 (struct grub_efi_uart_device_path): New structure.
43771 (grub_efi_uart_device_path_t): New type.
43772 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43773 (struct grub_efi_vendor_messaging_device_path): New structure.
43774 (grub_efi_vendor_messaging_device_path_t): New type.
43775 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43776 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43777 (struct grub_efi_hard_drive_device_path): New structure.
43778 (grub_efi_hard_drive_device_path_t): New type.
43779 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43780 (struct grub_efi_cdrom_device_path): New structure.
43781 (grub_efi_cdrom_device_path_t): New type.
43782 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43783 (struct grub_efi_vendor_media_device_path): New structure.
43784 (grub_efi_vendor_media_device_path_t): New type.
43785 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43786 (struct grub_efi_file_path_device_path): New structure.
43787 (grub_efi_file_path_device_path_t): New type.
43788 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43789 (struct grub_efi_protocol_device_path): New structure.
43790 (grub_efi_protocol_device_path_t): New type.
43791 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43792 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43793 (struct grub_efi_bios_device_path): New structure.
43794 (grub_efi_bios_device_path_t): New type.
43795 (struct grub_efi_disk_io): New structure.
43796 (grub_efi_disk_io_t): New type.
43797 (struct grub_efi_block_io_media): New structure.
43798 (grub_efi_block_io_media_t): New type.
43799 (struct grub_efi_block_io): New structure.
43800 (grub_efi_block_io_t): New type.
43801
43802 * include/grub/misc.h (grub_stop): Removed.
43803 (grub_exit): New prototype.
43804 (grub_abort): Likewise.
43805
43806 * include/grub/disk.h (enum grub_disk_dev_id): Added
43807 GRUB_DISK_DEVICE_EFIDISK_ID.
43808
43809 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43810 disk/efi/efidisk.c.
43811 (kernel_syms.lst): Remove the target if an error occurs.
43812
49986a9f 438132006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43814
43815 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43816 as it was simply too buggy.
43817
970d3b8a 438182006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43819
43820 * kern/misc.c (grub_lltoa): New function.
43821 (grub_vsprintf): Added support for the long long suffix,
43822 i.e. "ll".
43823
ff04ec24 438242006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43825
43826 * Makefile.in (LDFLAGS): Add variable.
43827 (LD): Remove variable.
43828 * configure.ac: Add -m32 to LDFLAGS.
43829 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43830 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43831 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43832 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43833 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43834 variables.
43835 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43836 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43837 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43838
37e5e1a4 438392006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43840
43841 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43842 length for unknown glyph.
43843
c352d8dd 438442006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43845
2eab1c0d 43846 Add support for pre-loaded modules into the EFI port.
f19dbdb7 43847
2eab1c0d 43848 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43849 completely. Accept one more argument DIR. The caller has changed.
43850
43851 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43852
43853 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43854 (grub_efi_loaded_image_guid): New variable.
43855 (grub_efi_get_loaded_image): New function.
43856 (grub_arch_modules_addr): Likewise.
43857
43858 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43859 prototype.
43860
43861 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43862 (struct grub_efi_loaded_image): New structure.
43863 (grub_efi_loaded_image_t): New type.
43864
438652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43866
c352d8dd 43867 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43868 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43869 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43870
6d01d6b4 438712006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43872
43873 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43874
976a4ea0 438752006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 * DISTLIST: Added include/grub/efi/console.h,
43878 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43879 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43880
43881 * include/grub/efi/console.h: New file.
43882 * include/grub/efi/time.h: Likewise.
43883 * include/grub/i386/efi/kernel.h: Likewise.
43884 * kern/efi/init.c: Likewise.
43885 * kern/efi/mm.c: Likewise.
43886 * term/efi/console.c: Likewise.
f19dbdb7 43887
976a4ea0 43888 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43889 (grub_stop): Removed.
43890 (grub_get_rtc): Likewise.
43891 (grub_machine_init): Simply call grub_efi_init.
43892 (grub_machine_fini): Call grub_efi_fini.
43893
43894 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43895 (grub_efi_output_string): Removed.
43896 (grub_efi_stall): New function.
43897 (grub_stop): Likewise.
43898 (grub_get_rtc): Likewise.
43899
43900 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43901 (grub_efi_stall): New prototype.
43902 (grub_efi_allocate_pages): Likewise.
43903 (grub_efi_free_pages): Likewise.
43904 (grub_efi_get_memory_map): Likewise.
43905 (grub_efi_mm_init): Likewise.
43906 (grub_efi_mm_fini): Likewise.
43907 (grub_efi_init): Likewise.
43908 (grub_efi_fini): Likewise.
43909
43910 * include/grub/i386/efi/time.h: Do not include
43911 grub/symbol.h. Include grub/efi/time.h.
43912 (GRUB_TICKS_PER_SECOND): Removed.
43913 (grub_get_rtc): Likewise.
43914
43915 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43916 Added padding. The EFI spec is buggy.
43917 (GRUB_EFI_BLACK): New macro.
43918 (GRUB_EFI_BLUE): Likewise.
43919 (GRUB_EFI_GREEN): Likewise.
43920 (GRUB_EFI_CYAN): Likewise.
43921 (GRUB_EFI_RED): Likewise.
43922 (GRUB_EFI_MAGENTA): Likewise.
43923 (GRUB_EFI_BROWN): Likewise.
43924 (GRUB_EFI_LIGHTGRAY): Likewise.
43925 (GRUB_EFI_BRIGHT): Likewise.
43926 (GRUB_EFI_DARKGRAY): Likewise.
43927 (GRUB_EFI_LIGHTBLUE): Likewise.
43928 (GRUB_EFI_LIGHTGREEN): Likewise.
43929 (GRUB_EFI_LIGHTCYAN): Likewise.
43930 (GRUB_EFI_LIGHTRED): Likewise.
43931 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43932 (GRUB_EFI_YELLOW): Likewise.
43933 (GRUB_EFI_WHITE): Likewise.
43934 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43935 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43936 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43937 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43938 (GRUB_EFI_BACKGROUND_RED): Likewise.
43939 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43940 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43941 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43942 (GRUB_EFI_TEXT_ATTR): Likewise.
43943
43944 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43945 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43946 (kernel_mod_HEADERS): Added efi/time.h.
43947
83709125 439482006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43949
43950 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43951 include/grub/efi/api.h, include/grub/efi/console_control.h,
43952 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43953 include/grub/i386/efi/time.h, kern/efi/efi.c,
43954 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43955 and util/i386/efi/grub-mkimage.c.
43956
43957 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43958
43959 * genmk.rb (PModule#rule): Do not export symbols if
43960 #{prefix}_EXPORTS is set to "no".
43961
43962 * conf/i386-efi.mk: New file.
43963 * conf/i386-efi.rmk: Likewise.
43964 * include/grub/efi/api.h: Likewise.
43965 * include/grub/efi/console_control.h: Likewise.
43966 * include/grub/efi/efi.h: Likewise.
43967 * include/grub/efi/pe32.h: Likewise.
43968 * include/grub/i386/efi/time.h: Likewise.
43969 * kern/efi/efi.c: Likewise.
43970 * kern/i386/efi/init.c: Likewise.
43971 * kern/i386/efi/startup.S: Likewise.
43972 * util/i386/efi/grub-mkimage.c: Likewise.
43973
439742006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 43975
43976 * include/grub/script.h: Include <grub/parser.h> and
43977 "grub_script.tab.h".
43978 (struct grub_lexer_param): New struct.
43979 (struct grub_parser_param): Likewise.
43980 (grub_script_create_arglist): Pass the state in an argument.
43981 (grub_script_add_arglist): Likewise.
43982 (grub_script_create_cmdline): Likewise.
43983 (grub_script_create_cmdblock): Likewise.
43984 (grub_script_create_cmdif): Likewise.
43985 (grub_script_create_cmdmenu): Likewise.
43986 (grub_script_add_cmd): Likewise.
43987 (grub_script_arg_add): Likewise.
43988 (grub_script_lexer_ref): Likewise.
43989 (grub_script_lexer_deref): Likewise.
43990 (grub_script_lexer_record_start): Likewise.
43991 (grub_script_lexer_record_stop): Likewise.
43992 (grub_script_mem_record): Likewise.
43993 (grub_script_mem_record_stop): Likewise.
43994 (grub_script_malloc): Likewise.
43995 (grub_script_yylex): Likewise.
43996 (grub_script_yyparse): Likewise.
43997 (grub_script_yyerror): Likewise.
43998 (grub_script_yylex): Likewise.
43999 (grub_script_lexer_init): Return the state.
44000
44001 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44002 (grub_script_lexer_done): Likewise.
44003 (grub_script_lexer_getline): Likewise.
44004 (grub_script_lexer_refs): Likewise.
44005 (script): Likewise.
44006 (newscript): Likewise.
44007 (record): Likewise.
44008 (recording): Likewise.
44009 (recordpos): Likewise.
44010 (recordlen): Likewise.
44011 (grub_script_lexer_init): Return the state instead of setting
44012 global variables.
44013 (grub_script_lexer_ref): Use the newly added argument for state
44014 instead of globals.
44015 (grub_script_lexer_deref): Likewise.
44016 (grub_script_lexer_record_start): Likewise.
44017 (grub_script_lexer_record_stop): Likewise.
44018 (recordchar): Likewise.
44019 (nextchar): Likewise.
44020 (grub_script_yylex2): Likewise.
44021 (grub_script_yylex): Likewise.
44022 (grub_script_yyerror): Likewise.
44023
44024 * normal/parser.y (func_mem): Removed variable.
44025 (menu_entry): Likewise.
44026 (err): Likewise.
44027 (%lex-param): New parser option.
44028 (%parse-param): Likewise.
44029 (script): Always return the AST.
44030 (argument): Pass the state around.
44031 (arguments): Likewise.
44032 (grubcmd): Likewise.
44033 (commands): Likewise.
44034 (function): Likewise.
44035 (menuentry): Likewise.
44036 (if_statement): Likewise.
44037 (if): Likewise.
44038
44039 * normal/script.c (grub_script_memused): Removed variable.
44040 (grub_script_parsed): Likewise.
44041 (grub_script_malloc): Added a state argument. Use that instead of
44042 global variables.
44043 (grub_script_mem_record): Likewise.
44044 (grub_script_mem_record_stop): Likewise.
44045 (grub_script_arg_add): Likewise.
44046 (grub_script_add_arglist): Likewise.
44047 (grub_script_create_cmdline): Likewise.
44048 (grub_script_create_cmdif): Likewise.
44049 (grub_script_create_cmdmenu): Likewise.
44050 (grub_script_add_cmd): Likewise.
44051 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44052
e2a8c904 440532006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44054
44055 * normal/command.c (grub_command_init): Remove the title command.
44056
44057 * normal/lexer.c (grub_script_yylex): Renamed from this...
44058 (grub_script_yylex2): ... to this.
44059 (grub_script_yylex): New function. Temporary
44060 introduced to filter some tokens.
44061 (grub_script_yyerror): Print a newline.
44062
44063 * normal/main.c (read_config_file): Output information about the
44064 lines that contain errors. Wait for a key after all lines have
44065 been processed. Don't return an empty menu.
44066
44067 * normal/parser.y (func_mem): Don't initialize.
44068 (menu_entry): Likewise.
44069 (err): New variable.
44070 (script): Don't return anything when an error was encountered.
44071 (ws, returns): Removed rules.
44072 (argument): Disabled concatenated variable support.
44073 (arguments): Remove explicit separators.
44074 (grubcmd): Likewise.
44075 (function): Likewise.
44076 (menuentry): Likewise.
44077 (if): Likewise.
44078 (commands): Likewise. Add error handling.
44079
44080 * normal/script.c (grub_script_create_cmdline): If
44081 `grub_script_parsed' is 0, assume the parser encountered an error.
44082
c9a86192 440832006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44084
44085 * configure.ac: Add support for EFI. Fix the typo
44086 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44087
70f3b243 440882006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44089
44090 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44091 foreign multibyte characters should be shown correctly.
44092
65f201ad 440932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44094
44095 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44096 calculation.
44097 (read_config_file): Made it to close file before returning.
44098
b4b93674 440992006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44100
44101 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44102 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44103 video/i386/pc/vbefill.c.
44104
44105 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44106 video/i386/pc/vbefill.c.
44107
44108 * include/grub/video.h (grub_video_blit_format): New enum.
44109 (grub_video_mode_info): Added new member blit_format.
44110 (grub_video_get_blit_format): New function prototype.
44111
44112 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44113 function prototype.
44114 (grub_video_vbe_map_rgb): Likewise.
44115 (grub_video_vbe_unmap_color): Likewise.
44116
44117 * include/grub/i386/pc/vbeblit.h: New file.
44118
44119 * include/grub/i386/pc/vbefill.h: New file.
44120
44121 * video/video.c (grub_video_get_blit_format): New function.
44122 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44123 (grub_video_vbe_map_rgb): Likewise.
44124 (grub_video_vbe_unmap_color): Likewise.
44125
44126 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44127 optimized fills.
44128 (grub_video_vbe_blit_render_target): Changed to use more optimized
44129 blits.
44130 (grub_video_vbe_setup): Added detection for optimized settings.
44131 (grub_video_vbe_create_render_target): Likewise.
44132
44133 * video/i386/pc/vbeblit.c: New file.
44134
44135 * video/i386/pc/vbefill.c: New file.
44136
c2379b9c 441372006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44138
44139 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44140 here...
44141
44142 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44143 parsing to support both hex and dec ranges. If filename was missing
44144 show usage information.
44145
bd0d7896 441462006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44147
44148 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44149 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44150
44151 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44152 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44153 (video_mod_SOURCES): Added.
44154 (video_mod_CFLAGS): Likewise.
44155 (video_mod_LDFLAGS): Likewise.
44156 (gfxterm_mod_SOURCES): Likewise.
44157 (gfxterm_mod_CFLAGS): Likewise.
44158 (gfxterm_mod_LDFLAGS): Likewise.
44159 (videotest_mod_SOURCES): Likewise.
44160 (videotest_mod_CFLAGS): Likewise.
44161 (videotest_mod_LDFLAGS): Likewise.
44162 (vesafb_mod_SOURCES): Removed.
44163 (vesafb_mod_CFLAGS): Likewise.
44164 (vesafb_mod_LDFLAGS): Likewise.
44165 (vga_mod_SOURCES): Likewise.
44166 (vga_mod_CFLAGS): Likewise.
44167 (vga_mod_LDFLAGS): Likewise.
44168
44169 * commands/videotest.c: New file.
44170
44171 * font/manager.c (fill_with_default_glyph): Modified to use
44172 grub_font_glyph.
44173 (grub_font_get_glyph): Likewise.
44174 (fontmanager): Renamed from this...
44175 (font_manager): ... to this.
44176
44177 * include/grub/font.h (grub_font_glyph): Added new structure.
44178 (grub_font_get_glyph): Modified to use grub_font_glyph.
44179
44180 * include/grub/misc.h (grub_abs): Added as inline function.
44181
44182 * include/grub/video.h: New file.
44183
44184 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44185 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44186 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44187 (grub_vbe_get_controller_info): Renamed from this...
44188 (grub_vbe_bios_get_controller_info): ... to this.
44189 (grub_vbe_get_mode_info): Renamed from this...
44190 (grub_vbe_bios_get_mode_info): ... to this.
44191 (grub_vbe_set_mode): Renamed from this...
44192 (grub_vbe_bios_set_mode): ... to this.
44193 (grub_vbe_get_mode): Renamed from this...
44194 (grub_vbe_bios_get_mode): ... to this.
44195 (grub_vbe_set_memory_window): Renamed from this...
44196 (grub_vbe_bios_set_memory_window): ... to this.
44197 (grub_vbe_get_memory_window): Renamed from this...
44198 (grub_vbe_bios_get_memory_window): ... to this.
44199 (grub_vbe_set_scanline_length): Renamed from this...
44200 (grub_vbe_set_scanline_length): ... to this.
44201 (grub_vbe_get_scanline_length): Renamed from this...
44202 (grub_vbe_bios_get_scanline_length): ... to this.
44203 (grub_vbe_set_display_start): Renamed from this...
44204 (grub_vbe_bios_set_display_start): ... to this.
44205 (grub_vbe_get_display_start): Renamed from this...
44206 (grub_vbe_bios_get_display_start): ... to this.
44207 (grub_vbe_set_palette_data): Renamed from this...
44208 (grub_vbe_bios_set_palette_data): ... to this.
44209 (grub_vbe_set_pixel_rgb): Removed.
44210 (grub_vbe_set_pixel_index): Likewise.
44211
44212 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44213 from this...
44214 (grub_vbe_bios_get_controller_info): ... to this.
44215 (grub_vbe_get_mode_info): Renamed from this...
44216 (grub_vbe_bios_get_mode_info): ... to this.
44217 (grub_vbe_set_mode): Renamed from this...
44218 (grub_vbe_bios_set_mode): ... to this.
44219 (grub_vbe_get_mode): Renamed from this...
44220 (grub_vbe_bios_get_mode): ... to this.
44221 (grub_vbe_set_memory_window): Renamed from this...
44222 (grub_vbe_bios_set_memory_window): ... to this.
44223 (grub_vbe_get_memory_window): Renamed from this...
44224 (grub_vbe_bios_get_memory_window): ... to this.
44225 (grub_vbe_set_scanline_length): Renamed from this...
44226 (grub_vbe_set_scanline_length): ... to this.
44227 (grub_vbe_get_scanline_length): Renamed from this...
44228 (grub_vbe_bios_get_scanline_length): ... to this.
44229 (grub_vbe_set_display_start): Renamed from this...
44230 (grub_vbe_bios_set_display_start): ... to this.
44231 (grub_vbe_get_display_start): Renamed from this...
44232 (grub_vbe_bios_get_display_start): ... to this.
44233 (grub_vbe_set_palette_data): Renamed from this...
44234 (grub_vbe_bios_set_palette_data): ... to this.
44235 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44236 getting corrupted after calling it. Added more pushes and pops.
44237 (grub_vbe_bios_set_mode): Likewise.
44238 (grub_vbe_bios_get_mode): Likewise.
44239 (grub_vbe_bios_get_memory_window): Likewise.
44240 (grub_vbe_bios_set_scanline_length): Likewise.
44241 (grub_vbe_bios_get_scanline_length): Likewise.
44242 (grub_vbe_bios_get_display_start): Likewise.
44243 (grub_vbe_bios_set_palette_data): Likewise.
44244
44245 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44246 (cl_insert): Likewise.
44247 (cl_delete): Likewise.
44248
44249 * term/gfxterm.c: New file.
44250
44251 * term/i386/pc/vesafb.c: Removed file.
44252
44253 * video/video.c: New file.
44254
44255 * video/i386/pc/vbe.c (real2pm): Added new function.
44256 (grub_video_vbe_draw_pixel): Likewise.
44257 (grub_video_vbe_get_video_ptr): Likewise.
44258 (grub_video_vbe_get_pixel): Likewise
44259 (grub_video_vbe_init): Likewise.
44260 (grub_video_vbe_fini): Likewise.
44261 (grub_video_vbe_setup): Likewise.
44262 (grub_video_vbe_get_info): Likewise.
44263 (grub_video_vbe_set_palette): Likewise.
44264 (grub_video_vbe_get_palette): Likewise.
44265 (grub_video_vbe_set_viewport): Likewise.
44266 (grub_video_vbe_get_viewport): Likewise.
44267 (grub_video_vbe_map_color): Likewise.
44268 (grub_video_vbe_map_rgb): Likewise.
44269 (grub_video_vbe_map_rgba): Likewise.
44270 (grub_video_vbe_unmap_color): Likewise.
44271 (grub_video_vbe_fill_rect): Likewise.
44272 (grub_video_vbe_blit_glyph): Likewise.
44273 (grub_video_vbe_blit_bitmap): Likewise.
44274 (grub_video_vbe_blit_render_target): Likewise.
44275 (grub_video_vbe_scroll): Likewise.
44276 (grub_video_vbe_swap_buffers): Likewise.
44277 (grub_video_vbe_create_render_target): Likewise.
44278 (grub_video_vbe_delete_render_target): Likewise.
44279 (grub_video_vbe_set_active_render_target): Likewise.
44280 (grub_vbe_set_pixel_rgb): Remove function.
44281 (grub_vbe_set_pixel_index): Likewise.
44282 (index_color_mode): Remove static variable.
44283 (active_mode): Likewise.
44284 (framebuffer): Likewise.
44285 (bytes_per_scan_line): Likewise.
44286 (grub_video_vbe_adapter): Added new static variable.
44287 (framebuffer): Likewise.
44288 (render_target): Likewise.
44289 (initial_mode): Likewise.
44290 (mode_in_use): Likewise.
44291 (mode_list): Likewise.
44292
5f97350b 442932006-03-10 Marco Gerards <marco@gnu.org>
44294
44295 * configure.ac (AC_INIT): Bumped to 1.93.
44296
44297 * DISTLIST: Added `include/grub/hfs.h'.
44298
a3c5c6f8 442992006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
44300
44301 * boot/i386/pc/boot.S (general_error): Before looping, try INT
44302 18H, which might help the BIOS falling back to next boot media.
44303
6de53d26 443042006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
44305
44306 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
44307 Poe Chen <poe.poechen@gmail.com>.
44308
77c4a393 443092006-01-17 Marco Gerards <marco@gnu.org>
44310
44311 * include/grub/normal.h: Include <grub/script.h>.
44312 (grub_command_list): Removed struct.
44313 (grub_command_list_t): Removed type.
44314 (grub_menu_entry): Remove members `num' and `command_list'. Add
44315 members `commands' and `sourcecode'.
44316 * include/grub/script.h: Add inclusion guards.
44317 (grub_script_cmd_menuentry): New struct.
44318 (grub_script_execute_menuentry): New prototype.
44319 (grub_script_lexer_record_start): Likewise.
44320 (grub_script_lexer_record_stop): Likewise.
44321 * normal/execute.c (grub_script_execute_menuentry): New function.
44322 * normal/lexer.c (record, recording, recordpos, recordlen): New
44323 variables.
44324 (grub_script_lexer_record_start): New function.
44325 (grub_script_lexer_record_stop): Likewise.
44326 (recordchar): Likewise.
44327 (nextchar): Likewise.
44328 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
44329 2048 as the buffer size. Add the tokens `menuentry' and `@'.
44330 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
44331 (current_menu): New variable.
44332 (free_menu): Mainly rewritten.
44333 (grub_normal_menu_addentry): New function.
44334 (read_config_file): Rewritten.
44335 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 44336 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 44337 the menu entry.
44338 (run): Mainly rewritten.
44339 * normal/parser.y (menu_entry): New variable.
44340 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
44341 (menuentry): New rule.
44342 (command): Add `menuentry'.
44343 (if_statement): Allow additional returns before `fi'.
44344 * normal/script.c (grub_script_create_cmdmenu): New function.
44345
144f1f98 443462006-01-03 Marco Gerards <marco@gnu.org>
44347
44348 * INSTALL: GNU Bison is required.
44349 * configure.ac: Rewritten the test to detect Bison.
44350 * Makefile.in (YACC): New variable. Reported by Xun Sun
44351 <xun.sun.cn@gmail.com>.
44352
af4b2d89 443532006-01-03 Marco Gerards <marco@gnu.org>
44354
44355 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
44356 the HFS+ filesystem to filesystem blocks.
44357 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
44358 GCC warning is silenced.
44359
15643b71 443602006-01-03 Marco Gerards <marco@gnu.org>
44361
44362 * partmap/apple.c (apple_partition_map_iterate): Convert the data
44363 read from disk from big endian to host byte order.
44364
00905879 443652006-01-03 Hollis Blanchard <hollis@penguinppc.org>
44366
44367 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
44368 documentation.
44369 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
44370 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
44371 embedded HFS+ filesystem.
44372 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
44373 (grub_hfs_sblock): Move from here...
44374 * include/grub/hfs.h: To here... New file.
44375 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
44376 documentation.
44377 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
44378 New macros.
44379 (grub_hfsplus_volheader): Change type of member `magic' to
44380 `grub_uint16_t'.
44381 (grub_hfsplus_data): Add new member `embedded_offset'.
44382 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
44383 returned block.
44384 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
44385 Calculate the offset.
44386
8899bc3e 443872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44388
44389 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
44390 Removed.
44391 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
44392
ae8c0277 443932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44394
44395 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
44396 ENV->NAME is NULL after allocating ENV->VALUE.
44397
07084456 443982005-12-25 Marco Gerards <marco@gnu.org>
44399
44400 * kern/env.c (grub_env_set): Rewritten the error handling code.
44401
4750f5f1 444022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44403
44404 * geninit.sh: Made more robust, and more portable.
44405
50214199 444062005-12-25 Marco Gerards <marco@gnu.org>
44407
44408 Add support for Apple HFS+ filesystems.
f19dbdb7 44409
50214199 44410 * fs/hfsplus.c: New file.
44411
44412 * DISTLIST: Added `fs/hfsplus.c'.
44413
44414 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
44415 (hfsplus_mod_SOURCES): New variable.
44416 (hfsplus_mod_CFLAGS): Likewise.
44417 (hfsplus_mod_LDFLAGS): Likewise.
44418 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
44419 (grub_setup_SOURCES): Likewise.
44420 (grub_mkdevicemap_SOURCES): Likewise.
44421 (grub_emu_SOURCES): Likewise.
44422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44423
44424 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
44425
44426 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
44427
befaed6c 444282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44429
44430 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
44431 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
44432 include/grub/parser.h, include/grub/script.h, kern/parser.c,
44433 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
44434 normal/lexer.c, normal/parser.y, normal/script.c, and
44435 partmap/gpt.c.
44436 Removed kern/sparc64/cache.c.
44437
44438 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
44439 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
44440 grub_emu_init.c.
44441
44442 * configure.ac (AC_INIT): Bumped to 1.92.
44443
6a124103 444442005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
44445
44446 * kern/err.c (grub_error_push): Added new function to support error
44447 stacks.
44448 (grub_error_pop): Likewise.
44449 (grub_error_stack_items): New local variable to support error stacks.
44450 (grub_error_stack_pos): Likewise.
44451 (grub_error_stack_assert): Likewise.
44452 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
44453 stack depth.
44454 (grub_print_error): Added support to print errors from error stack.
44455
44456 * include/grub/err.h (grub_error_push): Added function prototype.
44457 (grub_error_pop): Likewise.
44458
be973c1b 444592005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44460
44461 * configure.ac: Accept `powerpc64' as host_cpu.
44462 (amd64): Rename to `biarch32'.
44463
44464 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44465 non-cacheline-aligned addresses.
44466
44467 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44468 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44469 if `size' is non-zero.
44470
b04216ab 444712005-12-03 Marco Gerards <mgerards@xs4all.nl>
44472
44473 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44474 and `cd' to make sure the filename is not prefixed with a
44475 directory name.
44476 (pkgdata_MODULES): Add `gpt.mod'.
44477 (gpt_mod_SOURCES): New variable.
44478 (gpt_mod_CFLAGS): Likewise.
44479 (gpt_mod_LDFLAGS): Likewise.
44480
44481 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44482
44483 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44484 New macro.
44485
44486 * partmap/gpt.c: New file.
44487
44488 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44489 GPT partition map is detected.
44490
41730ed9 444912005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44492
44493 * commands/i386/pc/play.c: New file.
44494 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44495 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44496 macros.
f19dbdb7 44497
95dc3643 444982005-11-27 Marco Gerards <mgerards@xs4all.nl>
44499
44500 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44501 ((unused))' to silence gcc warning.
44502
1569ec51 445032005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44504
44505 * configure.ac: Correct `AC_PROG_YACC' test.
44506
9abde152 445072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44508
44509 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44510 check before installing files.
44511
44b83271 445122005-11-22 Mike Small <smallm@panix.com>
44513
44514 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44515 number regex so multidigit numbers are recognized correctly.
44516
445172005-11-22 Mike Small <smallm@panix.com>
44518
44519 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44520 debugging message before attempting to claim memory.
44521 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44522 multiple addresses in case of failure.
44523
9c12956b 445242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44525
44526 * term/tparm.c (get_space): Remove empty `if' statement.
44527
44528 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44529
44530 * kern/parser.c (check_varstate): Rename `state' to 's'.
44531
aeaf81d9 445322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44533
44534 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44535 variable definitions to the beginning of each function. Sort stack
44536 variables by size.
44537 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44538 `buf' argument to `char *'.
44539
79bbb63f 445402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44541
44542 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44543 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44544 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 44545 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44546 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44547 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44548 configfile.mod, search.mod, gzio.mod and test.mod.
44549 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44550 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44551 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44552 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44553 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44554 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44555 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44556 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44557 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44558 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44559 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44560 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44561 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44562 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44563 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44564 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44565 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44566 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44567 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44568 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44569 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44570 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44571 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44572
44573 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44574 `grep --include'.
44575 (pkgdata_MODULES): Add test.mod.
44576
233b1628 445772005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44578
44579 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44580 appending to variables with "+=".
44581 (PModule): Use full pathname to generate *.lst filenames.
44582
44583 * Makefile.in: Fixed list rules moved from genmk.rb.
44584 (.DELETE_ON_ERROR): New special target.
44585 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44586
44587 * conf/i386-pc.rmk: Include conf/common.mk.
44588 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44589 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 44590 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44591 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44592 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44593 configfile.mod, search.mod, gzio.mod and test.mod.
44594 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44595 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44596 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44597 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44598 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44599 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44600 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44601 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44602 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44603 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44604 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44605 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44606 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44607 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44608 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44609 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44610 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44611 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44612 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44613 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44614 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44615 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44616 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44617 here...
44618 * conf/common.rmk: ... to here. New file.
44619
44620 * conf/common.mk: New file.
44621
16f820c8 446222005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44623
44624 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44625 (grub_script.tab.c): ... here.
44626
44627 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44628 (grub_script.tab.c): ... here.
44629
44630 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44631 (grub_script.tab.c): ... here.
44632
44633 * normal/command.c (grub_command_find): Fixed a memory leak of
44634 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44635
63ba1554 446362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44637
44638 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44639 "@" which marks the start of a comment on ARM.
44640 (VARIABLE): Likewise.
44641
7f67dc13 446422005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44643
79bbb63f 44644 Add support for Linux/ADFS partition tables.
7f67dc13 44645
44646 * partmap/acorn.c: New file.
44647
44648 * include/grub/acorn_filecore.h: Likewise.
44649
44650 * DISTLIST: Added `partmap/acorn.c' and
44651 `include/grub/acorn_filecore.h'.
f19dbdb7 44652
7f67dc13 44653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44654 `partmap/acorn.c'.
44655 (pkgdata_MODULES): Add `acorn.mod'.
44656 (acorn_mod_SOURCES): New variable.
44657 (acorn_mod_CFLAGS): Likewise.
44658
44659 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44660 `partmap/acorn.c'.
44661 (pkgdata_MODULES): Add `acorn.mod'.
44662 (acorn_mod_SOURCES): New variable.
44663 (acorn_mod_CFLAGS): Likewise.
44664
44665 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44666 (pkgdata_MODULES): Add `acorn.mod'.
44667 (acorn_mod_SOURCES): New variable.
44668 (acorn_mod_CFLAGS): Likewise.
44669 (acorn_mod_LDFLAGS): Likewise.
44670
44671 * include/types.h (grub_disk_addr_t): New typedef.
44672
6d099807 446732005-11-13 Marco Gerards <mgerards@xs4all.nl>
44674
44675 * geninit.sh: New file.
44676
44677 * geninitheader.sh: Likewise.
44678
44679 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44680 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44681 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44682 * commands/configfile.c (grub_configfile_init)
44683 (grub_configfile_fini): Likewise.
44684 * commands/default.c (grub_default_init, grub_default_fini):
44685 Likewise.
44686 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44687 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44688 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44689 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44690 Likewise.
44691 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44692 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44693 Likewise.
44694 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 44695 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 44696 Likewise.
44697 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44698 Likewise.
fe6b695a 44699 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 44700 Likewise.
44701 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44702 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44703 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44704 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44705 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44706 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44707 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44708 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44709 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44710 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44711 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44712 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44713 * partmap/amiga.c (grub_amiga_partition_map_init)
44714 (grub_amiga_partition_map_fini): Likewise.
44715 * partmap/apple.c (grub_apple_partition_map_init)
44716 (grub_apple_partition_map_fini): Likewise.
44717 * partmap/pc.c (grub_pc_partition_map_init)
44718 (grub_pc_partition_map_fini): Likewise.
44719 * partmap/sun.c (grub_sun_partition_map_init,
44720 grub_sun_partition_map_fini): Likewise.
44721 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44722 Likewise.
44723
44724 * util/grub-emu.c: Include <grub_modules_init.h>.
44725 (main): Don't initialize and de-initialize any modules directly,
44726 use `grub_init_all' and `grub_fini_all' instead.
44727
44728 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44729 `grub_vesafb_mod_init'.
44730 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44731 all users.
44732 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44733 `grub_vga_mod_init'. Updated all users.
44734 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 44735
6d099807 44736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44737 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44738 rules.
44739
44740 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44741 Generate a function to initialize the module in utilities.
44742 Updated all callers.
44743 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44744 initialize the module in utilities. Updated all callers.
44745
9046bcf0 447462005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44747
44748 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44749 escape sequence and a literal ^L to clear the screen.
44750
44751 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44752 when returning from Open Firmware.
44753
d13ea639 447542005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44755
44756 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44757 (grub_ofconsole_height): Likewise.
44758 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44759 manually insert a '\n'.
44760 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44761 `grub_ofconsole_height'. Return early if these are already set.
44762
a8fcf206 447632005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44764
44765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44766 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44767 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44768 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44769 and `normal/script.c'.
44770 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44771 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44772 (test_mod_SOURCES): New variable.
44773 (test_mod_CFLAGS): Likewise.
44774 (test_mod_LDFLAGS): Likewise.
44775 (pkgdata_MODULES): Add `test.mod'.
44776 (grub_script.tab.c): New rule.
44777 (grub_script.tab.h): Likewise.
44778
b6b32745 447792005-11-07 Marco Gerards <mgerards@xs4all.nl>
44780
44781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44782 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44783 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44784 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44785 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44786 (test_mod_SOURCES): New variable.
44787 (test_mod_CFLAGS): Likewise.
44788 (pkgdata_MODULES): Add `test.mod'.
44789 (grub_script.tab.c): New rule.
44790 (grub_script.tab.h): Likewise.
44791
daac212a 447922005-11-06 Marco Gerards <mgerards@xs4all.nl>
44793
44794 Add initial scripting support.
44795
44796 * commands/test.c: New file.
44797 * include/grub/script.h: Likewise.
44798 * normal/execute.c: Likewise.
44799 * normal/function.c: Likewise.
44800 * normal/lexer.c: Likewise.
44801 * normal/parser.y: Likewise.
44802 * normal/script.c: Likewise.
44803
44804 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 44805
daac212a 44806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44807 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44808 `normal/function.c' and `normal/script.c'.
44809 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44810 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 44811 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44812 variables.
daac212a 44813 (pkgdata_MODULES): Add `test.mod'.
44814 (grub_script.tab.c): New rule.
44815 (grub_script.tab.h): Likewise.
44816
44817 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44818
44819 * include/grub/normal.h (grub_test_init): New prototype.
44820 (grub_test_fini): Likewise.
f19dbdb7 44821
daac212a 44822 * normal/command.c: Include <grub/script.h>.
44823 (grub_command_execute): Rewritten.
f19dbdb7 44824
daac212a 44825 * util/grub-emu.c (main): Call `grub_test_init' and
44826 `grub_test_fini'.
44827
77500b2b 448282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44829
44830 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44831 to 0.
44832 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44833 there are no pending characters.
44834
e45deb9e 448352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44836
44837 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44838 `grub_strndup' to drop device arguments. Replace unnecessary
44839 `grub_strndup' with `grub_strdup'.
44840
4ce32619 448412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44842
44843 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44844 `debug' environment variable has been set.
44845
448462005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44847
4ce32619 44848 * Makefile.in (install-local): Use $(DATA).
44849 (uninstall): Likewise.
44850 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44851 (sbin_UTILITIES): ... to here.
44852 (sbin_SCRIPTS): New variable.
44853 (grub_install_SOURCES): New variable.
44854 * util/powerpc/ieee1275/grub-install.in: New file.
44855 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44856 variable.
44857 (add_segments): Call `grub_util_get_path'.
44858
25fe6f03 448592005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44860
44861 From Timothy Baldwin:
44862 * commands/ls.c (grub_ls_list_files): Close FILE with
44863 grub_file_close.
44864 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44865
04ccf3ec 448662005-10-24 Marco Gerards <mgerards@xs4all.nl>
44867
44868 * include/grub/parser.h: New file.
44869
44870 * kern/parser.c: Likewise.
44871
44872 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44873 (grub_setup_SOURCES): Likewise.
44874 (grub_probefs_SOURCES): Likewise.
44875 (grub_emu_SOURCES): Likewise.
44876 (kernel_img_HEADERS): Add `parser.h'.
44877
44878 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44879 (grub_emu_SOURCES): Add `kern/parser.c'.
44880 (grubof_SOURCES): Likewise.
44881
44882 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44883 (grubof_SOURCES): Add `kern/parser.c'.
44884
44885 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44886
44887 * kern/misc.c (grub_split_cmdline): Removed function.
44888
44889 * kern/rescue.c: Include <grub/parser.h>.
44890 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44891 of `grub_split_cmdline'.
44892
44893 * normal/command.c: Include <grub/parser.h>.
44894 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44895 of `grub_split_cmdline'.
44896
44897 * normal/completion.c: Include <grub/parser.h>.
44898 (cmdline_state): New variable.
44899 (iterate_dir): End the filename with a quote depending on the
44900 command line state.
44901 (get_state): new function.
44902 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44903 split the arguments and determine the current argument. When the
44904 argument string is not quoted, escape all spaces.
44905
6d8f4b0e 449062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44907
44908 * normal/sparc64/setjmp.S: New file.
44909
15cf03ed 449102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44911
44912 * include/grub/sparc64/libgcc.h: New file.
44913 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44914 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44915 normal/sparc64/setjmp.c.
44916
03e8661a 449172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44918
44919 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44920 * kern/sparc64/cache.S: New file.
44921 * kern/sparc64/cache.c: Removed.
44922 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44923 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44924 -mtune=ultrasparc.
44925 (COMMON_LDFLAGS): Add -melf64_sparc.
44926 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44927 (grubof_SOURCES): Use cache.S instead of cache.c.
44928 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44929 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44930 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44931 commented though.
44932 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44933 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44934 (linux_mod_CFLAGS): Commented out.
44935 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44936 out because module isn't built.
44937 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44938 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44939 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44940 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44941 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44942 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44943 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44944 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44945 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44946 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44947 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44948 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44949 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44950 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44951
34eeec8a 449522005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44953
44954 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44955 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44956 longer, because HFS should not be used on PC.
44957
708367a3 449582005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44959
44960 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44961 consistently within the loop.
44962
6fa1251a 449632005-10-15 Marco Gerards <mgerards@xs4all.nl>
44964
44965 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44966 directory can not be read.
44967
4801580b 449682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44969
44970 * configure.ac (AC_INIT): Increase the version number to 1.91.
44971
44972 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44973 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44974 term/i386/pc/serial.c.
44975
219ad426 449762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44977
44978 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44979 file size must be permitted.
44980
44981 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44982 between %ah and %al.
44983
688e5699 449842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44985
44986 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44987 grub_uint64_t.
44988 Call the hook with a NUL-terminated filename.
44989 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44990 grub_cpu_to_be32.
44991
44992 * kern/term.c (cursor_state): New variable.
44993 (grub_term_set_current): Reset the cursor state on a new
44994 terminal.
44995 (grub_setcursor): Rewritten to use CURSOR_STATE.
44996 (grub_getcursor): New function.
44997
44998 * include/grub/term.h (grub_getcursor): New prototype.
44999
45000 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45001 integers on ARM. Reported by Timothy Baldwin
45002 <T.E.Baldwin99@members.leeds.ac.uk>.
45003
bb34586c 450042005-10-11 Marco Gerards <mgerards@xs4all.nl>
45005
45006 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45007 allocated.
45008 (grub_sfs_dir): Likewise.
45009
9a909877 450102005-10-09 Marco Gerards <mgerards@xs4all.nl>
45011
45012 Add support for the SFS filesystem.
45013
45014 * fs/sfs.c: New file.
45015
45016 * DISTLIST: Added `fs/sfs.c'.
45017
45018 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45019 (grub_probefs_SOURCES): Likewise.
45020 (grub_emu_SOURCES): Likewise.
45021 (pkgdata_MODULES): Add `sfs.mod'.
45022 (sfs_mod_SOURCES): New variable.
45023 (sfs_mod_CFLAGS): Likewise.
45024 (sfs_mod_LDFLAGS): Likewise.
45025
45026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45027 (pkgdata_MODULES): Add `sfs.mod'.
45028 (sfs_mod_SOURCES): New variable.
45029 (sfs_mod_CFLAGS): Likewise.
45030
45031 * util/grub-emu.c (main): Call `grub_sfs_init' and
45032 `grub_sfs_fini'.
45033
45034 * include/grub/fs.h (grub_sfs_init): New prototype.
45035 (grub_sfs_fini): Likewise.
45036
57bdbde3 450372005-10-07 Marco Gerards <mgerards@xs4all.nl>
45038
45039 Add support for the AFFS filesystem.
45040
45041 * fs/affs.c: New file.
45042
45043 * DISTLIST: Added `fs/affs.c'.
45044
45045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45046 (grub_probefs_SOURCES): Likewise.
45047 (grub_emu_SOURCES): Likewise.
45048 (pkgdata_MODULES): Add `affs.mod'.
45049 (affs_mod_SOURCES): New variable.
45050 (affs_mod_CFLAGS): Likewise.
45051 (affs_mod_LDFLAGS): Likewise.
45052
45053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45054 (pkgdata_MODULES): Add `affs.mod'.
45055 (affs_mod_SOURCES): New variable.
45056 (affs_mod_CFLAGS): Likewise.
45057
45058 * util/grub-emu.c (main): Call `grub_affs_init' and
45059 `grub_affs_fini'.
45060
45061 * include/grub/fs.h (grub_affs_init): New prototype.
45062 (grub_affs_fini): Likewise.
45063
047b67e0 450642005-10-01 Marco Gerards <mgerards@xs4all.nl>
45065
45066 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45067
59b8208a 450682005-10-01 Marco Gerards <mgerards@xs4all.nl>
45069
45070 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45071 `-m32' to CFLAGS.
45072
45073 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45074 linking.
f19dbdb7 45075
59b8208a 45076 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45077 (COMMON_LDFLAGS): New variable.
45078 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45079 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45080 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45081 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45082 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45083 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45084 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45085 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45086 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45087 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45088 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45089 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45090 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45091 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45092 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45093 variables.
45094 (normal_mod_ASFLAGS): Add `-m32'.
45095
45096 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45097 (grub_host_size_t, grub_host_ssize_t): New types.
45098 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45099 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45100 `GRUB_HOST_SIZEOF_VOID_P'.
45101
45102 * include/grub/kernel.h (struct grub_module_header): Type of
45103 member offset changed to `grub_host_off_t'. Type of member size
45104 changed to `grub_host_size_t'.
45105 (struct grub_module_info): Type of member offset changed to
45106 `grub_host_off_t'. Type of member size changed to
45107 `grub_host_size_t'.
45108
b4093103 451092005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45110
45111 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45112
b4093103 45113 * kern/i386/pc/startup.S (multiboot_header): New label.
45114 (multiboot_entry): Likewise.
45115 (multiboot_trampoline): Likewise.
45116
45117 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45118 Increased to 0x4A0.
45119
45120 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45121 put parentheses after a question mark.
45122 [!GRUB_UTIL] (my_mod): New variable.
45123
45124 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45125
b2499b29 451262005-09-28 Marco Gerards <mgerards@xs4all.nl>
45127
45128 Adds support for the XFS filesystem. Btrees are not supported
45129 yet.
45130
45131 * fs/xfs.c: New file.
45132
45133 * DISTLIST: Added `fs/xfs.c'.
45134
45135 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45136 (grub_probefs_SOURCES): Likewise.
45137 (grub_emu_SOURCES): Likewise.
45138 (pkgdata_MODULES): Add `xfs.mod'.
45139 (xfs_mod_SOURCES): New variable.
45140 (xfs_mod_CFLAGS): Likewise.
45141
45142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45143 (pkgdata_MODULES): Add `xfs.mod'.
45144 (xfs_mod_SOURCES): New variable.
45145 (xfs_mod_CFLAGS): Likewise.
45146
45147 * util/grub-emu.c (main): Call `grub_xfs_init' and
45148 `grub_xfs_fini'.
45149
45150 * include/grub/fs.h (grub_xfs_init): New prototype.
45151 (grub_xfs_fini): Likewise.
45152
f19dbdb7 45153
83d37a62 451542005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45155
45156 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45157 color modes, allow greater than 16 colors to be configured as
45158 a default palette.
45159
47d2d65e 451602005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45161
45162 * normal/completion.c (complete_arguments): Add the qualifier
45163 const into OPTIONS.
45164
45165 From Omniflux <omniflux+lists@omniflux.com>:
45166 * include/grub/terminfo.h: New file.
45167 * include/grub/tparm.h: Likewise.
45168 * include/grub/i386/pc/serial.h: Likewise.
45169 * term/terminfo.c: Likewise.
45170 * term/tparm.c: Likewise.
45171 * term/i386/pc/serial.c: Likewise.
45172 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45173 serial.mod.
45174 (terminfo_mod_SOURCES): New variable.
45175 (terminfo_mod_CFLAGS): Likewise.
45176 (serial_mod_SOURCES): Likewise.
45177 (serial_mod_CFLAGS): Likewise.
45178
48b671ff 451792005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45180
45181 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45182 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45183 and kern/powerpc/ieee1275/cmain.c, respectively.
45184
45185 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45186 * kern/powerpc/ieee1275/crt0.S: ... here.
45187
45188 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45189 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45190
48b671ff 45191 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45192 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45193 instead of boot/powerpc/ieee1275/crt0.S and
45194 boot/powerpc/ieee1275/cmain.c, respectively.
45195
45196 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45197 sectors. It was not used anyway.
45198
09fc77a7 451992005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45200
45201 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45202 `unused parameter' warning.
45203
003789c7 452042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45205
45206 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45207 function.
45208 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45209 getcharwidth.
45210
67f44c86 452112005-08-28 Marco Gerards <metgerards@student.han.nl>
45212
45213 * include/grub/normal.h (enum grub_completion_type): Added
45214 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45215
45216 * normal/cmdline.c (print_completion): Handle
45217 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45218 * normal/menu_entry.c (store_completion): Likewise.
45219
45220 * normal/completion.c (complete_arguments): New function.
45221 (grub_normal_do_completion): Call `complete_arguments' when the
45222 current words start with a dash.
45223
0b5abe02 452242005-08-27 Marco Gerards <metgerards@student.han.nl>
45225
45226 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45227 `gzio.mod' instead of `io.mod').
45228
d9864ee1 452292005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45230
45231 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45232 (DISTDIRS): Added io and video.
45233 Rewrite the search routine to make an output consistently.
45234
45235 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45236 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45237 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45238 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45239 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45240 util/powerpc/ieee1275/misc.c.
f19dbdb7 45241
d9864ee1 45242 * include/grub/gzio.h: New file.
45243 * io/gzio.c: Likewise.
f19dbdb7 45244
d9864ee1 45245 * kern/file.c (grub_file_close): Call grub_device_close only if
45246 FILE->DEVICE is not NULL.
45247
45248 * include/grub/mm.h [!NULL] (NULL): New macro.
45249
45250 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45251
45252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45253 (pkgdata_MODULES): Added gzio.mod.
45254 (gzio_mod_SOURCES): New variable.
45255 (gzio_mod_CFLAGS): Likewise.
45256
45257 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45258 (pkgdata_MODULES): Added gzio.mod.
45259 (gzio_mod_SOURCES): New variable.
45260 (gzio_mod_CFLAGS): Likewise.
45261
45262 * commands/cat.c: Include grub/gzio.h.
45263 (grub_cmd_cat): Use grub_gzfile_open instead of
45264 grub_file_open.
f19dbdb7 45265
d9864ee1 45266 * commands/cmp.c: Include grub/gzio.h.
45267 (grub_cmd_cmp): Use grub_gzfile_open instead of
45268 grub_file_open.
45269
45270 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45271 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45272 grub_file_open.
45273 (grub_rescue_cmd_module): Likewise.
45274
fa46f4b5 452752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45276
45277 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45278 kern/sparc64/ieee1275/init.c because it contains _start.
45279 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45280
e9211b5d 452812005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45282
45283 * configure.ac: Add support for sparc64 host with ieee1275
45284 firmware.
45285 * configure: Generated from configure.ac.
45286 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45287 instead of int.
45288 (grub_ofdisk_read): Likewise.
45289 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45290 pointers as (void *) to remove a warning.
45291 (grub_ofdisk_close): Likewise.
45292 (grub_ofdisk_read): Likewise.
45293 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45294 returns, so make it return void to remove a warning.
45295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
45296 Corresponding prototype change.
45297 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
45298 values, and cast the pointers as (void *) to remove a warning.
45299 (grub_mm_dump): Likewise.
45300 * conf/sparc64-ieee1275.mk: New file.
45301 * conf/sparc64-ieee1275.rmk: Likewise.
45302 * include/grub/sparc64/setjmp.h: Likewise.
45303 * include/grub/sparc64/types.h: Likewise.
45304 * include/grub/sparc64/ieee1275/console.h: Likewise.
45305 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45306 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45307 * include/grub/sparc64/ieee1275/time.h: Likewise.
45308 * kern/sparc64/cache.c: Likewise.
45309 * kern/sparc64/dl.c: Likewise.
45310 * kern/sparc64/ieee1275/init.c: Likewise.
45311 * kern/sparc64/ieee1275/openfw.c: Likewise.
45312
385c6a92 453132005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45314
45315 * util/console.c (grub_ncurses_putchar): If C is greater than
45316 0x7f, set C to a question mark.
45317 (grub_ncurses_getcharwidth): New function.
45318 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
45319 getcharwidth.
45320
45321 * normal/menu.c (print_entry): Made aware of Unicode. First,
45322 convert TITLE to UCS-4, and predict the cursor position by
45323 grub_getcharwidth.
45324
45325 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
45326 const to SRC.
45327 * kern/misc.c (grub_utf16_to_utf8): Likewise.
45328
16ccb8b1 453292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45330
45331 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
45332 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45333 grub_strcat.
45334
45335 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
45336 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45337 grub_strcpy and grub_strlen. Take it into account that a space
45338 character is inserted as a delimiter.
45339
6a85ce79 453402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45341
45342 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 45343 invalid magic in the error.
6a85ce79 45344
45345 * commands/search.c: New file.
f19dbdb7 45346
6a85ce79 45347 * util/grub-emu.c (main): Call grub_search_init and
45348 grub_search_fini.
45349
45350 * kern/rescue.c (grub_rescue_print_disks): Removed.
45351 (grub_rescue_print_devices): New function.
45352 (grub_rescue_cmd_ls): Use grub_device_iterate with
45353 grub_rescue_print_devices instead of grub_disk_dev_iterate with
45354 grub_rescue_print_disks.
45355
45356 * kern/partition.c (grub_partition_iterate): Return the result of
45357 PARTMAP->ITERATE instead of GRUB_ERRNO.
45358
45359 * kern/device.c: Include grub/partition.h.
45360 (grub_device_iterate): New function.
45361
45362 * include/grub/partition.h (grub_partition_iterate): Return int
45363 instead of grub_err_t.
45364
45365 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
45366 prototype.
45367 [GRUB_UTIL] (grub_search_fini): Likewise.
45368
45369 * include/grub/device.h (grub_device_iterate): New prototype.
45370
45371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45372 commands/search.c.
45373 (pkgdata_MODULES): Added search.mod.
45374 (search_mod_SOURCES): New variable.
45375 (search_mod_CFLAGS): Likewise.
45376
45377 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
45378 (pkgdata_MODULES): Added search.mod.
45379 (search_mod_SOURCES): New variable.
45380 (search_mod_CFLAGS): Likewise.
45381
45382 * commands/ls.c (grub_ls_list_disks): Renamed to ...
45383 (grub_ls_list_devices): ... this, and use grub_device_iterate.
45384 All callers changed.
45385
45386 * DISTLIST: Added commands/search.c.
45387
ef095434 453882005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45389
45390 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
45391 conversion.
45392 (grub_getcharwidth): New function.
45393
45394 * kern/misc.c (grub_utf8_to_ucs4): New function.
45395
45396 * include/grub/term.h (struct grub_term): Added a new member
45397 "getcharwidth".
45398 (grub_getcharwidth): New prototype.
45399
45400 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
45401
45402 * term/i386/pc/console.c (map_char): New function. Segregated from
45403 grub_console_putchar.
45404 (grub_console_putchar): Use map_char.
45405 (grub_console_getcharwidth): New function.
45406 (grub_console_term): Specified grub_console_getcharwidth as
45407 getcharwidth.
45408
45409 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
45410 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
45411
45412 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
45413 GRUB_ERRNO.
45414 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
45415 on grub_strtoul completely.
45416 (write_char): Declare local variables in the beginning of the
45417 function.
45418 (grub_vesafb_getcharwidth): New function.
45419 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
45420 getcharwidth.
45421
1f0a95e4 454222005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
45423
45424 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
45425 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
45426 commands/i386/pc/vbetest.c.
45427
45428 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
45429 call grub_vbe_get_controller_info again, because the returned
45430 information is volatile.
45431 (grub_vbe_set_video_mode): Mostly rewritten.
45432 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
45433 grub_vbe_status_t correctly.
45434 (grub_vbe_get_video_mode_info): Likewise.
45435 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
45436 several if statements.
45437
45438 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
45439 * commands/i386/pc/vbeinfo.c: ... this.
45440
45441 * commands/i386/pc/vbe_test.c: Renamed to ...
45442 * commands/i386/pc/vbetest.c: ... this.
45443
45444 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
45445 ...
45446 (grub_cmd_vbeinfo): ... this. Save video modes before
45447 iterating. Skip a video mode, if it is not available, not enough
45448 information is given or it is monochrome. Show the memory
45449 model. Leave the interpretation of MODEVAR to grub_strtoul
45450 completely.
45451 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
45452 (GRUB_MOD_FINI): Likewise.
45453
45454 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
45455 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
45456 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
45457 duplicated grub_env_get. Leave the interpretation of MODEVAR to
45458 grub_strtoul completely.
45459 (real2pm): Removed.
45460 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45461 (GRUB_MOD_FINI): Likewise.
45462
45463 * normal/misc.c: Include grub/mm.h.
45464
45465 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45466 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45467 (vbe_list_modes_mod_SOURCES): Removed.
45468 (vbe_list_modes_mod_CFLAGS): Likewise.
45469 (vbe_test_mod_SOURCES): Likewise.
45470 (vbe_test_mod_CFLAGS): Likewise.
45471 (vbeinfo_mod_SOURCES): New variable.
45472 (vbeinfo_mod_CFLAGS): Likewise.
45473 (vbetest_mod_SOURCES): Likewise.
45474 (vbetest_mod_CFLAGS): Likewise.
45475
992ffbbe 454762005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45477
45478 * normal/misc.c: New file.
45479
45480 * DISTLIST: Added normal/misc.c.
f19dbdb7 45481
992ffbbe 45482 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45483 DISK to HOOK. Call HOOK with DISK.
45484 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45485 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45486 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45487
45488 * normal/menu_entry.c (struct screen): Added a new member
45489 "completion_shown".
45490 (completion_buffer): New global variable.
45491 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45492 (store_completion): New function.
45493 (complete): Likewise.
45494 (clear_completions): Likewise.
45495 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45496 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45497 a tab, call complete.
45498
45499 * normal/completion.c (disk_dev): Removed.
45500 (print_simple_completion): Likewise.
45501 (print_partition_completion): Likewise.
45502 (print_func): New global variable.
45503 (add_completion): Do not take the arguments WHAT or PRINT any
45504 longer. Added a new argument TYPE. Instead of printing directly,
45505 call PRINT_FUNC if not NULL.
45506 All callers changed.
45507 (complete_device): Use a local variable DEV instead of
45508 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45509 (grub_normal_do_completion): Take a new argument HOOK. Do not
45510 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45511 empty string, return NULL instead.
45512 All callers changed.
45513
45514 * normal/cmdline.c (print_completion): New function.
45515
45516 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45517 to HOOK.
45518 All callers changed.
45519
45520 * kern/disk.c (grub_print_partinfo): Removed.
45521
45522 * include/grub/partition.h (struct grub_partition_map): Add a new
45523 argument DISK into HOOK of ITERATE.
45524 (grub_partition_iterate): Add a new argument DISK to HOOK.
45525
45526 * include/grub/normal.h (enum grub_completion_type): New enum.
45527 (grub_completion_type_t): New type.
45528 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45529 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45530 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45531 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45532 (grub_normal_do_completion): Added a new argument HOOK.
45533 (grub_normal_print_device_info): New prototype.
45534
45535 * include/grub/disk.h (grub_print_partinfo): Removed.
45536
45537 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45538 (normal_mod_SOURCES): Likewise.
45539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45540 (normal_mod_SOURCES): Likewise.
45541
45542 * commands/ls.c (grub_ls_list_disks): Use
45543 grub_normal_print_device_info instead of grub_print_partinfo. Free
45544 PNAME.
45545 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45546 duplicating the code.
45547
0bd41162 455482005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45549
45550 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 45551 follow GCS more precisely.
45552 * commands/i386/pc/vbe_test.c: Likewise.
45553 * include/grub/i386/pc/vbe.h: Likewise.
45554 * term/i386/pc/vesafb.c: Likewise.
45555 * video/i386/pc/vbe.c: Likewise.
0bd41162 45556
6323696a 455572005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45558
45559 * DISTLIST: Added term/i386/pc/vesafb.c
45560 DISTLIST: Added video/i386/pc/vbe.c
45561 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45562 DISTLIST: Added commands/i386/pc/vbe_test.c.
45563 * commands/i386/pc/vbe_list_modes.c: New file.
45564 * commands/i386/pc/vbe_test.c: Likewise.
45565 * term/i386/pc/vesafb.c: Likewise.
45566 * video/i386/pc/vbe.c: Likewise.
45567 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45568 (grub_vbe_probe) Added prototype.
45569 (grub_vbe_set_video_mode) Likewise.
45570 (grub_vbe_get_video_mode) Likewise.
45571 (grub_vbe_get_video_mode_info) Likewise.
45572 (grub_vbe_set_pixel_rgb) Likewise.
45573 (grub_vbe_set_pixel_index) Likewise.
45574 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45575 (pkgdata_MODULES): Added vesafb.mod.
45576 (pkgdata_MODULES): Added vbe_list_modes.mod.
45577 (pkgdata_MODULES): Added vbe_test.mod.
45578 (vbe_mod_SOURCES): Added.
45579 (vbe_mod_CFLAGS): Likewise.
45580 (vesafb_mod_SOURCES): Likewise.
45581 (vesafb_mod_CFLAGS): Likewise.
45582 (vbe_list_modes_mod_SOURCES): Likewise.
45583 (vbe_list_modes_mod_CFLAGS): Likewise.
45584 (vbe_test_mod_SOURCES): Likewise.
45585 (vbe_test_mod_CFLAGS): Likewise.
45586
0a74e62f 455872005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45588
0a74e62f 45589 * normal/command.c (grub_command_execute): If INTERACTIVE is
45590 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45591 CMDLINE. Disable the pager if INTERACTIVE is true.
45592 All callers are changed.
45593
45594 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45595 before reading a config file.
45596 * normal/main.c (read_config_file): Even if a command is not
45597 found, register it if it is within an entry.
45598
45599 * util/grub-emu.c: Include sys/types.h and unistd.h.
45600 (options): Added --hold.
45601 (struct arguments): Added a new member "hold".
45602 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45603 missing.
45604 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45605 cleared by a debugger, if it is not zero.
45606
45607 * include/grub/normal.h (grub_command_execute): Add an argument
45608 INTERACTIVE.
45609
e51f85ae 456102005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45611
45612 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45613
e9c6f39b 456142005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45615
45616 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45617 program with another one, because the old one didn't detect a bug
45618 in gcc-3.4. Always use regparm 2, because the new test is still
45619 not enough for gcc-4.0. Someone must investigate a simple test
45620 case which detects a bug in gcc-4.0.
45621
8de3495c 456222005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45623
45624 * DISTLIST: Added normal/completion.c.
45625
45626 * normal/completion.c: New file.
f19dbdb7 45627
8de3495c 45628 * term/i386/pc/console.c (grub_console_getwh): New function.
45629 (grub_console_term): Assign grub_console_getwh to getwh.
45630
45631 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45632 function is defined in normal/completion.c as
45633 grub_normal_do_completion.
45634 (grub_cmdline_get): Use grub_normal_do_completion instead of
45635 grub_tab_complete.
45636
45637 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45638 returns non-zero, otherwise return 0.
45639 (grub_partition_iterate): First, probe the partition map. Then,
45640 call ITERATE only for this partition map.
45641
45642 * kern/misc.c (grub_strncmp): Rewritten.
45643
45644 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45645 returns non-zero. Otherwise return 0.
45646
45647 * include/grub/partition.h (grub_partition_map_iterate): Return
45648 int instead of void.
45649
45650 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45651
45652 * include/grub/misc.h (grub_strncmp): Change the type of N to
45653 grub_size_t.
45654
45655 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45656 of void.
45657
45658 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 45659 unsigned explicitly before comparing it with I.
8de3495c 45660
45661 * kern/main.c (grub_env_write_root): Add the attribute unused into
45662 VAR.
45663
45664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45665 normal/completion.c.
45666 (normal_mod_SOURCES): Likewise.
45667 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45668 (normal_mod_SOURCES): Likewise.
45669
45670 * normal/command.c (grub_iterate_commands): If ITERATE returns
45671 non-zero, return one immediately.
45672
e85e144b 456732005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45674
45675 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45676 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45677 descriptions.
45678 (grub_vbe_get_controller_info): New function.
45679 (grub_vbe_get_mode_info): Likewise.
45680 (grub_vbe_set_mode): Likewise.
45681 (grub_vbe_get_mode): Likewise.
45682 (grub_vbe_set_memory_window): Likewise.
45683 (grub_vbe_get_memory_window): Likewise.
45684 (grub_vbe_set_scanline_length): Likewise.
45685 (grub_vbe_get_scanline_length): Likewise.
45686 (grub_vbe_set_display_start): Likewise.
45687 (grub_vbe_get_display_start): Likewise.
45688 (grub_vbe_set_palette_data): Likewise.
45689 * include/grub/i386/pc/vbe.h: New file.
45690
c46153d2 456912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45692
45693 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45694 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45695 * DISTLIST: Likewise.
45696 * kern/ieee1275/of.c: Moved to ...
45697 * kern/ieee1275/ieee1275.c: ... here.
45698
0cb90c45 456992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45700
45701 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45702 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45703 Pass 0 as `end' parameter to grub_strtoul().
45704
a19fb360 457052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45706
45707 * include/grub/powerpc/ieee1275/console.h: Do not include
45708 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45709 ifdef.
45710 (grub_console_cur_color): Remove i386-specific prototype.
45711 (grub_console_real_putchar): Likewise.
45712 (grub_console_checkkey): Likewise.
45713 (grub_console_getkey): Likewise.
45714 (grub_console_getxy): Likewise.
45715 (grub_console_gotoxy): Likewise.
45716 (grub_console_cls): Likewise.
45717 (grub_console_setcursor): Likewise.
45718 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45719 Include <grub/machine/console.h>.
45720 * term/ieee1275/ofconsole.c: Likewise.
45721
4ac9bd04 457222005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45723
45724 * Makefile.in (LIBLZO): New variable.
45725
45726 * configure.ac: Check for LZO version 2.
45727
45728 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45729 lzo/lzo1x.h instead of lzo1x.h.
45730
45731 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45732 of -llzo.
45733
45734 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45735 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45736
45737 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45738 copying the data from PARTITION to P.
45739
f4917dfd 457402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45741
45742 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45743 negative, unload the module.
45744
45745 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45746 map is "pc_partition_map" but not "pc".
45747 (usage): Fix the description. The options are --boot-image and
45748 --core-image but not --boot-file or --core-file.
45749 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45750 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45751 DEFAULT_DIRECTORY.
45752
45753 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45754 --core-file. Specify INSTALL_DEVICE as an argument.
45755
45756 * util/console.c: Include config.h.
45757 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45758 [HAVE_NCURSES_H]: Include ncurses.h.
45759 [HAVE_CURSES_H]: Include curses.h.
45760 [!A_NORMAL] (A_NORMAL): Defined as zero.
45761 [!A_STANDOUT] (A_STANDOUT): Likewise.
45762
45763 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45764 -lncurses.
45765 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45766
45767 * configure.ac: Check for curses libraries and headers.
45768
45769 * Makefile.in (LIBCURSES): New variable.
45770
45771 * genmk.rb (Script::rule): Set the executable bits.
45772
45773 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45774 name of the PC partition map is "pc_partition_map" but not "pc".
45775
0e143073 457762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45777
45778 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45779 (modules): Likewise.
45780 (usage): Added descriptions for --modules and --grub-probefs.
45781 Handle --modules and --grub-probefs. Save the arguments in MODULES
45782 and GRUB_PROBEFS, respectively.
45783 Auto-detect a filesystem module against GRUBDIR. If the result is
45784 empty and modules are not specified explicitly, abort the
45785 installation. Add the result to MODULES.
45786
45787 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45788 disk/powerpc/ieee1275/ofdisk.c,
45789 include/grub/powerpc/ieee1275/init.h and
45790 term/powerpc/ieee1275/ofconsole.c.
45791 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45792 term/ieee1275/ofconsole.c.
45793
45794 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45795
45796 * COPYING: Upgraded to the latest version. Only the address of the
45797 FSF office has changed.
f19dbdb7 45798
efd6e6d5 457992005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45800
45801 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45802 kern/ieee1275.c with kern/ieee1275/of.c.
45803
45804 * kern/ieee1275.c: Moved to ...
45805 * kern/ieee1275/of.c: ... here.
45806
8ceafda2 458072005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45808
45809 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 45810 readability.
8ceafda2 45811
45812 * config.guess: Updated to the latest version from gnulib.
45813 * config.sub: Likewise.
45814 * install.sh: Likewise.
45815 * mkinstalldirs: Likewise.
45816
45817 * include/grub/console.h: Removed. This file is arch-specific. Do
45818 not put this in include/grub.
45819
45820 * include/grub/i386/pc/console.h: Resurrected.
45821
45822 * util/console.c: Include grub/machine/console.h instead of
45823 grub/console.h.
45824 * util/grub-emu.c: Likewise.
45825
267f6cd9 458262005-08-04 Marco Gerards <metgerards@student.han.nl>
45827
45828 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45829 hardcoded value.
f19dbdb7 45830
267f6cd9 45831 From Vincent Pelletier <subdino2004@yahoo.fr>
45832 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45833 Redefined to use grub_getwh.
45834 (grub_term): New member named getwh.
45835 (grub_getwh): New prototype.
45836 * kern/term.c (grub_getwh): New function.
45837 * term/i386/pc/console.c (grub_console_getwh): New function.
45838 (grub_console_term): New member `getwh'.
45839 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45840 (grub_vga_term): New member `getwh'.
0b5abe02 45841 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 45842 grub_ssize_t.
45843 (grub_ofconsole_getw): New function.
45844 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45845 (grub_ofconsole_term): New field named getwh and new initial
45846 value.
45847
3be7266d 458482005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45849
45850 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45851 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45852 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45853 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45854 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45855 of <grub/machine/ieee1275.h>.
45856 * commands/ieee1275/reboot.c: Likewise.
45857 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45858 * kern/ieee1275.c: ... to here. All users updated. Change all
45859 parameter structs to use new type `grub_ieee1275_cell_t'.
45860 * term/powerpc/ieee1275/ofconsole.c: Move ...
45861 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45862 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45863 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45864 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45865 to return int.
45866 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45867 Remove unused prototypes. All users updated.
45868 * include/grub/powerpc/ieee1275/console.h: Removed.
45869 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45870 `grub_ieee1275_cell_t'.
45871 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45872 Cast comparisons with -1 to the correct type.
45873 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45874 type to match `grub_ieee1275_entry_fn'.
45875
8b5f3938 458762005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45877
45878 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45879
45880 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45881 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45882 partmap/sun.c.
45883 (grub_probefs_SOURCES): New variable.
45884
45885 * util/i386/pc/grub-probefs.c: New file.
45886
45887 * util/i386/pc/grub-setup.c (main): Call
45888 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45889 grub_hfs_init and grub_jfs_init to initialize the system. Call
45890 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45891 grub_pc_partition_map_fini to finish the system.
45892
ea409713 458932005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45894
45895 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45896 function.
45897 (grub_multiboot_load_elf32): Likewise.
45898 (grub_multiboot_is_elf64): Likewise.
45899 (grub_multiboot_load_elf64): Likewise.
45900 (grub_multiboot_load_elf): Likewise.
45901 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45902 an ELF32 or ELF64 file.
45903 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45904
45905 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45906 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45907 NULL before calling FS->LABEL.
45908 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45909 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45910 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45911 before calling FS->LABEL.
45912
141a288b 459132005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45914
45915 * util/i386/pc/grub-install.in (datadir): New variable.
45916 (libdir): Removed.
45917 (pkgdatadir): New variable.
45918 (pkglibdir): Removed.
45919
0d5f8a54 459202005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45921
45922 * DISTLIST: Added util/i386/pc/grub-install.in.
45923
45924 * util/i386/pc/grub-install.in: New file.
45925
45926 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45927 (grub_install_SOURCES): Likewise.
45928
45929 * genmk.rb: Added support for scripts.
45930 (Script): New class.
45931 (scripts): New variable.
45932
45933 * Makefile.in (install-local): Install sbin_SCRIPTS by
45934 INSTALL_SCRIPT.
45935 (uninstall): Remove sbin_SCRIPTS.
45936
45937 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45938 device, try to get a GRUB device by
45939 grub_util_biosdisk_get_grub_dev.
45940 Free DEST_DEV.
45941
45942 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45943 description for --device-map.
45944
5f968e1e 459452005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45946
45947 Change the semantics of variable hooks. They now return strings
45948 instead of error values.
f19dbdb7 45949
5f968e1e 45950 * util/i386/pc/grub-setup.c: Include grub/env.h.
45951 (setup): Use grub_device_set_root instead of grub_env_set.
45952
45953 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45954 grub_env_get instead of grub_device_set_root and
45955 grub_device_get_root, respectively.
45956
45957 * kern/main.c (grub_env_write_root): New function.
45958 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45959 grub_env_set instead of grub_device_set_root.
45960
45961 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45962 many variables.
45963 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45964 rather than calling ENV->WRITE_HOOK afterwards.
45965 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45966 passing a pointer of a pointer.
45967 (grub_register_variable_hook): Change the types of "read_hook" and
45968 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45969 respectively.
45970 Allocate the default empty string on the heap, because this string
45971 may be freed later.
45972
45973 * kern/device.c: Include grub/env.h.
45974 (grub_device_set_root): Removed.
45975 (grub_device_get_root): Likewise.
45976 (grub_device_open): Use grub_env_get instead of
45977 grub_device_get_root.
45978
45979 * include/grub/env.h (grub_env_read_hook_t): New type.
45980 (grub_env_write_hook_t): Likewise.
45981 (grub_env_var): Change the types of "read_hook" and "write_hook"
45982 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45983 (grub_register_variable_hook): Likewise.
45984
45985 * include/grub/device.h (grub_device_set_root): Removed.
45986 (grub_device_set_root): Likewise.
45987
45988 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45989 make sure that DIRNAME terminates with '/', so that
45990 grub_fat_find_dir will fail if PATH is not a directory.
45991
45992 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45993 from DIRNAME.
45994 Use the qualifier auto for print_files and print_files_long.
45995 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45996 as a regular file.
45997 Put a newline only if there is no error.
45998 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45999 used.
46000
896f0afd 460012005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46002
46003 * kern/partition.c (grub_partition_probe): Initialize PART to
46004 NULL. Otherwise, when no partition map is registered, this returns
46005 a garbage.
46006
b28b81b2 460072005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46008
46009 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46010 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46011 valid.
46012
5f3607e0 460132005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46014
46015 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46016 information on each device, if it does not have partitions. Print
46017 "Device" instead of "Disk", because this function is not specific
46018 to disk devices.
46019
46020 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46021 static to ensure that it is put on the memory rather than a
46022 register.
46023
502c87e8 460242005-07-17 Yoshinori Okuji <okuji@enbug.org>
46025
46026 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46027 (grub_cat_init): Likewise.
46028 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46029 (options): Likewise.
46030 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46031 (grub_configfile_init): Likewise.
46032 * font/manager.c (GRUB_MOD_INIT): Likewise.
46033 * commands/help.c (GRUB_MOD_INIT): Likewise.
46034 (grub_help_init): Likewise.
46035 * normal/command.c (grub_command_init): Likewise.
46036 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46037 * disk/loopback.c (grub_loop_init): Likewise.
46038 (GRUB_MOD_INIT): Likewise.
46039 * commands/ls.c (grub_ls_init): Likewise.
46040 (GRUB_MOD_INIT): Likewise.
46041 (options): Likewise.
46042 * commands/boot.c (grub_boot_init): Likewise.
46043 (GRUB_MOD_INIT): Likewise.
46044 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46045 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46046 (GRUB_MOD_INIT): Likewise.
46047 * commands/cmp.c (grub_cmp_init): Likewise.
46048 (GRUB_MOD_INIT): Likewise.
46049
46050 * normal/arg.c: Use <> instead of "" to include header files.
46051 (SHORT_ARG_HELP): New macro.
46052 (SHORT_ARG_USAGE): Likewise.
46053 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46054 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46055 descriptions.
46056 (find_short): Check if C is 'h' or 'u' explicitly.
46057 (grub_arg_show_help): Use space characters instead of tabs. Treat
46058 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46059 are shown with --help and --usage only if they are not used for
46060 the command itself.
46061 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46062 'h' and 'u'.
46063
46064 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46065 const into "longarg". Change the type of "shortarg" to int.
46066
f806d18e 460672005-07-17 Yoshinori Okuji <okuji@enbug.org>
46068
46069 * boot/i386/pc/boot.S (boot_drive_check): New label.
46070
46071 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46072 macro.
46073
46074 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46075 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46076
e293232b 460772005-07-17 Yoshinori Okuji <okuji@enbug.org>
46078
46079 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46080 When turning off Gate A20, skip the check and return immediately,
46081 because this is not fatal usually.
46082
ebedfd00 460832005-07-17 Yoshinori Okuji <okuji@enbug.org>
46084
46085 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46086 be 0x7C00 instead of 0x8000.
46087
46088 * boot/i386/pc/pxeboot.S: Rewritten.
46089
46090 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46091 EXT_C.
46092 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46093 result.
46094
654fc59f 460952005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46096
46097 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46098 robustness. This routine now supports a BIOS call and System
46099 Control Port A to modify the gate A20.
46100
46101 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46102 Increased to 0x440.
46103
09f9923f 461042005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46105
46106 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46107 device path and resulting ihandle.
46108 (grub_ofdisk_close): dprintf the ihandle being closed.
46109 (grub_ofdisk_read): dprintf function parameters.
46110 * kern/mm.c (grub_mm_init_region): Likewise.
46111 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46112 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46113 size, and boot arguments.
46114 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46115 before loading into memory.
46116 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46117 before loading into memory.
46118
7ef504d8 461192005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46120
46121 * kern/mm.c: Added much documentation.
46122 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46123 8, set to 5 instead of 8.
46124
e0f050c2 461252005-07-10 Yoshinori Okuji <okuji@enbug.org>
46126
46127 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46128
46129 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46130 (grub_mkdevicemap_SOURCES): New variable.
46131
46132 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46133 lib/device.c of GRUB Legacy.
46134
7224189a 461352005-07-10 Yoshinori Okuji <okuji@enbug.org>
46136
46137 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46138 instead of PATH is NULL.
46139
68c864eb 461402005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46141
46142 * commands/cmp.c (BUFFER_SIZE): New macro.
46143 (grub_cmd_cmp): Close the right file at the right time. Compare
46144 only data just read. Don't report files of different size as
46145 identical. Dynamically allocate buffers. Move variable
46146 declarations at the beginning of function.
46147
e6f3e614 461482005-07-09 Yoshinori Okuji <okuji@enbug.org>
46149
46150 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46151 reverse.
46152
f8f1559a 461532004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46154
46155 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46156 when backspace is pressed at beginning of line.
46157
39c9d41d 461582005-07-03 Yoshinori Okuji <okuji@enbug.org>
46159
46160 * DISTLIST: Added genfslist.sh.
46161
46162 * normal/main.c (fs_module_list): New variable.
46163 (autoload_fs_module): New function.
46164 (read_fs_list): Likewise.
46165 (grub_normal_execute): Call read_fs_list.
46166
46167 * kern/fs.c (grub_fs_autoload_hook): New variable.
46168 (grub_fs_probe): Added support for auto-loading.
46169
46170 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46171 (grub_fs_module_list_t): New type.
46172
46173 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46174 (grub_fs_autoload_hook): New prototype.
46175
46176 * genfslist.sh: New file.
f19dbdb7 46177
39c9d41d 46178 * genmk.rb: Added a rule to generate a filesystem list.
46179
121c1d83 461802005-06-30 Marco Gerards <metgerards@student.han.nl>
46181
46182 * configure.ac: Fix the test for cross-compiling.
46183
46184 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46185 define GRUB_UTIL anymore.
46186
46187 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46188 so this function works on other systems than just big endian.
46189 (load_modules): Likewise.
46190 (add_segments): Likewise.
46191
e75d76e1 461922005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46193
46194 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46195 contains `l' modifier, get a long from va_arg().
46196
50b5a0a7 461972005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46198
46199 * kern/mm.c (grub_free): If the next free block which is being
46200 merged is the first free block, set the first block to the block
46201 being freed.
46202 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46203
89371b20 462042005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46205
46206 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46207 `grub_ieee1275_chosen'.
46208
168d6e58 462092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46210
46211 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46212 (grub_ieee1275_chosen): New variable.
46213 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46214 `chosen'.
46215 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46217 Rename first argument to `phandle' for consistency.
46218 (grub_ieee1275_get_property_length): Likewise.
46219 (grub_ieee1275_next_property): Likewise. Change type of first argument
46220 to grub_ieee1275_phandle_t.
46221 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46222 Move export next to declaration.
46223 (grub_ieee1275_chosen): New variable.
46224 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46225 Correct cosmetic typo.
46226 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46227 `grub_ieee1275_chosen'.
46228 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46229 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46230 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46231 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46232 `grub_ieee1275_chosen'.
46233
ca5baa3f 462342005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46235
46236 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46237 /chosen/bootargs.
46238 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46239 /chosen/bootargs as "variable=value" pairs.
46240
708b345f 462412005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46242
46243 * include/grub/misc.h (grub_dprintf): New macro.
46244 (grub_real_dprintf): New prototype.
46245 (grub_strword): Likewise.
46246 (grub_iswordseparator): Likewise.
46247 * kern/misc.c (grub_real_dprintf): New function.
46248 (grub_strword): Likewise.
46249 (grub_iswordseparator): Likewise.
46250
f4c5e67c 462512005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46252
46253 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46254 (roundup): Remove macro.
46255 (grub_ieee1275_flags): Make static.
46256 (grub_ieee1275_realmode): Remove.
46257 (grub_ieee1275_test_flag): New function.
46258 (grub_ieee1275_set_flag): Likewise.
46259 (find_options): Rename to `grub_ieee1275_find_options'; update
46260 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46261 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46262 (cmain): New prototype.
46263 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46264 `grub_ieee1275_flags' directly.
46265 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46266 machine/biosdisk.h.
46267 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46268 Don't include grub/machine/init.h.
46269 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46270 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46271 Remove prototype.
46272 (grub_ieee1275_realmode): Likewise.
46273 (grub_ieee1275_flag): New enum.
46274 (grub_ieee1275_test_flag): New prototype.
46275 (grub_ieee1275_set_flag): New prototype.
46276 * include/grub/powerpc/ieee1275/init.h: Remove file.
46277 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46278 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46279 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46280 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46281 comment.
46282 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46283 `grub_ieee1275_test_flag'.
46284 (grub_ieee1275_encode_devname): Likewise.
46285
ed16607e 462862005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46287
46288 * include/grub/powerpc/ieee1275/ieee1275.h
46289 (grub_ieee1275_encode_devname): New prototype.
46290 (grub_ieee1275_get_filename): Likewise.
46291 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46292 function.
46293 (grub_set_prefix): Likewise.
46294 (grub_machine_init): Call grub_set_prefix.
46295 * kern/powerpc/ieee1275/openfw.c: Fix typos.
46296 (grub_parse_type): New enum.
46297 (grub_ieee1275_get_devargs): New function.
46298 (grub_ieee1275_get_devname): Likewise.
46299 (grub_ieee1275_parse_args): Likewise.
46300 (grub_ieee1275_get_filename): Likewise.
46301 (grub_ieee1275_encode_devname): Likewise.
46302
be369920 463032005-03-30 Marco Gerards <metgerards@student.han.nl>
46304
46305 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
46306 `grub_loader_unset'.
46307
a5ce3a4a 463082005-03-26 Hollis Blanchard <hollis@penguinppc.org>
46309
46310 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
46311 instead of grub_ieee1275_interpret.
46312 (grub_halt_init): New function.
46313 (grub_halt_fini): Likewise.
46314 (GRUB_MOD_INIT): Correct message grammar.
46315 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
46316 instead of grub_ieee1275_interpret.
46317 (grub_reboot_init): New function.
46318 (grub_reboot_fini): Likewise.
46319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
46320 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
46321 util/i386/pc/misc.c with commands/ieee1275/halt.c,
46322 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
46323 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
46324 function.
46325 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
46326 Add prototype.
46327 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
46328 prototype.
46329 (grub_halt): Likewise.
46330 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
46331 (cmain): Remove __attribute__((unused)).
46332 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
46333 (grub_heap_len): Likewise.
46334 (grub_machine_fini): New function.
46335 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
46336 (grub_halt): Likewise.
46337 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
46338 function.
46339 * util/powerpc/ieee1275/misc.c: New file.
46340
0058f771 463412005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46342
46343 * DISTLIST: New file.
46344 * gendistlist.sh: Likewise.
f19dbdb7 46345
0058f771 46346 * Makefile.in (COMMON_DISTFILES): Removed.
46347 (BOOT_DISTFILES): Likewise.
46348 (CONF_DISTFILES): Likewise.
46349 (DISK_DISTFILES): Likewise.
46350 (FS_DISTFILES): Likewise.
46351 (INCLUDE_DISTFILES): Likewise.
46352 (KERN_DISTFILES): Likewise.
46353 (LOADER_DISTFILES): Likewise.
46354 (TERM_DISTFILES): Likewise.
46355 (UTIL_DISTFILES): Likewise.
46356 (DISTFILES): Likewise.
46357 (uninstall): Uninstall files in $(pkgdata_DATA).
46358 (DISTLIST): New target.
46359 (distdir): Use the contents of the file DISTLIST to get a list of
46360 distributed files.
46361
46b3b8a5 463622005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46363
46364 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
46365 descriptor. This is ported from GRUB Legacy.
46366
46367 * gencmdlist.sh: Added an extra semicolon to make it work with
46368 old sed versions. Reported by Robert Bihlmeyer
46369 <robbe@orcus.priv.at>.
46370
5822ff87 463712005-03-08 Yoshinori Okuji <okuji@enbug.org>
46372
46373 Automatic loading of commands is supported.
f19dbdb7 46374
5822ff87 46375 * normal/main.c (read_command_list): New function.
46376 (grub_normal_execute): Call read_command_list.
46377
46378 * normal/command.c (grub_register_command): Return zero or CMD.
46379 Allocate CMD->NAME from the heap.
46380 Initialize CMD->MODULE_NAME to zero.
46381 Find the same name as well. If the same command is found and it is
46382 a dummy command, overwrite members. If it is not a dummy command,
46383 return zero.
46384 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
46385 (grub_command_find): If a dummy command is found, load a module
46386 and retry to find a command only once.
46387
46388 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
46389 make sure that each command is loaded.
46390
46391 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
46392 macro.
46393 (struct grub_command): Remove const from the member `name'.
46394 Add a new member `module_name'.
46395 (grub_register_command): Return grub_command_t.
46396
46397 * commands/help.c (grub_cmd_help): Call grub_command_find to make
46398 sure that each command is loaded.
46399
46400 * genmk.rb (PModule::rule): Specify a module name without the
46401 suffix ".mod" to gencmdlist.sh.
46402
7b1f4b57 464032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46404
46405 * gencmdlist.sh: New file.
f19dbdb7 46406
7b1f4b57 46407 * genmk.rb (PModule::rule): Generate a rule for a command list.
46408 Clean command.lst.
46409 Generate command.lst from $(COMMANDFILES).
46410
46411 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
46412 (DATA): Added $(pkgdata_DATA).
46413 (install-local): Install files in $(pkgdata_DATA).
46414
062aaf39 464152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46416
46417 * term/i386/pc/vga.c (debug_command): Removed.
46418 (GRUB_MOD_INIT): Do not register the command "debug".
46419
46420 From Hollis Blanchard:
46421 * commands/configfile.c: New file.
46422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46423 commands/configfile.c.
46424 (pkgdata_MODULES): Added configfile.mod.
46425 (configfile_mod_SOURCES): New variable.
46426 (configfile_mod_CFLAGS): Likewise.
46427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46428 commands/configfile.c.
46429 (pkgdata_MODULES): Added configfile.mod.
46430 (configfile_mod_SOURCES): New variable.
46431 (configfile_mod_CFLAGS): Likewise.
46432 * util/grub-emu.c (main): Call grub_configfile_init and
46433 grub_configfile_fini.
46434 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
46435 prototype.
46436 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 46437
cee01aa6 464382005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46439
46440 * normal/arg.c (grub_arg_show_help): Do not show the bug report
46441 address.
46442
46443 * commands/help.c (grub_cmd_help): Do not print newlines after
46444 the last command in print_command_help.
46445
93f3a1d8 464462005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46447
46448 * commands/default.h: New file.
46449 * commands/timeout.h: Likewise.
46450 * normal/context.c: Likewise.
f19dbdb7 46451
93f3a1d8 46452 * util/misc.c: Do not include sys/times.h.
46453 Include sys/time.h and grub/machine/time.h.
46454 (grub_get_rtc): Rewritten with gettimeofday.
46455
46456 * util/grub-emu.c (main): Call grub_default_init and
46457 grub_timeout_init before grub_normal_init, and call
46458 grub_timeout_fini and grub_default_fini after grub_main.
46459
46460 * util/console.c (grub_ncurses_checkkey): Return the read
46461 character or -1.
46462
46463 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46464 timeouts.
46465
46466 * normal/main.c (read_config_file): Push MENU. If this fails,
46467 print an error and wait for a user input.
46468 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46469 If a menu is empty or an error occurs, pop MENU.
46470 (grub_normal_execute): Pop and free MENU after grub_menu_run
46471 returns.
46472
46473 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46474
46475 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46476 include time.h.
46477 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46478 without GRUB_UTIL.
46479 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46480 time.h.
46481 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46482 without GRUB_UTIL.
46483
46484 * include/grub/normal.h (struct grub_menu_list): New struct.
46485 (grub_menu_list_t): New type.
46486 (struct grub_context): New struct.
46487 (grub_context_t): New type.
46488 (grub_register_command): Got rid of EXPORT_FUNC.
46489 (grub_unregister_command): Likewise.
46490 (grub_context_get): New prototype.
46491 (grub_context_get_current_menu): Likewise.
46492 (grub_context_push_menu): Likewise.
46493 (grub_context_pop_menu): Likewise.
46494 [GRUB_UTIL] (grub_default_init): Likewise.
46495 [GRUB_UTIL] (grub_default_fini): Likewise.
46496 [GRUB_UTIL] (grub_timeout_init): Likewise.
46497 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46498
46499 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46500 commands/timeout.c and normal/context.c.
46501 (pkgdata_MODULES): Added default.mod and timeout.mod.
46502 (normal_mod_SOURCES): Added normal/context.c.
46503 (default_mod_SOURCES): New variable.
46504 (default_mod_CFLAGS): Likewise.
46505 (timeout_mod_SOURCES): Likewise.
46506 (timeout_mod_CFLAGS): Likewise.
46507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46508 conf/i386-pc.rmk.
46509 (pkgdata_MODULES): Added default.mod and timeout.mod.
46510 (normal_mod_SOURCES): Added normal/context.c.
46511 (default_mod_SOURCES): New variable.
46512 (default_mod_CFLAGS): Likewise.
46513 (timeout_mod_SOURCES): Likewise.
46514 (timeout_mod_CFLAGS): Likewise.
46515
46516 * Makefile.in (all-local): Added $(MKFILES).
46517
4ed2e1dd 465182005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46519
46520 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46521 (grub_emu_SOURCES): Likewise.
46522 (pkgdata_MODULES): Add `sun.mod'.
46523 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46525 `partmap/sun.c'.
46526 (pkgdata_MODULES): Add `sun.mod'.
46527 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46528 * include/grub/partition.h (grub_sun_partition_map_init): New
46529 prototype.
46530 (grub_sun_partition_map_fini): Likewise.
46531 * partmap/sun.c: New file.
46532 * util/grub-emu.c (main): Initialize and de-initialize the sun
46533 partitionmap support.
46534
4d4e372e 465352005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46536
46537 This implements an Emacs-like menu entry editor.
f19dbdb7 46538
4d4e372e 46539 * normal/menu_entry.c: New file.
f19dbdb7 46540
4d4e372e 46541 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46542 characters to ASCII.
46543 (saved_char): New variable.
46544 (grub_ncurses_checkkey): Rewritten completely.
46545 (grub_ncurses_getkey): Likewise.
46546 (grub_ncurses_init): Call raw instead of cbreak.
46547
46548 * normal/menu.c (print_entry): Do not put a space.
46549 (init_page): Renamed to ...
46550 (grub_menu_init_page): ... this. All callers changed.
46551 (edit_menu_entry): Removed.
46552 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46553
46554 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46555
46556 * kern/misc.c (grub_vprintf): Call grub_refresh.
46557
46558 * normal/menu.c (DISP_LEFT): Renamed to ...
46559 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46560 * normal/menu.c (DISP_UP): Renamed to ...
46561 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46562 * normal/menu.c (DISP_RIGHT): Renamed to ...
46563 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46564 * normal/menu.c (DISP_DOWN): Renamed to ...
46565 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46566 * normal/menu.c (DISP_HLINE): Renamed to ...
46567 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46568 * normal/menu.c (DISP_VLINE): Renamed to ...
46569 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46570 * normal/menu.c (DISP_UL): Renamed to ...
46571 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46572 * normal/menu.c (DISP_UR): Renamed to ...
46573 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46574 * normal/menu.c (DISP_LL): Renamed to ...
46575 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46576 * normal/menu.c (DISP_LR): Renamed to ...
46577 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46578 * normal/menu.c (TERM_WIDTH): Renamed to ...
46579 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46580 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46581 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46582 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46583 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46584 * normal/menu.c (TERM_MARGIN): Renamed to ...
46585 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46586 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46587 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46588 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46589 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46590 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46591 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46592 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46593 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46594 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46595 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46596 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46597 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46598 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46599 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46600 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46601 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46602 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46603 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46604 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46605 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46606 All callers changed.
46607
46608 * include/grub/normal.h: New prototype.
46609
46610 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46611 normal/menu_entry.c.
46612 (normal_mod_SOURCES): Likewise.
46613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46614 (normal_mod_SOURCES): Likewise.
46615
e6b92c8a 466162005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46617
46618 * include/grub/normal.h (grub_halt_init): New prototype.
46619 (grub_halt_fini): Likewise.
46620 (grub_reboot_init): Likewise.
46621 (grub_reboot_fini): Likewise.
46622
46623 * util/grub-emu.c: Include signal.h.
46624 (main_env): New global variable.
46625 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46626 catch C-c.
46627 (grub_machine_fini): New function.
46628 (main): Call grub_halt_init and grub_reboot_init before
46629 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46630 Call setjmp with MAIN_ENV to go back afterwards.
46631 Call grub_machine_fini right before return.
46632
46633 * include/grub/util/misc.h: Include setjmp.h.
46634 (main_env): New prototype.
46635
46636 * include/grub/kernel.h (grub_machine_fini): New prototype.
46637 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46638 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46639
46640 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46641 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46642 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 46643
e6b92c8a 46644 * util/i386/pc/misc.c: New file.
f19dbdb7 46645
e6b92c8a 46646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46647 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46648 commands/i386/pc/reboot.c.
46649
c642636f 466502005-02-14 Guillem Jover <guillem@hadrons.org>
46651
46652 * include/grub/dl.h (grub_dl_check_header): New prototype.
46653 (grub_arch_dl_check_header): Change return type to grub_err_t,
46654 remove size parameter and export function. Update all callers.
46655 * kern/dl.c (grub_dl_check_header): New function.
46656 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46657 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46658 are inside the core.
46659 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46660 independent ELF header checks.
46661 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46662 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46663 `grub_dl_check_header' instead of explicit checks. Check for the
46664 ELF type.
46665 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46666 `grub_dl_check_header' instead of explicit checks. Remove arch
46667 specific ELF header checks.
46668
e6b92c8a 46669 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46670 argument SIZE.
46671
5eabe94b 466722005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46673
46674 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46675 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46676
1b14a681 466772005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46678
46679 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 46680 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 46681 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 46682 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 46683 * partmap/amiga.c (amiga_partition_map_iterate): Return
46684 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46685 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46686
aca108aa 466872005-02-01 Guillem Jover <guillem@hadrons.org>
46688
46689 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46690 help info.
46691
c9f9c556 466922005-01-31 Marco Gerards <metgerards@student.han.nl>
46693
46694 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46695 Removed prototype.
46696 (grub_rescue_cmd_linux): New prototype.
46697 (grub_rescue_cmd_initrd): Likewise.
46698 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46699 `bi_rec'.
46700 (grub_linux_release_mem): Release the memory for the initrd.
46701 (grub_load_linux): Renamed from this...
46702 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46703 Changed `entry' not to be static. Loop over memory regions to
46704 find another one when the default fails.
46705 (grub_rescue_cmd_initrd): New function.
46706 (grub_linux_init): Remove function.
46707 (grub_linux_fini): Likewise.
46708 (GRUB_MOD_INIT): Register `initrd'.
46709 (GRUB_MOD_FINI): Unregister `initrd'.
46710 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46711 Function removed.
46712 (grub_linux_normal_fini): Likewise.
46713 (GRUB_MOD_INIT): Register `initrd'.
46714 (GRUB_MOD_FINI): Unregister `initrd'.
46715
990cf3aa 467162005-01-31 Marco Gerards <metgerards@student.han.nl>
46717
46718 * commands/help.c: New file.
46719 * normal/arg.c (show_help): Renamed to...
46720 (grub_arg_show_help): ... this.
46721 * commands/i386/pc/halt.c: New file.
46722 * commands/i386/pc/reboot.c: Likewise.
46723 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46724 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46725 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46726 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46727 variables.
46728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46729 `commands/help.c'.
46730 (pkgdata_MODULES): Add `help.mod'.
46731 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46732 * grub/i386/pc/init.h (grub_reboot): New prototype.
46733 (grub_halt): Likewise.
46734 * include/grub/normal.h (grub_arg_show_help): New prototype.
46735 (grub_help_init): Likewise.
46736 (grub_help_fini): Likewise.
46737 * util/grub-emu.c (main): Initialize and deinitialize the help
46738 command.
46739
46740 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46741
46742 * normal/command.c (grub_command_init): Fixed the description of
46743 the `set' and `unset' commands.
46744
467452005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 46746
46747 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46748 function.
46749 * commands/ieee1275/halt.c: New file.
46750 * commands/ieee1275/reboot.c: Likewise.
46751 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46752 `__attribute__ ((unused))'. Some GCS related fixed.
46753 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46754 (grub_suspend_fini): Likewise.
46755 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46756 and `halt.mod'.
46757 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46758 (halt_mod_CFLAGS): New variables.
46759 * include/grub/powerpc/ieee1275/ieee1275.h
46760 (grub_ieee1275_interpret): New prototype.
46761
1ab09cc7 467622005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46763
46764 * include/grub/misc.h (memmove): New prototype.
46765 (memcpy): Likewise.
46766
8b8cbdb2 467672005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46768
46769 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46770 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46771
e3741a27 467722005-01-22 Marco Gerards <metgerards@student.han.nl>
46773
46774 * kern/misc.c (grub_strndup): Function rewritten.
46775
776bd780 467762005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46777
46778 * normal/menu.c (TERM_WIDTH): Macro redefined.
46779 (TERM_TOP_BORDER_Y): Likewise.
46780 (draw_border): Replaced while-loop by a for-loop. Make the number
46781 of lines consistent with the number of lines displayed in
46782 print_entries. Added a margin below the rectangle.
46783 (print_entry): Make the entry fit in the rectangle.
46784 (print_entries): Display the scroll arrows next to the right
46785 border.
46786
78026bce 467872005-01-21 Marco Gerards <metgerards@student.han.nl>
46788
46789 * fs/minix.c (grub_minix_find_file): Reserve more space for
46790 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46791 `grub_strncpy' to copy `path' into it.
46792
67bbaf0f 467932005-01-21 Marco Gerards <metgerards@student.han.nl>
46794
46795 Add the loopback device, a device via which files can be accessed
46796 as devices.
f19dbdb7 46797
67bbaf0f 46798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46799 (pkgdata_MODULES): Add loopback.mod.
46800 (loopback_mod_SOURCES): New variable.
46801 (loopback_mod_CFLAGS): Likewise.
46802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46803 `disk/loopback.c'.
46804 (pkgdata_MODULES): Add loopback.mod.
46805 (loopback_mod_SOURCES): New variable.
46806 (loopback_mod_CFLAGS): Likewise.
46807 * disk/loopback.c: new file.
46808 * include/grub/normal.h (grub_loop_init): New prototype.
46809 (grub_loop_fini): New prototype.
46810 * util/grub-emu.c (main): Initialize and de-initialize loopback
46811 support.
46812 * include/grub/disk.h (grub_disk_dev_id): Add
46813 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46814
6f1c18bd 468152005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46816
46817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46818 function.
46819 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46820 (suspend_mod_SOURCES): New variable.
46821 (suspend_mod_CFLAGS): Likewise.
46822 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46823 New prototype.
46824 * commands/ieee1275/suspend.c: New file.
46825
b38551da 468262005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46827
46828 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 46829 ((unused))' to `__attribute__ ((used))'.
b38551da 46830 (GRUB_MOD_FINI): Likewise.
46831 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46832 * genmk.rb (PModule): Assign space to common symbols when linking
46833 modules.
46834
777aff39 468352005-01-20 Marco Gerards <metgerards@student.han.nl>
46836
46837 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46838 `unsigned' arguments to `grub_size_t'.
46839 (grub_malloc): Likewise.
46840 (grub_realloc): Likewise.
46841 (grub_memalign): Likewise.
46842 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46843 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46844 * util/misc.c (grub_malloc): Likewise.
46845 (grub_realloc): Likewise.
46846 * kern/mm.c (get_header_from_pointer): Change the casts to
46847 `unsigned' into a cast to `grub_size_t'.
46848
46849 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46850 point to `currnode' when `currnode' is changed.
46851
46852 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46853 Schottelius <nico-linux@schottelius.org>.
46854
d0ff18e1 468552005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46856
46857 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46858 (note_path): Remove variable.
46859 (GRUB_IEEE1275_NOTE_NAME): New macro.
46860 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46861 (grub_ieee1275_note_hdr): New structure.
46862 (grub_ieee1275_note_desc): Likewise.
46863 (grub_ieee1275_note): Likewise.
46864 (load_note): Remove `dir' argument. All callers updated. Remove
46865 `note_img' and `path'. Do not load a file from `note_path'.
46866 Initialize a struct grub_ieee1275_note and write that to `out'.
46867 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46868
4ca7004c 468692005-01-05 Marco Gerards <metgerards@student.han.nl>
46870
46871 * util/misc.c (grub_util_read_image): Revert last change. It
46872 called `grub_util_read_at', which seeks from the beginning of the
46873 file.
46874
0b412211 468752005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46876
46877 * TODO: Add note about endianness in grub-mkimage.
46878 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46879 section.
46880 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46881 (grub_mkimage_SOURCES): New target.
46882 * include/grub/kernel.h (grub_start_addr): Remove variable.
46883 (grub_end_addr): Likewise.
46884 (grub_total_module_size): Likewise.
46885 (grub_kernel_image_size): Likewise.
46886 (GRUB_MODULE_MAGIC): New constant.
46887 (grub_module_info): New structure.
46888 (grub_arch_modules_addr): New prototype.
46889 (grub_get_end_addr): Remove prototype.
46890 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46891 * include/grub/powerpc/ieee1275/kernel.h: New file.
46892 * include/grub/util/misc.h (grub_util_get_fp_size): New
46893 prototype.
46894 (grub_util_read_at): Likewise.
46895 (grub_util_write_image_at): Likewise.
46896 * kern/main.c (grub_get_end_addr): Remove function.
46897 (grub_load_modules): Call grub_arch_modules_addr instead of using
46898 grub_end_addr. Look for a grub_module_info struct in memory. Use
46899 the grub_module_info fields instead of calling grub_get_end_addr
46900 as loop conditions. Move grub_add_unused_region code here.
46901 (grub_add_unused_region): Remove function.
46902 * kern/i386/pc/init.c: Include grub/cache.h.
46903 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46904 one call to add_mem_region.
46905 (grub_arch_modules_addr): New function.
46906 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46907 (grub_total_module_size): Likewise.
46908 Include grub/machine/kernel.h.
46909 (grub_arch_modules_addr): New function.
46910 * util/grub-emu.c (grub_end_addr): Remove variable.
46911 (grub_total_module_size): Likewise.
46912 (grub_arch_modules_addr): New function.
46913 * util/misc.c: Include unistd.h.
46914 (grub_util_get_fp_size): New function.
46915 (grub_util_read_at): Likewise.
46916 (grub_util_write_image_at): Likewise.
46917 (grub_util_read_image): Call grub_util_read_at.
46918 (grub_util_write_image): Call grub_util_write_image_at.
46919 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46920 additional memory in kernel_img for a struct grub_module_info.
46921 Fill in that grub_module_info.
46922 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46923
458786f8 469242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46925
46926 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46927 New function.
46928 * include/grub/powerpc/ieee1275/ieee1275.h
46929 (grub_ieee1275_milliseconds): New prototype.
46930 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46931 Change to 1000.
46932 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46933 grub_ieee1275_milliseconds.
46934
ac507d1b 469352005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46936
46937 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46938 variable.
46939 (find_options): New function.
46940 (cmain): Call find_options.
46941 * include/grub/powerpc/ieee1275/ieee1275.h
46942 (grub_ieee1275_realmode): New extern variable.
46943 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46944 grub_map if grub_ieee1275_realmode is false.
46945
6b8fd1c4 469462004-12-29 Marco Gerards <metgerards@student.han.nl>
46947
46948 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46949 lines are inserted and make it work like readline. Reported by
46950 Vincent Pelletier <subdino2004@yahoo.fr>.
46951
8514a1e0 469522004-12-28 Marco Gerards <metgerards@student.han.nl>
46953
46954 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46955
46956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46957 `kern/powerpc/cache.S'.
46958
924b6140 469592004-12-27 Marco Gerards <metgerards@student.han.nl>
46960
46961 * genmk.rb: Handle the `Program' class in the main loop. Written
46962 by Johan Rydberg <jrydberg@gnu.org>.
46963 (Program): New class.
46964 (programs): New variable.
46965 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46966 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46967 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46968 (help_arch): Function removed.
46969 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46970 `powerpc/libgcc.h' and `loader.h'.
46971 (pkgdata_PROGRAMS): New variable.
46972 (sbin_UTILITIES): Variable removed.
46973 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46974 (grubof_SOURCES): Variable re-defined so it only includes the
46975 core functionality.
46976 (grubof_CFLAGS): Remove `-DGRUBOF'.
46977 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46978 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46979 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46980 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46981 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46982 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46983 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46984 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46985 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46986 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46987 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46988 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46989 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46990 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46991 (pc_mod_CFLAGS): New variables.
46992 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46993 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46994 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46995 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46996 Moved from here...
46997 * include/grub/i386/pc/init.h (grub_os_area_addr)
46998 (rub_os_area_size): ... to here.
46999 * include/grub/powerpc/ieee1275/ieee1275.h
47000 (grub_ieee1275_entry_fn): Export symbol.
47001 * include/grub/powerpc/ieee1275/init.h: New file.
47002 * include/grub/powerpc/libgcc.h: Likewise.
47003 * include/grub/cache.h: Likewise.
47004 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47005 <hollis@penguinppc.org>.
47006 * kern/dl.c: Include <grub/cache.h>.
47007 (grub_dl_flush_cache): New function.
47008 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47009 for this module.
47010 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47011 (grub_console_init): Removed prototypes.
47012 (grub_machine_init): Don't initialize the modules anymore.
47013 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47014 static.
47015 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47016 Macro undef removed.
47017 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47018 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47019 relocation `R_PPC_REL32'. Return an error when the relocation is
47020 unknown.
47021 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47022 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47023 * util/misc.c (grub_arch_sync_caches): Likewise.
47024
e4b47e0c 470252004-12-19 Marco Gerards <metgerards@student.han.nl>
47026
47027 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47028 `symlist.c', add `grubof_symlist.c'.
47029 (symlist.c): Variable removed.
47030 (grubof_HEADERS): Variable added.
47031 (grubof_symlist.c): New target.
47032 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47033 `kernel_img_HEADERS'.
47034 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47035 * kern/powerpc/dl.c: New file.
47036 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47037 Function removed.
47038 (grub_arch_dl_relocate_symbols): Likewise.
47039 (grub_register_exported_symbols): Likewise.
47040
4ceb3636 470412004-12-13 Marco Gerards <metgerards@student.han.nl>
47042
47043 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47044 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47045 to fail instead. Reported by Vincent Pelletier
47046 <subdino2004@yahoo.fr>.
47047
47048 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47049 it is not allocated. Reported by Vincent Pelletier
47050 <subdino2004@yahoo.fr>.
47051
47052 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47053 output so the output looks better.
f19dbdb7 47054
3f1578fe 470552004-12-04 Marco Gerards <metgerards@student.han.nl>
47056
47057 Modulize the partition map support and add support for the amiga
47058 partition map.
f19dbdb7 47059
3f1578fe 47060 * commands/ls.c: Include <grub/partition.h> instead of
47061 <grub/machine/partition.h>.
47062 * kern/disk.c: Likewise.
47063 * kern/rescue.c: Likewise.
47064 * loader/i386/pc/chainloader.c: Likewise.
47065 * normal/cmdline.c: Likewise.
47066 * kern/powerpc/ieee1275/init.c: Likewise.
47067 (grub_machine_init): Call `grub_pc_partition_map_init',
47068 `grub_amiga_partition_map_init' and
47069 `grub_apple_partition_map_init'.
47070 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47071 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47072 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47073 `partition.h' and `pc_partition.h'.
47074 (grub_setup_SOURCES): Remove
47075 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47076 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47077 (grub_emu_SOURCES): Likewise.
47078 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47079 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47080 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47082 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47083 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47084 (grubof_SOURCES): Likewise.
47085 * disk/i386/pc/partition.c: File removed.
47086 * disk/powerpc/ieee1275/partition.c: Likewise.
47087 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47088 * include/grub/i386/pc/partition.h: Likewise.
47089 * kern/partition.c: New file.
47090 * partmap/amiga.c: Likewise.
47091 * partmap/apple.c: Likewise.
47092 * partmap/pc.c: Likewise.
47093 * include/grub/partition.h: Likewise..
47094 * include/grub/pc_partition.h: Likewise.
47095 * util/grub-emu.c: Include <grub/partition.h> instead of
47096 <grub/machine/partition.h>.
47097 (main): Call `grub_pc_partition_map_init',
47098 `grub_amiga_partition_map_init' and
47099 `grub_apple_partition_map_init' and deinitialize afterwards.
47100 * util/i386/pc/biosdisk.c: Include `#include
47101 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47102 `<grub/machine/partition.h>'.
47103 * util/i386/pc/grub-setup.c: Likewise.
47104 * util/i386/pc/biosdisk.c: Likewise.
47105 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47106 partition information in case of a PC partition.
47107 * util/i386/pc/grub-setup.c: Include `#include
47108 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47109 `<grub/machine/partition.h>'.
47110 (setup): Only access the PC specific partition information in case
47111 of a PC partition.
47112
0ef4ced9 471132004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47114
0ef4ced9 47115 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47116 (grub_longjmp): Likewise.
47117 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47118 20.
47119 * normal/powerpc/setjmp.S: New file.
47120 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47121 `normal/powerpc/setjmp.S'.
47122 (grubof_CFLAGS): Add `-DGRUBOF'.
47123 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47124 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47125
19950e29 471262004-11-16 Marco Gerards <metgerards@student.han.nl>
47127
47128 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47129 property named `name'. Correctly handle the error returned by
47130 `grub_ieee1275_finddevice' if a device can not be opened.
47131
a2fea427 471322004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47133
47134 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47135 `actual' for negativity.
47136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47137 kern/fshelp.c.
47138
41ea0ea3 471392004-11-01 Marco Gerards <metgerards@student.han.nl>
47140
47141 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47142 (PAGE_OFFSET): New macro.
47143 (CRTC_ADDR_PORT): Likewise.
47144 (CRTC_DATA_PORT): Likewise.
47145 (START_ADDR_HIGH_REGISTER): Likewise.
47146 (START_ADDR_LOW_REGISTER): Likewise.
47147 (GRAPHICS_ADDR_PORT): Likewise.
47148 (GRAPHICS_DATA_PORT): Likewise.
47149 (READ_MAP_REGISTER): Likewise.
47150 (INPUT_STATUS1_REGISTER): Likewise.
47151 (INPUT_STATUS1_VERTR_BIT): Likewise.
47152 (page): New variable.
47153 (wait_vretrace): New function.
47154 (set_read_map): Likewise.
47155 (set_start_address): Likewise.
47156 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47157 the right page.
47158 (check_vga_mem): Take the page into account.
47159 (write_char): Likewise.
47160 (write_cursor): Likewise.
47161 (scroll_up): Likewise. Copy the page to the page that is not
47162 shown and switch between both pages.
47163 (grub_vga_putchar): Fix off by one error.
47164 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47165 account.
47166
ad0bd20b 471672004-11-01 Marco Gerards <metgerards@student.han.nl>
47168
47169 Add support for iso9660 (including rockridge).
f19dbdb7 47170
ad0bd20b 47171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47172 (iso9660_mod_SOURCES): New variable.
47173 (iso9660_mod_CFLAGS): Likewise.
47174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47175 * include/grub/fs.h (grub_iso9660_init): New prototype.
47176 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47177 * fs/iso9660.c: New file.
47178
47179 * include/grub/misc.h (grub_strncat): New prototype.
47180 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47181
ad0bd20b 47182 * fs/hfs.c (grub_hfs_mount): Translate the error
47183 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47184 * fs/jfs.c (grub_jfs_mount): Likewise.
47185 * fs/ufs.c (grub_ufs_mount): Likewise.
47186
a5477a59 471872004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47188
47189 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47190 which initialized BAT registers.
47191 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47192 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47193 Move from here...
47194 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47195 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47196 ... to here.
47197 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47198 (grub_mapclaim): Likewise.
47199 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47200 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47201 hand.
47202
9304c1f8 472032004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47204
47205 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47206 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47207 -ffreestanding and -msoft-float.
47208
86f4ae25 472092004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47210
47211 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47212 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47213 set in grub_ieee1275_flags.
47214
38912228 472152004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47216
47217 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47218 prototype.
47219 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47220 grub_console_init first.
47221 Change the memory range used for grub_ieee1275_claim and
47222 grub_mm_init_region.
47223 Print an error message if the claim fails.
47224 Include <grub/misc.h>.
47225
d1923dc8 472262004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47227
47228 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47229 Call grub_children_iterate for device nodes of type `scsi',
47230 `ide', or `ata'.
47231 (grub_ofdisk_open): Remove manual device alias resolution.
47232 Fix memory leak when device cannot be opened.
f19dbdb7 47233 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 47234 (grub_children_iterate): New prototype.
47235 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47236 New function.
47237 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47238 Return -1 if args.size was -1.
47239
4512e4f3 472402004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47241
47242 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47243 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47244 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47245 Open Firmware's memory for it; claim memory from _start to _end.
47246 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47247 (_end): New extern.
47248 (_start): Zero BSS from __bss_start to _end.
47249 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47250 New extern.
47251 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47252
4d61feb0 472532004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47254
ad0bd20b 47255 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47256 -1 if args.base was -1.
4d61feb0 47257
026fa2f9 472582004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47259
47260 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47261 escape sequence instead of a literal ^L. Also call
47262 grub_ofconsole_gotoxy.
47263
9f2220ef 472642004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47265
47266 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47267 void * arguments to grub_addr_t. All callers updated. Also make
47268 the `result' argument optional.
47269 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47270 All callers updated.
47271
8a572cd7 472722004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47273
47274 * commands/ls.c (grub_ls_list_files): Use the string following the
47275 initial ')', if present, as the filesystem path.
47276 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47277
47278 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47279
18aa81f2 472802004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47281
47282 Make the source code of the menu interface more readable.
f19dbdb7 47283
18aa81f2 47284 * normal/menu.c: Include grub/mm.h.
47285 (TERM_WIDTH): New macro.
47286 (TERM_HEIGHT): Likewise.
47287 (TERM_INFO_HEIGHT): Likewise.
47288 (TERM_MARGIN): Likewise.
47289 (TERM_SCROLL_WIDTH): Likewise.
47290 (TERM_TOP_BORDER_Y): Likewise.
47291 (TERM_LEFT_BORDER_X): Likewise.
47292 (TERM_BORDER_WIDTH): Likewise.
47293 (TERM_MESSAGE_HEIGHT): Likewise.
47294 (TERM_BORDER_HEIGHT): Likewise.
47295 (TERM_NUM_ENTRIES): Likewise.
47296 (TERM_FIRST_ENTRY_Y): Likewise.
47297 (TERM_ENTRY_WIDTH): Likewise.
47298 (TERM_CURSOR_X): Likewise.
47299 (draw_border): Use macros instead of magic numbers.
47300 (print_entry): Likewise.
47301 (print_entries): Likewise.
47302 (run_menu): Likewise. Also, handle the key 'e'.
47303 (run_menu_entry): Ignore empty command lines.
47304 (print_message): Added a new argument EDIT. If EDIT is true,
47305 print a different message.
47306 (init_page): Likewise.
47307 (edit_menu_entry): New function. Not implemented yet.
47308
b47efe30 473092004-09-17 Marco Gerards <metgerards@student.han.nl>
47310
47311 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
47312 can be loaded from normal mode.
f19dbdb7 47313
b47efe30 47314 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
47315 `multiboot.mod'.
47316 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
47317 (multiboot_mod_CFLAGS): New variables.
47318 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 47319 * loader/i386/pc/multiboot_normal.c: Likewise.
47320
b47efe30 47321 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47322 attribute `unused'.
f19dbdb7 47323
b47efe30 47324 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
47325 `fdiro' to read the mode information from instead of `diro'.
47326
47327 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
47328 looking up a symlink.
47329
47330 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
47331 macro.
47332 * normal/command.c (grub_command_execute): Don't parse the
47333 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
47334 flags of the command.
47335
47336 * normal/menu.c (grub_menu_run): Fix typo.
47337
da75ac71 473382004-09-14 Hollis Blanchard <hollis@penguinppc.org>
47339
47340 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
47341
47342 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
47343 `y + 1' instead of `y - 1'.
47344
47345 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 47346
062b24c2 473472004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
47348
47349 From Hollis Blanchard <hollis@penguinppc.org>:
47350 * kern/misc.c (memmove): New alias for grub_memmove.
47351 (memcmp): New alias for grub_memcmp.
47352 (memset): New alias for grub_memset.
f19dbdb7 47353 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 47354 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 47355 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 47356 (grub_ieee1275_get_property): Likewise.
f19dbdb7 47357
8ddad845 473582004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
47359
47360 Added normal mode command `chainloader' as module chain.mod, which
47361 depends on normal.mod and _chain.mod.
f19dbdb7 47362
8ddad845 47363 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
47364 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
47365 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
47366 Deleted prototype.
47367 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
47368 but arguments parsing moved to ...
47369 (grub_chainloader_cmd): ... here. New function.
47370 * include/grub/i386/pc/chainloader.h: New file.
47371 * loader/i386/pc/chainloader_normal.c: Likewise.
47372
2c1f4ce3 473732004-09-11 Marco Gerards <metgerards@student.han.nl>
47374
47375 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
47376 (grub_mkimage_LDFLAGS): Likewise.
47377 (grub_emu_SOURCES): Likewise.
47378 (kernel_img_HEADERS): Added fshelp.h.
47379 * fs/ext2.c: Include <grub/fshelp.h>.
47380 (FILETYPE_REG): New macro.
47381 (FILETYPE_INO_REG): Likewise.
47382 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
47383 Changed all users.
47384 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
47385 all users.
47386 (grub_fshelp_node): New struct.
47387 (grub_ext2_data): Added member `diropen'. Changed member `inode'
47388 to a pointer.
47389 (grub_ext2_get_file_block): Removed function.
47390 (grub_ext2_read_block): New function.
47391 (grub_ext2_read_file): Replaced parameter `data' by `node'.
47392 This function was written.
47393 (grub_ext2_mount): Read the root inode. Create a diropen struct.
47394 (grub_ext2_find_file): Removed function.
47395 (grub_ext2_read_symlink): New function.
47396 (grub_ext2_iterate_dir): Likewise.
47397 (grub_ext2_open): Rewritten.
47398 (grub_ext2_dir): Rewritten.
47399 * include/grub/fshelp.h: New file.
47400 * fs/fshelp.c: Likewise.
47401
3c52136a 474022004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
47403
47404 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
47405 (print_message): Add a missing newline.
47406 (run_menu): Added timeout support.
47407 (run_menu_entry): New local function.
47408 (grub_menu_run): Added support for booting.
47409
47410 * kern/loader.c (grub_loader_is_loaded): New function.
47411
47412 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
47413 (grub_get_rtc): Exported.
47414
47415 * include/grub/i386/pc/time.h: Include grub/symbol.h.
47416 (grub_get_rtc): Exported.
47417
47418 * include/grub/normal.h (struct grub_command_list): Remove
47419 constant from the member `command'.
47420
47421 * include/grub/loader.h (grub_loader_is_loaded): Declared.
47422
47423 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
47424
47425 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
47426
aa033560 474272004-08-28 Marco Gerards <metgerards@student.han.nl>
47428
47429 Add support for the JFS filesystem.
47430
47431 * fs/jfs.c: New file.
47432 * include/grub/fs.h (grub_jfs_init): New prototype.
47433 (grub_jfs_fini): New prototype.
47434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
47435 (grub_emu_SOURCES): Likewise.
47436 (pkgdata_MODULES): Add jfs.mod.
47437 (jfs_mod_SOURCES): New variable.
47438 (jfs_mod_CFLAGS): Likewise.
47439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
47440 (grubof_SOURCES): Likewise.
47441 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
47442
47443 * fs/fat.c (grub_fat_find_dir): Convert the filename little
47444 endian to the host endian.
47445 (grub_fat_utf16_to_utf8): Move function from there...
47446 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 47447 the endianness of the source string anymore.
aa033560 47448 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47449
94bc45af 474502004-08-24 Marco Gerards <metgerards@student.han.nl>
47451
47452 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
47453 (grub_boot_fini) [GRUB_UTIL]: Likewise.
47454 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
47455 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 47456
94bc45af 47457 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
47458 (grub_hfs_iterate_dir): Make the function static. Add prototypes
47459 for `node_found' and `it_dir'.
47460 (grub_hfs_dir): Add prototype for `dir_hook'.
47461
47462 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47463 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47464 and `indir32' to silence a gcc warning.
47465
47466 * include/grub/fs.h (grub_hfs_init): New prototype.
47467 (grub_hfs_fini): Likewise.
f19dbdb7 47468
47469
97543f08 474702004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47471
47472 Each disk device has its own id now. This is useful to make use
47473 of multiple disk devices.
f19dbdb7 47474
97543f08 47475 * include/grub/disk.h (grub_disk_dev_id): New enum.
47476 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47477 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47478
47479 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47480 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47481
47482 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47483 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47484
47485 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47486 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47487
47488 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47489 "id" which is used by the cache manager.
47490
47491 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47492 of just "GRUB".
47493
64372eb4 474942004-08-18 Marco Gerards <metgerards@student.han.nl>
47495
47496 * fs/hfs.c: New file.
47497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47498 (grub_emu_SOURCES): Likewise.
47499 (pkgdata_MODULES): Add hfs.mod.
47500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47501 (grubof_SOURCES): Likewise.
47502 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47503
47504 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47505 * kern/misc.c (grub_strncasecmp): Add function.
47506
cc61b58f 475072004-08-14 Marco Gerards <metgerards@student.han.nl>
47508
47509 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47510 with parentheses.
47511
47512 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47513 (grub_ext2_dir): In case the directory entry type is unknown, read
47514 it from the inode.
47515
0ef123f6 475162004-08-02 Peter Bruin <pjbruin@dds.nl>
47517
47518 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47519 grub_load_linux instead of grub_rescue_cmd_linux as second
47520 argument of grub_rescue_register_command.
47521
47522 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47523
a447c5df 475242004-07-27 Marco Gerards <metgerards@student.han.nl>
47525
47526 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47527 function.
47528 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47529 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47530 `loader/powerpc/ieee1275/linux.c',
47531 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47532 * include/grub/powerpc/ieee1275/ieee1275.h
47533 (grub_ieee1275_release): New prototype.
47534 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47535 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47536 normal, boot, linux and linux_normal.
47537 * loader/powerpc/ieee1275/linux.c: New file.
47538 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47539
5a9e3546 475402004-07-12 Marco Gerards <metgerards@student.han.nl>
47541
47542 * normal/arg.c (grub_arg_parse): Correct error handling after
47543 reallocating the argumentlist (check if `argl' is not null instead
47544 of checking if `args' is not null).
47545 * kern/mm.c (grub_realloc): Return the same pointer when using the
47546 same region, instead of returning the header address.
47547
e15199cb 475482004-07-11 Marco Gerards <metgerards@student.han.nl>
47549
47550 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47551 one block instead of two when looking for the initial partition.
47552 (grub_partition_probe): Initialize the local variable `p' with 0.
47553 Use base 10 for the grub_strtoul call.
47554 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47555 need for one local variable.
47556 (grub_strtoul): Don't add the new value to `num', instead of that
47557 just assign it.
47558
020616c2 475592004-07-11 Marco Gerards <metgerards@student.han.nl>
47560
47561 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47562 (pxeboot_img_SOURCES): New variable.
47563 (pxeboot_img_ASFLAGS): Likewise.
47564 (pxeboot_img_LDFLAGS): Likewise.
47565 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47566 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47567 <lode_leroy@hotmail.com>.
47568
6c51eb64 475692004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47570
47571 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47572 there was no input.
47573
cfb12aff 475742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47575
47576 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47577 the history buffer logic.
47578
6eabba74 475792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47580
47581 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47582 (FILETYPE_INO_SYMLINK): New macros.
47583 (grub_ext2_find_file): Check if the node is a directory using the
47584 inode stat information instead of using the filetype in the
47585 dirent. Exclude the first character of an absolute symlink.
47586 (grub_ext2_dir): Mask out the filetype part of the mode member of
47587 the inode.
47588
66e19ef8 475892004-05-24 Marco Gerards <metgerards@student.han.nl>
47590
47591 Add support for UFS version 1 and 2. Add support for the minix
47592 filesystem version 1 and 2, both the variants with 14 and 30 long
47593 filenames.
f19dbdb7 47594
66e19ef8 47595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47596 fs/minix.c.
47597 (grub_emu_SOURCES): Likewise.
47598 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47599 (ufs_mod_SOURCES): New variable.
47600 (ufs_mod_CFLAGS): Likewise.
47601 (minix_mod_SOURCES): Likewise.
47602 (minix_mod_CFLAGS): Likewise.
47603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47604 fs/minix.c.
47605 (grubof_SOURCES): Likewise.
47606 * fs/ufs.c: New file.
47607 * fs/minix.c: New file.
47608 * include/grub/fs.h (grub_ufs_init): New prototype.
47609 (grub_ufs_fini): Likewise.
47610 (grub_minix_init): Likewise.
47611 (grub_minix_fini): Likewise.
47612 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47613 minix fs.
47614
cc2e748a 476152004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47616
47617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47618 commands/ls.c, commands/terminal.c, commands/boot.c,
47619 commands/cmp.c and commands/cat.c.
47620 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47621
47622 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47623 "env.h"
47624
4b13b216 476252004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47626
47627 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47628 and grub_, respectively. Because the conversion is trivial and
47629 mechanical, I omit the details here. Please refer to the CVS
47630 if you need more information.
47631
6a142551 476322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * include/pupa: Renamed to ...
47635 * include/grub: ... this.
47636 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47637 * util/i386/pc/grub-mkimage.c: ... this.
47638 * util/i386/pc/pupa-setup.c: Renamed to ...
47639 * util/i386/pc/grub-setup.c: ... this.
47640 * util/pupa-emu.c: Renamed to ...
47641 * util/grub-emu.c: ... this.
47642
e56cdf21 476432004-03-29 Marco Gerards <metgerards@student.han.nl>
47644
47645 Add support for the newworld apple macintosh (PPC). This has been
47646 tested on the powerbook 2000 only. It only adds support for
47647 generic ieee1275 functions, console and disk support. This should
47648 be easy to port to other architectures with support for Open
47649 Firmware.
f19dbdb7 47650
e56cdf21 47651 * configure.ac: Accept the powerpc as host_cpu. In the case of
47652 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47653 specific tests are only executed while building for the i386.
47654 Inverse test for crosscompile.
47655 * genmk.rb (Utility): Allow assembler files.
47656 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47657 * conf/powerpc-ieee1275.rmk: New file.
47658 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47659 * disk/powerpc/ieee1275/partition.c: Likewise.
47660 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47661 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47662 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47663 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47664 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47665 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47666 * include/pupa/powerpc/ieee1275/loader.h
47667 * include/pupa/powerpc/setjmp.h: Likewise.
47668 * include/pupa/powerpc/types.h: Likewise.
47669 * kern/powerpc/ieee1275/init.c: Likewise.
47670 * kern/powerpc/ieee1275/openfw.c: Likewise.
47671 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47672
47673 These files were written by Johan Rydberg
47674 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 47675
e56cdf21 47676 * boot/powerpc/ieee1275/cmain.c: New file.
47677 * boot/powerpc/ieee1275/crt0.S: Likewise.
47678 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47679 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47680
8c8cc205 476812004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47682
47683 * Makefile.in: Update copyright.
47684 * genmodsrc.sh: Likewise.
47685 * gensymlist.sh: Likewise.
47686 * term/i386/pc/vga.c: Indent correctly.
47687
47688 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47689 bugreporting address.
47690 * util/i386/pc/pupa-setup.c (usage): Likewise,
47691 (main): Call pupa_ext2_init and pupa_ext2_fini.
47692
f19dbdb7 47693 * fs/fat.c (log2): Renamed to ...
8c8cc205 47694 (fat_log2): ... this.
47695 All callers changed.
47696 * kern/misc.c (memcpy): Alias to pupa_memmove.
47697 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47698 lvalue cast.
47699 * util/console.c (pupa_ncurses_fini): Return 0.
47700
47701 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47702 Move fail label here.
47703 [__GNU__]: Don't warn when using stat.
47704 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47705 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47706 long int. Use strtol instead of strtoul.
f19dbdb7 47707
db1771cf 477082004-03-14 Marco Gerards <metgerards@student.han.nl>
47709
47710 * commands/boot.c: New file.
47711 * commands/cat.c: Likewise.
47712 * commands/cmp.c: Likewise.
47713 * commands/ls.c: Likewise.
47714 * commands/terminal.c: Likewise.
47715 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47716 (pupa_register_command): Changed interface to match the new
47717 argument parser.
47718 (pupa_command_execute): Changed (almost rewritten) so it uses
47719 pupa_split_command. Added support for setting variables using the
47720 syntax `foo=bar'.
47721 (rescue_command): Changed to work with the new argument parser.
47722 (terminal_command): Moved from here to commands/terminal.c.
47723 (set_command): New function.
47724 (unset_command): New function.
47725 (insmod_command): New function.
47726 (rmmod_command): New function.
47727 (lsmod_command): New function.
47728 (pupa_command_init): Don't initialize the command terminal
47729 anymore. Initialize the commands set, unset, insmod, rmmod and
47730 lsmod.
47731 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47732 (kernel_img_HEADERS): Add arg.h and env.h.
47733 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47734 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47735 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47736 normal/arg.c.
47737 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47738 terminal.mod.
47739 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47740 (boot_mod_SOURCES): New variable.
47741 (terminal_mod_SOURCES): Likewise.
47742 (ls_mod_SOURCES): Likewise.
47743 (cmp_mod_SOURCES): Likewise.
47744 (cat_mod_SOURCES): Likewise.
47745
47746 * normal/arg.c: New file.
47747 * kern/env.c: Likewise.
47748 * include/pupa/arg.h: Likewise.
47749 * include/pupa/env.h: Likewise.
47750 * font/manager.c (font_command): Changed to match argument parsing
47751 interface changes.
47752 (PUPA_MOD_INIT): Likewise.
47753 * hello/hello.c (pupa_cmd_hello): Likewise.
47754 (PUPA_MOD_INIT): Likewise.
47755 * include/pupa/disk.h: Include <pupa/device.h>.
47756 (pupa_print_partinfo): New prototype.
47757 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47758 (pupa_dl_get_prefix): Likewise.
47759 * include/pupa/misc.h: Include <pupa/err.h>.
47760 (pupa_isgraph): New prototype.
47761 (pupa_isdigit): Likewise.
47762 (pupa_split_cmdline): Likewise.
47763 * include/pupa/normal.h: Include <pupa/arg.h>.
47764 (pupa_command): Changed the prototype of the member `func' to
47765 match the argument parsing interface. Added member `options'.
47766 (pupa_register_command): Updated to match function.
47767 (pupa_arg_parse): New prototype.
47768 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47769 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47770 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47771 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47772 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47773 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47774 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47775 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47776 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47777 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47778 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47779 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47780 * kern/disk.c: Include <pupa/file.h>.
47781 (pupa_print_partinfo): New function.
47782 * kern/dl.c: Include <pupa/env.h>.
47783 (pupa_dl_dir): Variable removed.
47784 (pupa_dl_load): Use the environment variable `prefix' instead of
47785 the variable pupa_dl_dir.
47786 (pupa_dl_set_prefix): Function removed.
47787 (pupa_dl_get_prefix): Likewise.
47788 * kern/i386/pc/init.c: Include <pupa/env.h>.
47789 (pupa_machine_init): Use the environment variable `prefix' instead of
47790 using pupa_dl_set_prefix to set the prefix.
47791 * kern/main.c: Include <pupa/env.h>.
47792 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47793 using pupa_dl_get_prefix to get the prefix.
47794 * kern/misc.c: Include <pupa/env.h>.
47795 (pupa_isdigit): New function.
47796 (pupa_isgraph): Likewise.
47797 (pupa_ftoa): Likewise.
47798 (pupa_vsprintf): Added support for printing values of the type
47799 `double'. Make it possible to format variable output when using
47800 formatting like `%1.2%f'.
47801 (pupa_split_cmdline): New function.
47802 * kern/rescue.c: Include <pupa/env.h>.
47803 (next_word): Removed function.
47804 (pupa_rescue_cmd_prefix): Likewise.
47805 (pupa_rescue_cmd_set): New function.
47806 (pupa_rescue_cmd_unset): New function.
47807 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47808 split the command line instead of splitting it here. Added
47809 support for setting variables using the syntax `foo=bar'. Don't
47810 initialize the prefix command anymore. Initialized the set and
47811 unset commands.
47812 * normal/cmdline.c: Include <pupa/env.h>.
47813 (pupa_tab_complete): Added prototypes for print_simple_completion,
47814 print_partition_completion, add_completion, iterate_commands,
47815 iterate_dev, iterate_part and iterate_dir. Moved code to print
47816 partition information from here to kern/disk.c.
fe6b695a 47817 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 47818 * normal/main.c: Include <pupa/env.h>.
47819 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47820 instead of using pupa_dl_get_prefix to get the prefix.
47821 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47822 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47823 warning.
47824 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47825 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47826 ((unused))' to silence a gcc warning.
47827 (pupa_vga_setcolor): Likewise.
47828 (debug_command): Changed to match argument parsing
47829 interface changes.
47830 * util/pupa-emu.c: Include <pupa/env.h>.
47831 (options): Added 0's for unused fields to silence a gcc warning.
47832 (argp): Likewise.
47833 (main): Use the environment variable `prefix' instead of using
47834 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47835 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47836 and terminal.
47837
47838 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47839 * util/misc.c: Include <malloc.h>.
47840 (pupa_malloc): Rewritten so errors are correctly reported.
47841 (pupa_realloc): Likewise.
47842 (pupa_memalign): Likewise.
47843 (pupa_mm_init_region): Declare unused variables with
47844 `__attribute__ ((unused))' to silence a gcc warning.
47845 * normal/i386/setjmp.S: Remove tab at the end of the file to
47846 silence a gcc warning.
47847 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47848 variables with `__attribute__ ((unused))' to silence a gcc
47849 warning.
47850 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47851 local variable i unsigned to silence a gcc warning.
47852
47853 * kern/term.c: Include <pupa/misc.h>.
47854 (pupa_more_lines): New variable.
47855 (pupa_more): Likewise.
47856 (pupa_putcode): When the pager is active pause at the end of every
47857 screen.
47858 (pupa_set_more): New function.
47859 * include/pupa/term.h (pupa_set_more): New prototype.
47860
47861
3b1139cb 478622004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47863
47864 Now this project is GRUB 2 rather than PUPA. The location of
47865 the CVS repository was moved to GRUB's.
f19dbdb7 47866
3b1139cb 47867 * configure.ac: Use bug-grub as the reporting address.
47868 Use GRUB instead of PUPA.
47869 Change the version number to 1.90.
47870
8367695c 478712004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47872
47873 * genkernsyms.sh: Updated copyright information.
47874 * genmk.rb: Likewise.
47875 * genmodsrc.sh: Likewise.
47876 * gensymlist.sh: Likewise.
47877 * boot/i386/pc/boot.S: Likewise.
47878 * boot/i386/pc/diskboot.S: Likewise.
47879 * disk/i386/pc/biosdisk.c: Likewise.
47880 * disk/i386/pc/partition.c: Likewise.
47881 * font/manager.c: Likewise.
47882 * fs/ext2.c: Likewise.
47883 * fs/fat.c: Likewise.
47884 * include/pupa/boot.h: Likewise.
47885 * include/pupa/device.h: Likewise.
47886 * include/pupa/disk.h: Likewise.
47887 * include/pupa/dl.h: Likewise.
47888 * include/pupa/elf.h: Likewise.
47889 * include/pupa/err.h: Likewise.
47890 * include/pupa/file.h: Likewise.
47891 * include/pupa/font.h: Likewise.
47892 * include/pupa/fs.h: Likewise.
47893 * include/pupa/kernel.h: Likewise.
47894 * include/pupa/loader.h: Likewise.
47895 * include/pupa/misc.h: Likewise.
47896 * include/pupa/mm.h: Likewise.
47897 * include/pupa/net.h: Likewise.
47898 * include/pupa/normal.h: Likewise.
47899 * include/pupa/rescue.h: Likewise.
47900 * include/pupa/setjmp.h: Likewise.
47901 * include/pupa/symbol.h: Likewise.
47902 * include/pupa/term.h: Likewise.
47903 * include/pupa/types.h: Likewise.
47904 * include/pupa/i386/setjmp.h: Likewise.
47905 * include/pupa/i386/types.h: Likewise.
47906 * include/pupa/i386/pc/biosdisk.h: Likewise.
47907 * include/pupa/i386/pc/boot.h: Likewise.
47908 * include/pupa/i386/pc/console.h: Likewise.
47909 * include/pupa/i386/pc/init.h: Likewise.
47910 * include/pupa/i386/pc/kernel.h: Likewise.
47911 * include/pupa/i386/pc/linux.h: Likewise.
47912 * include/pupa/i386/pc/loader.h: Likewise.
47913 * include/pupa/i386/pc/memory.h: Likewise.
47914 * include/pupa/i386/pc/multiboot.h: Likewise.
47915 * include/pupa/i386/pc/partition.h: Likewise.
47916 * include/pupa/i386/pc/time.h: Likewise.
47917 * include/pupa/i386/pc/vga.h: Likewise.
47918 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47919 * include/pupa/util/getroot.h: Likewise.
47920 * include/pupa/util/misc.h: Likewise.
47921 * include/pupa/util/resolve.h: Likewise.
47922 * kern/device.c: Likewise.
47923 * kern/disk.c: Likewise.
47924 * kern/dl.c: Likewise.
47925 * kern/err.c: Likewise.
47926 * kern/file.c: Likewise.
47927 * kern/fs.c: Likewise.
47928 * kern/loader.c: Likewise.
47929 * kern/main.c: Likewise.
47930 * kern/misc.c: Likewise.
47931 * kern/mm.c: Likewise.
47932 * kern/rescue.c: Likewise.
47933 * kern/term.c: Likewise.
47934 * kern/i386/dl.c: Likewise.
47935 * kern/i386/pc/init.c: Likewise.
47936 * kern/i386/pc/lzo1x.S: Likewise.
47937 * kern/i386/pc/startup.S: Likewise.
47938 * loader/i386/pc/chainloader.c: Likewise.
47939 * loader/i386/pc/linux.c: Likewise.
47940 * loader/i386/pc/multiboot.c: Likewise.
47941 * normal/cmdline.c: Likewise.
47942 * normal/command.c: Likewise.
47943 * normal/main.c: Likewise.
47944 * normal/menu.c: Likewise.
47945 * normal/i386/setjmp.S: Likewise.
47946 * term/i386/pc/console.c: Likewise.
47947 * term/i386/pc/vga.c: Likewise.
47948 * util/console.c: Likewise.
47949 * util/genmoddep.c: Likewise.
47950 * util/misc.c: Likewise.
47951 * util/pupa-emu.c: Likewise.
47952 * util/resolve.c: Likewise.
47953 * util/unifont2pff.rb: Likewise.
47954 * util/i386/pc/biosdisk.c: Likewise.
47955 * util/i386/pc/getroot.c: Likewise.
47956 * util/i386/pc/pupa-mkimage.c: Likewise.
47957 * util/i386/pc/pupa-setup.c: Likewise.
47958
e6eced71 479592004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47960
47961 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47962 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47963 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47964 reading and reset it after reading.
47965 (pupa_ext2_close): Return PUPA_ERR_NONE.
47966
47967 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47968 Correct value.
47969 (struct linux_kernel_header): Add kernel_version and
47970 initrd_addr_max.
47971 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47972 pupa_file_read succeeds.
47973 (pupa_rescue_cmd_initrd): Implement.
47974
5aded270 479752003-12-03 Marco Gerards <metgerards@student.han.nl>
47976
47977 * fs/ext2.c (pupa_ext2_label): New function.
47978 (pupa_ext2_fs): Added label.
47979 * fs/fat.c (pupa_fat_label): New function.
47980 (pupa_fat_fs): Added label.
47981 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47982
47983 * kern/misc.c (pupa_strndup): New function.
47984 * include/pupa/misc.h (pupa_strndup): New prototype.
47985
47986 * include/pupa/normal.h: Include <pupa/err.h>.
47987 (pupa_set_history): New prototype.
47988 (pupa_iterate_commands): New prototype.
47989 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47990 <pupa/disk.h>, <pupa/file.h>.
47991 (hist_size): New variable.
47992 (hist_lines): Likewise.
47993 (hist_end): Likewise.
47994 (hist_used): Likewise.
47995 (pupa_set_history): New function.
47996 (pupa_history_get): Likewise.
47997 (pupa_history_add): Likewise.
47998 (pupa_history_replace): Likewise.
47999 (pupa_tab_complete): Likewise.
48000 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48001 completion shows partitionnames while completing partitions, this
48002 feature was suggested by Jeff Bailey.
48003 * normal/command.c (pupa_iterate_commands): New function.
48004 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48005 (pupa_normal_init): Initialize history buffer.
48006 (PUPA_MOD_INIT): Likewise.
48007 (pupa_normal_fini): Free the history buffer.
48008 (PUPA_MOD_FINI): Likewise.
48009
48010 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48011 key.
48012
48013 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48014 * configure.ac [i386]: Check for regparam bug.
48015 (NESTED_FUNC_ATTR) [! i386]: Defined.
48016
1f7315a3 480172003-11-17 Marco Gerards <metgerards@student.han.nl>
48018
48019 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48020 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48021 (pupa_emu_SOURCES): New variable.
48022 (pupa_emu_LDFLAGS): Likewise.
48023 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48024 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48025 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48026 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48027 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48028 (pupa_jmp_buf): New typedef.
48029 (pupa_setjmp) [PUPA_UTIL]: New macro.
48030 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48031 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48032 (pupa_refresh): New prototype.
48033 * include/pupa/util/getroot.h: New file.
48034 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48035 it.
48036 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48037 (pupa_rescue_cmd_cat): Likewise.
48038 (pupa_rescue_cmd_ls): Likewise.
48039 (pupa_rescue_cmd_testload): Likewise.
48040 (pupa_rescue_cmd_lsmod): Likewise.
48041 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48042 * normal/menu.c (run_menu): Likewise.
48043 * kern/term.c (pupa_cls): Likewise.
48044 (pupa_refresh): New function.
48045 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48046 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48047 * util/console.c: New file.
f19dbdb7 48048
1f7315a3 48049 * util/i386/pc/getroot.c: New file.
48050 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48051 (pupa_putchar): New function.
48052 (pupa_refresh): Likewise.
48053 (xgetcwd): Function moved to ...
48054 (strip_extra_slashes): Likewise.
48055 (get_prefix): Likewise.
f19dbdb7 48056 * util/i386/pc/getroot.c: ... here.
1f7315a3 48057 (find_root_device): Function moved and renamed to...
48058 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48059 Changed all callers.
48060 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48061 and renamed to...
48062 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48063 Changed all callers.
48064 * util/misc.c (pupa_memalign): New function.
48065 (pupa_mm_init_region): Likewise.
48066 (pupa_register_exported_symbols): Likewise.
48067 (pupa_putchar): Function removed.
48068 * util/pupa-emu.c: New file.
48069
9a5c1ade 480702003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48071
48072 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48073 (_multiboot_mod_SOURCES): New variable.
48074 (_multiboot_mod_CFLAGS): Likewise.
48075 * loader/i386/pc/multiboot.c: New file.
48076 * include/pupa/i386/pc/multiboot.h: Likewise.
48077 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48078 (pupa_multiboot_real_boot): New function.
48079 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48080 (pupa_multiboot_real_boot): New prototype.
48081 (pupa_rescue_cmd_multiboot): Likewise
48082 (pupa_rescue_cmd_module): Likewise.
48083
48084 * kern/loader.c (pupa_loader_set): Continue when
48085 pupa_loader_unload_func() fails.
48086 (pupa_loader_unset): New function.
48087 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48088
48089 * kern/misc.c (pupa_stpcpy): New function.
48090 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48091
8e72a9c0 480922003-11-12 Marco Gerards <metgerards@student.han.nl>
48093
48094 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48095 for available extensions.
48096
48097 * include/pupa/i386/pc/time.h: New file.
48098 * kern/disk.c: Include <pupa/machine/time.h>.
48099 (PUPA_CACHE_TIMEOUT): New macro.
48100 (pupa_last_time): New variable.
48101 (pupa_disk_open): Flush the cache when there was a timeout.
48102 (pupa_disk_close): Reset the timer.
48103 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48104 pupa_currticks.
48105 * util/misc.c: Include <sys/times.h>
48106 (pupa_get_rtc): New function.
48107
c4adbd32 481082003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48109
48110 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48111 as blocks.
48112 (pupa_ext2_get_file_block): Use blocks member.
48113
48114 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48115 first block. Return -1 instead of pupa_errno on error.
48116
bfd30f06 481172003-10-27 Marco Gerards <metgerards@student.han.nl>
48118
48119 * README: In the pupa-mkimage example use _chain instead of chain
48120 and ext2 instead of fat.
48121 * TODO: Replace ext2fs with jfs as an example. Add an item for
48122 adding journal playback for ext2fs.
48123 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48124 (pkgdata_MODULES): Added ext2.mod.
48125 (ext2_mod_SOURCES): New variable.
48126 (ext2_mod_CFLAGS): Likewise.
48127 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48128 * include/pupa/misc.h (pupa_strncpy): New prototype.
48129 (pupa_strcat): Likewise.
48130 (pupa_strncmp): Likewise.
48131 * kern/misc.c (pupa_strcat): Enable function.
48132 (pupa_strncpy): New function.
48133 (pupa_strncmp): Likewise.
48134 * fs/ext2.c: New file.
f19dbdb7 48135
bfd30f06 48136 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48137 when the read failed before retrying.
48138 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48139 (_FILE_OFFSET_BITS): Likewise.
48140 * configure.ac: Added AC_SYS_LARGEFILE.
48141
98d15063 481422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48143
48144 * genmk.rb (PModule#rule): Make sure to get only symbol names
48145 from the output of nm.
59cad637 48146 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48147
18d9c7cd 481482003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48149
48150 I forgot to check in these changes for a long time. This adds
48151 incomplete support for VGA console, and this is still very
48152 buggy. Also, a lot of consideration is required for I18N,
48153 UNICODE, and VGA font issues. Therefore, assume that this is
48154 such that "better than nothing".
f19dbdb7 48155
18d9c7cd 48156 * font/manager.c: New file.
48157 * include/pupa/font.h: Likewise.
48158 * include/pupa/i386/pc/vga.h: Likewise.
48159 * term/i386/pc/vga.c: Likewise.
48160 * util/unifont2pff.rb: Likewise.
48161
48162 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48163 (pkgdata_MODULES): Added vga.mod and font.mod.
48164 (vga_mod_SOURCES): New variables.
48165 (vga_mod_CFLAGS): Likewise.
48166 (font_mod_SOURCES): Likewise.
48167 (font_mod_CFLAGS): Likewise.
48168
48169 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48170
48171 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48172 (struct pupa_term): Added init and fini.
18d9c7cd 48173 Changed the argument of putchar to pupa_uint32_t.
48174
48175 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48176 (pupa_console_real_putchar): New prototype.
48177 (pupa_console_putchar): Removed.
48178 (pupa_console_checkkey): Exported.
48179 (pupa_console_getkey): Likewise.
48180
48181 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48182 characters.
48183
48184 * kern/term.c (pupa_term_set_current): Rewritten.
48185 (pupa_putchar): Likewise.
48186 (pupa_putcode): New function.
48187
48188 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48189 (pupa_console_real_putchar): ... this.
48190 (pupa_vga_set_mode): New function.
48191 (pupa_vga_get_font): Likewise.
48192
48193 * normal/command.c: Include pupa/term.h.
48194 (terminal_command): New function.
48195 (pupa_command_init): Register the command "terminal".
48196
48197 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48198 (DISP_UP): Likewise.
48199 (DISP_RIGHT): Likewise.
48200 (DISP_DOWN): Likewise.
48201 (DISP_HLINE): Likewise.
48202 (DISP_VLINE): Likewise.
48203 (DISP_UL): Likewise.
48204 (DISP_UR): Likewise.
48205 (DISP_LL): Likewise.
48206 (DISP_LR): Likewise.
48207
48208 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 48209
977329f5 482102003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48211
48212 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48213 FIX. Reverse the path_list.
48214
48215 * include/pupa/normal.h: Export pupa_register_command and
48216 pupa_unregister_command.
48217
48218 * hello/hello.c (pupa_cmd_hello): New module.
48219 * conf/i386-pc.rmk: Added hello.mod.
48220
1f5ab428 482212003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48222
48223 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48224
1f5ab428 48225 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48226 (compress_kernel): New variable.
48227 (generate_image): Heavily modified to support compressing a
48228 large part of the core image.
48229
48230 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48231 leak.
48232 (pupa_util_load_image): New function.
48233
48234 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48235 (pupa_compressed_size): New variable.
48236 (codestart): Enable Gate A20 here.
48237 Decompress the compressed part of the core image.
48238 Rearrange the code to put functions and variables which are
48239 required for initialization in the non-compressed part.
48240 Include lzo1x.S.
48241
48242 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48243 here.
48244
48245 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48246
f19dbdb7 48247 * include/pupa/i386/pc/kernel.h
1f5ab428 48248 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48249 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48250 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48251 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48252 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48253
48254 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48255
48256 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48257 (Utility#rule): Likewise.
48258
48259 * configure.ac: Check if LZO is available.
48260
ce5bf700 482612003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48262
48263 * include/pupa/normal.h: New file.
48264 * include/pupa/setjmp.h: Likewise.
48265 * include/pupa/i386/setjmp.h: Likewise.
48266 * normal/cmdline.c: Likewise.
48267 * normal/command.c: Likewise.
48268 * normal/main.c: Likewise.
48269 * normal/menu.c: Likewise.
48270 * normal/i386/setjmp.S: Likewise.
f19dbdb7 48271
ce5bf700 48272 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48273 (pupa_rescue_cmd_initrd): Likewise.
48274
48275 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48276 Likewise.
48277
48278 * kern/i386/pc/startup.S (translation_table): New variable.
48279 (translate_keycode): New function.
48280 (pupa_console_getkey): Call translate_keycode.
48281
48282 * kern/rescue.c (attempt_normal_mode): New function.
48283 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48284 it failed, print a message.
48285
48286 * kern/mm.c (pupa_real_malloc): Print more information when a
48287 free magic is broken.
48288 (pupa_free): If the first free header is not free actually, set
48289 it to P.
48290
48291 * kern/main.c (pupa_load_normal_mode): Just load the module
48292 "normal".
48293 (pupa_main): Don't print the message
48294 "Entering into rescue mode..." here.
48295
48296 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
48297 Declared.
48298 (pupa_rescue_cmd_initrd): Likewise.
48299 (pupa_rescue_cmd_initrd): Likewise.
48300
48301 * include/pupa/symbol.h (FUNCTION): Specify the type.
48302 (VARIABLE): Likewise.
48303
48304 * include/pupa/err.h (pupa_err_t): Added
48305 PUPA_ERR_UNKNOWN_COMMAND.
48306
48307 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
48308 (pupa_dl_get_prefix): Likewise.
48309
48310 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
48311 Added _chain.mod and _linux.mod instead of chain.mod and
48312 linux.mod.
48313 (chain_mod_SOURCES): Renamed to ...
48314 (_chain_mod_SOURCES): ... this.
48315 (chain_mod_CFLAGS): Renamed to ...
48316 (_chain_mod_CFLAGS): ... this.
48317 (linux_mod_SOURCES): Renamed to ...
48318 (_linux_mod_SOURCES): ... this.
48319 (linux_mod_CFLAGS): Renamed to ...
48320 (_linux_mod_CFLAGS): ... this.
48321 (normal_mod_SOURCES): New variable.
48322 (normal_mod_CFLAGS): Likewise.
48323 (normal_mod_ASFLAGS): Likewise.
48324
483252003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
48326
48327 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
48328 possible.
48329
fe6b695a 48330 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 48331 recursively.
48332 (pupa_dl_unref): Unrefer depending modules recursively.
48333 Don't call pupa_dl_unload implicitly, because PUPA can crash if
48334 a module is unloaded before one depending on that module is
48335 unloaded.
48336 (pupa_dl_unload): Unload depending modules explicitly,
48337 if possible.
48338
c04da074 483392003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
48340
48341 * include/pupa/i386/pc/linux.h: New file.
48342 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 48343
c04da074 48344 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
48345 Removed.
48346 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
48347 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
48348 of PUPA_CHAINLOADER_BOOT_SECTOR.
48349
48350 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
48351 (pupa_linux_prot_size): New variable.
48352 (pupa_linux_tmp_addr): Likewise.
48353 (pupa_linux_real_addr): Likewise.
48354 (pupa_linux_boot_zimage): New function.
48355 (pupa_linux_boot_bzimage): Likewise.
48356
48357 * kern/i386/pc/init.c (struct mem_region): New structure.
48358 (MAX_REGIONS): New macro.
48359 (mem_regions): New variable.
48360 (num_regions): Likewise.
48361 (pupa_os_area_addr): Likewise.
48362 (pupa_os_area_size): Likewise.
48363 (pupa_lower_mem): Likewise.
48364 (pupa_upper_mem): Likewise.
48365 (add_mem_region): New function.
48366 (compact_mem_regions): Likewise.
48367 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
48368 the size of the conventional memory and that of so-called upper
48369 memory (before the first memory hole).
48370 Instead of adding each found region to free memory, use
48371 add_mem_region and add them after removing overlaps.
48372 Also, add only 1/4 of the upper memory to free memory. The rest
48373 is used for loading OS images. Maybe this is ad hoc, but this
48374 makes it much easier to relocate OS images when booting.
48375
48376 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
48377 (pupa_enter_rescue_mode): Don't register initrd and module.
48378
48379 * kern/mm.c: Include pupa/dl.h.
48380
48381 * kern/main.c: Include pupa/file.h and pupa/device.h.
48382
48383 * kern/loader.c (pupa_loader_load_module_func): Removed.
48384 (pupa_loader_load_module): Likewise.
48385
48386 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
48387 ``.o''.
48388
48389 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
48390 (pupa_linux_tmp_addr): Likewise.
48391 (pupa_linux_real_addr): Likewise.
48392 (pupa_linux_boot_zimage): Likewise.
48393 (pupa_linux_boot_bzimage): Likewise.
48394
48395 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
48396 (pupa_upper_mem): Likewise.
48397 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
48398 module is too dangerous.
48399
48400 * include/pupa/loader.h (pupa_os_area_addr): Declared.
48401 (pupa_os_area_size): Likewise.
48402 (pupa_loader_set): Remove the first argument. Loader doesn't
48403 manage modules or initrd any longer.
48404 (pupa_loader_load_module): Removed.
48405
48406 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
48407 (linux_mod_SOURCES): New variable.
48408 (linux_mod_CFLAGS): Likewise.
48409
a13f9237 484102003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
48411
48412 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
48413 the length of a blocklist correctly.
48414
48415 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
48416 Use ioctl only if the OS file is a block device.
48417 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
48418 not very useful for normal files.
48419
48420 * kern/main.c (pupa_set_root_dev): New function.
48421 (pupa_load_normal_mode): Likewise.
48422 (pupa_main): Call those above.
48423
48424 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
48425 pupa_uint16_t.
48426
48427 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
48428
a5ffe966 484292003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
48432 (setup): Configure the installed partition information and the
48433 dl prefix.
48434
48435 * loader/i386/pc/chainloader.c (my_mod): New variable.
48436 (pupa_chainloader_unload): New function.
48437 (pupa_rescue_cmd_chainloader): Refer itself.
48438 (PUPA_MOD_INIT): Save its own module in MY_MOD.
48439
48440 * kern/i386/pc/startup.S (install_partition): Removed.
48441 (version_string): Likewise.
48442 (config_file): Likewise.
48443 (pupa_install_dos_part): New variable.
48444 (pupa_install_bsd_part): Likewise.
48445 (pupa_prefix): Likewise.
48446 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
48447
48448 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
48449 and pupa/misc.h.
48450 (make_install_device): New function.
48451 (pupa_machine_init): Set the dl prefix.
48452
48453 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
48454 (buf): Renamed to ...
48455 (linebuf): ... this.
48456 (pupa_rescue_cmd_prefix): New function.
48457 (pupa_rescue_cmd_insmod): Likewise.
48458 (pupa_rescue_cmd_rmmod): Likewise.
48459 (pupa_rescue_cmd_lsmod): Likewise.
48460 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48461 rmmod and lsmod.
48462
48463 * kern/mm.c (pupa_memalign): If failed even after invalidating
48464 disk caches, unload unneeded modules and retry.
48465
48466 * kern/misc.c (pupa_memmove): New function.
48467 (pupa_memcpy): Removed.
48468 (pupa_strcpy): New function.
48469 (pupa_itoa): Made static.
48470
48471 * kern/dl.c (pupa_dl_iterate): New function.
48472 (pupa_dl_ref): Likewise.
48473 (pupa_dl_unref): Likewise.
48474 (pupa_dl_unload): Return if succeeded or not.
48475 (pupa_dl_unload_unneeded): New function.
48476 (pupa_dl_unload_all): Likewise.
48477 (pupa_dl_init): Renamed to ...
48478 (pupa_dl_set_prefix): ... this.
48479 (pupa_dl_get_prefix): New function.
48480
48481 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48482 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48483 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48484 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48485 (pupa_install_dos_part): Declared.
48486 (pupa_install_bsd_part): Likewise.
48487 (pupa_prefix): Likewise.
48488 (pupa_boot_drive): Likewise.
48489
48490 * include/pupa/types.h: Fix a typo.
48491
48492 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48493 pupa_memmove.
48494 (pupa_memmove): Declared.
48495 (pupa_strcpy): Likewise.
48496
48497 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48498 pupa_mod_init takes one argument, its own module.
48499 (pupa_dl_unload_unneeded): Declared.
48500 (pupa_dl_unload_all): Likewise.
48501 (pupa_dl_ref): Likewise.
48502 (pupa_dl_unref): Likewise.
48503 (pupa_dl_iterate): Likewise.
48504 (pupa_dl_init): Renamed to ...
48505 (pupa_dl_set_prefix): ... this.
48506 (pupa_dl_get_prefix): Declared.
48507
48508 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 48509 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 48510 unloaded.
48511 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48512 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48513
48514 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48515 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48516
012d7999 485172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48518
48519 * util/i386/pc/pupa-setup.c (setup): Define the internal
48520 function find_first_partition_start at the top level, because GCC
48521 3.0.x cannot compile internal functions in deeper scopes
48522 correctly.
48523 (find_root_device): Use lstat instead of stat.
48524 Don't follow symbolic links.
48525 Fix the path-constructing code.
48526
48527 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48528 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48529 by a BLKGETSIZE ioctl first, because block devices don't fill
48530 the member st_mode of the structure stat on Linux.
48531 [__linux__] (linux_find_partition): Use a temporary buffer
48532 REAL_DEV for the working space. Copy it to DEV before returning.
48533 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48534 buffer cache consistent.
48535 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48536 strncmp. The previous value was merely wrong.
48537 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48538
48539 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48540 FAT size is 12. The previous value was merely wrong.
48541
48542 * kern/main.c (pupa_main): Don't split the starting message from
48543 newlines.
48544
48545 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48546 LF, because BIOS goes crazy about character attributes in this
48547 case.
48548
1cc73a62 485492003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48550
48551 * include/i386/pc/util/biosdisk.h: New file.
48552 * util/i386/pc/biosdisk.c: Likewise.
48553 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 48554
1cc73a62 48555 * Makefile.in (INCLUDE_DISTFILES): Added
48556 include/pupa/i386/pc/util/biosdisk.h.
48557 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48558 directory util/i386/pc.
48559 (install-local): Added a rule for sbin_UTILITIES.
48560 (uninstall): Likewise.
48561
48562 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48563
48564 * util/misc.c (xrealloc): New function.
48565 (pupa_malloc): Likewise.
48566 (pupa_free): Likewise.
48567 (pupa_realloc): Likewise.
48568 (pupa_stop): Likewise.
48569 (pupa_putchar): Likewise.
48570
48571 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48572
48573 * include/pupa/util/misc.h (xrealloc): Declared.
48574
48575 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48576 macro.
48577 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48578 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48579
48580 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48581 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48582
48583 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48584 way should be implemented.
48585 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48586
48587 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48588 the size of NAME for safety.
48589 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48590 0x88.
48591
48592 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48593 (pupa_setup_SOURCES): Likewise.
48594
48595 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48596
08b70fe8 485972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48598
48599 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48600 bunch of pushl's from pusha, because this destroys the return
48601 value.
48602
62ddcc8f 486032002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48604
48605 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48606 This means that any missing prototypes could be fatal. Also, you
48607 must take care when writing assembly code. See the comments at
48608 the beginning of startup.S, for more details.
f19dbdb7 48609
62ddcc8f 48610 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48611 compilation mechanism.
48612 (pupa_chainloader_real_boot): Likewise.
48613 (pupa_biosdisk_rw_int13_extensions): Likewise.
48614 (pupa_biosdisk_rw_standard): Likewise.
48615 (pupa_biosdisk_check_int13_extensions): Likewise.
48616 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48617 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48618 (pupa_get_memsize): Likewise.
48619 (pupa_get_mmap_entry): Likewise.
48620 (pupa_console_putchar): Likewise.
48621 (pupa_console_setcursor): Likewise.
48622 (pupa_getrtsecs): Use pushl instead of push.
48623
48624 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48625 memory instead of the stack for a mmap entry, because some
48626 BIOSes may ignore the maximum size and overflow.
48627
48628 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48629
48630 * genmk.rb (PModule#rule): Compile automatically generated
48631 sources with module-specific CFLAGS as well as other sources.
48632
9962ed99 486332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48634
48635 * configure.ac: Check ld.
48636 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48637 respectively, before checking endianness and sizes.
48638
48639 * Makefile.in (LD): New variable.
f19dbdb7 48640
abdfc3c5 486412002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48642
48643 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48644
6a161fa9 486452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48646
48647 * Changelog: New file.
48648